Avatar billede jamola Nybegynder
27. juli 2004 - 22:35 Der er 12 kommentarer og
1 løsning

Hvordan opretter jeg en connection ved hjælp af DAO

Er der nogen, som har kodeeksempler på oprettelse af connection til database ved hjælp af DAO?
Avatar billede hubs Nybegynder
28. juli 2004 - 07:22 #1
Her er et lille ex. du kan kigge på, si' endelige til hvis du har brug for mere c",)

Dim rsTable As DAO.Recordset
Dim strSQL As String

strSQL = "Select * From [TabelName]"  '-> SQL String
Set rsTable = CurrentDb.OpenRecordset(strSQL) '-> Open Database Recordset based on SQL string
Avatar billede jamola Nybegynder
28. juli 2004 - 09:06 #2
Jeg får ikke dette til at virke. Mangler der ikke en sti til den fysiske placering af databasen?

Her er koden jeg har brugt:
Private Sub CmdNyVareliste_Click()

Dim rsTable As DAO.Recordset
Dim strSQL As String

strSQL = "Select * From tblVare"  '-> SQL String
Set rsTable = CurrentDb.OpenRecordset(strSQL) '-> Open Database Recordset based on SQL string

End Function
Avatar billede hubs Nybegynder
28. juli 2004 - 09:27 #3
Mit kode ex. forudsætter at den pågældende DB allerede er åben/aktiv. Det er derfor jeg bruger "CurrentDB", men hva skal du bruge koden til, altså hvordan skal du bruges?

P.s. Du skal lige ha' en "End Sub" i stedet for "End Function"
Avatar billede hubs Nybegynder
28. juli 2004 - 09:33 #4
Har du for resten husket at lave en Reference til DAO objektet?

Hvis du ønsker at åbne en anden DB end den du befinder dig i, kan du evt. bruge følgende:

Set rsTable = DBEngine.Workspaces(0).OpenDatabase("DataBaseNavn.mdb")
Avatar billede hubs Nybegynder
28. juli 2004 - 09:35 #5
Forresten hvilken version Access har du?
Avatar billede jamola Nybegynder
28. juli 2004 - 10:21 #6
Jeg har Office XP.
Jeg ved ikke hvordan man laver en reference til DAO objektet, men jeg har været inde i 'Data Sources (ODBC)' og oprettet forbindelse der.
Avatar billede hubs Nybegynder
28. juli 2004 - 10:40 #7
Det er inde i selve VB, der går du ind under Tools -> References der skal du så lige finde "Microsoft DAO 3.6 Object Library" og sætte et flueben i den
Avatar billede hubs Nybegynder
28. juli 2004 - 11:02 #8
Kan du få skidtet til at virke? c",)
Avatar billede jamola Nybegynder
28. juli 2004 - 13:08 #9
References fandt jeg her: Projekt -> References
Det virker ikke!
Fejlmeddelelse:
Run-time error '424':
Object required
Avatar billede hubs Nybegynder
02. august 2004 - 07:05 #10
Hej igen,

ked af at jeg ikke har fået svaret igen, tog lige en forlænget weekend i sommerhus c",)

Kan du se hvor fejlen opstår? og hvad foretager du dig, eller hvad vil du gerne foretage dig efter du har oprettet en DAO forbindelse?

Hvis du har mulighed for at sende DB'en til mig, kan jeg godt lige titte den igennem, og se om jeg ikke kan få skidtet til at virke c",)

Har du evt. prøvet med en ADO forbindelse? - se evt. ex. nedenfor som godt nok bruges til at åbne et Excel-recodset... Husk igen at lave en reference til "Microsoft ActiveX Data Objects..."

    Dim rsData As ADODB.Recordset
    Set rsData = New ADODB.Recordset
   
    strVAR = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
            "Data Source=C:\Excel\ImportTemplate.xls;" & _
            "Extended Properties=Excel 8.0;"                    ' Connection String
    strSQL = "SELECT * FROM [Sheet1$A1:AO" & AnalysesNO + 1 & "]"  ' SQL String
   
    rsData.Open strSQL, strVAR, adOpenForwardOnly, adLockReadOnly, adCmdText ' Open Excel Recordset
   
    If rsData.EOF And rsData.BOF Then GoTo Exit_Import_Excel_Click
    rsData.MoveFirst                    ' Set Pointer at Start of Recordset
Avatar billede jamola Nybegynder
02. august 2004 - 12:01 #11
Hej. jeg prøver igen først senere i aften, så jeg vil formentligt melde tilbage om det virker en gang i morgen :-)
Avatar billede kredefrapuls Nybegynder
03. august 2004 - 09:16 #12
brug ado den er bedere....

dim RS as New ADODB.Recordset
dim CON as New ADODB.Conection
dim sql as string

CON.Conectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;DataSource= & app.path & "Database.mdb;"
con.opencon

sql = "Select * from Tabelnavn"
rs.open sql, con, adopendynamic

text1.text = RS("ColonneNavn")
Avatar billede hubs Nybegynder
02. september 2004 - 10:56 #13
Hejsa, har du fået det til at virke? c",)
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
Kurser inden for grundlæggende programmering

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