Avatar billede dragnor Juniormester
06. november 2008 - 10:51 Der er 4 kommentarer og
1 løsning

openconnection og workspace access 2007

Hej eksperter

På mit arbejde skal vi skifte fra access 2003 til 2007 og følgende kode virkede fint i 2003 men ikke i 2007:

Dim ws As Workspace
Dim DB As Connection
Dim rst As Recordset, rst2 As Recordset, rst3 As Recordset, rst4 As Recordset

Set ws = CreateWorkspace("FK", "", "", dbUseODBC)
Workspaces.Append ws
Set DB = ws.OpenConnection("FK", dbDriverNoPrompt, False, "ODBC;DSN=SCDRAPADM;UID=SASADMIN;PWD=abc123")
Set rst = DB.OpenRecordset("select max(jobnr) as max from ondemand_ondemand")
With rst
JOBNR = !Max + 1
.Close
End With
Job.Value = JOBNR


sqlJobSpec = "insert into OnDemand_OnDemand(jobnr,BNR,txt1,txt2,status,maxrc ,DT_0) values (" & JOBNR & ", '" & BNR.Value & _
"', '%inc ODPROG(" & OD_Prog & ");', '" & UCase(PORCALC.Value) & "' , 0, 0, SYSDATE)"

DB.Execute sqlJobSpec, dbExecDirect

Jeg kunne virkelig godt bruge hjælp til at få det til at virke i 2007, da vi har mange af disse funktioner :-(

Giver gerne flere end 200 point for hjælp til dette!
Avatar billede terry Ekspert
06. november 2008 - 11:31 #1
What is the problem you experience?
Avatar billede terry Ekspert
06. november 2008 - 12:05 #2
found this which may help

ODBCDirect workspaces are not supported in Microsoft Office Access 2007. Use ADO if you want to access external data sources without using the Microsoft Access database engine.

Taken from http://msdn.microsoft.com/en-us/library/bb220951.aspx
Avatar billede dragnor Juniormester
06. november 2008 - 13:09 #3
I found a solution:

Dim con As ADODB.Connection
Dim rst As ADODB.Recordset

Set con = New ADODB.Connection
con.Open "Your Connection STring Here"

Set rst = New ADODB.Recordset
rst.Open "select max(jobnr) as max from ondemand_ondemand", con

If Not (rst.EOF and rst.BOF) Then
  Con.Execute "nsert into OnDemand_OnDemand(jobnr,BNR,txt1,txt2,status,maxrc,DT_0) values (" & rst("Max") + 1 & ", '" & BNR.Value "', '%inc ODPROG(" & OD_Prog & ");', '" & UCase(PORCALC.Value) & "' , 0, 0, SYSDATE)"
End If

"Your Connection String" would be the fully formatted connection string to the Server. Check here for examples: www.connectionstrings.com
Avatar billede dragnor Juniormester
06. november 2008 - 13:11 #4
Thanx for the info, but i knew that i should use ADO but, i didn't knew how :-)
Avatar billede terry Ekspert
06. november 2008 - 13:44 #5
just saved yourself 200 points then :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester