Jag följde denna artikel om ansluta till en databas och laddade dessutom ner exemplet. Hej! Det är MsgBox raden i modulfilen som klagar. Om jag byter filnamnet så är det något annat så är det ett medelande att den inte hittar databasen. Jag skulle också förreslå Jet, men när jag tittar på din kod, så kan jag inte se några fel. Jag får det ändå inte att fungera. Får väll ta och formatera datorn och försöka från början att instalera VB 6.0. Tack för hjälpen. Kanske beror det på att jag lyckats uppgradera till någon konstig version. Har laddat ner en massa krafs från microsofts hemsida. Hej,Krånglande databas
http://www.pellesoft.nu/login/articles/vb/anslut_till_databas.asp
Jag får dock upp ett felmedelande som jag inte vet vad det betyder. (ansluter direkt till en .mdb fil.)
[Microsoft][ODBC Driver Manager] Drivrutinens SQLSetConnectAttr misslyckades.
Vad menas med det felmedelandet?
Tacksam om svar.
//DataknutteSv: Krånglande databas
Jag tittade just på den sidan, men kan inte hitta SQLSetConnectAttr någonstans.
Vad har du för databas?
Skicka med lite koder så kan du bli hjälpt.Sv: Krånglande databas
Det är detta komando som skapar felmedelandet som inte finns inan denna rad kkörs:
con.Open
Detta är Form1:
Private Sub Form_Load()
InitADO
End Sub
Detta är min Modulfil:
Global con As ADODB.Connection
Global rst As ADODB.Recordset
Public Sub InitADO()
Set con = New ADODB.Connection
Set rst = New ADODB.Recordset
' access utan dsn
ConnectionString = "DRIVER={Microsoft Access Driver (*.mdb)};" & _
"DBQ=c:\temp\data.mdb"
' öppnar anslutningen
On Local Error Resume Next
con.Open ConnectionString
If con.Errors.Count > 0 Then
MsgBox "anslutningen misslyckades!" & vbCrLf & con.Errors(0).Description
ClearADO
End
Else
MsgBox "du är ansluten till databasen"
End If
End Sub
Public Sub ClearADO()
Set rst = Nothing
Set con = Nothing
End SubSv: Krånglande databas
Hej
Så här ser min modul ut. (modDatabas)
<code>
Public Sub InitADO()
Set con = New ADODB.Connection
Set rst = New ADODB.Recordset
' Tar fram sökvägen till mappen som programmet är i.
dbPath = App.Path & "\db\whattodo.mdb"
ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & dbPath
On Local Error Resume Next
con.Open ConnectionString
If con.Errors.Count > 0 Then
MsgBox "anslutningen misslyckades!" & vbCrLf & _
con.Errors(0).Description
End If
End Sub
</code>
Sen i programmet så anropar jag modulen med:
<code>
modDatabas.InitADO
</code>
Du kan ju prova att använda JET istället för Access motorn och se om inte det hjälper.
/Anna-KarinSv: Krånglande databas
Får du fel när du har denna kod?
Eller är det när du skall använda dig av con i ett annat sammanhang?Sv: Krånglande databas
Sv: Krånglande databas
Denna kod gick igenom:
Option Compare Database
Option Explicit
Global con As ADODB.Connection
Global rst As ADODB.Recordset
Public Sub InitADO()
Set con = New ADODB.Connection
Set rst = New ADODB.Recordset
' access utan dsn
con.ConnectionString = "DRIVER={Microsoft Access Driver (*.mdb)};" & _
"DBQ=c:\temp\data.mdb"
' öppnar anslutningen
On Local Error Resume Next
If con.Errors.Count > 0 Then
MsgBox "anslutningen misslyckades!" & vbCrLf & con.Errors(0).Description
ClearADO
End
Else
MsgBox "du är ansluten till databasen"
End If
End Sub
Public Sub ClearADO()
Set rst = Nothing
Set con = Nothing
End Sub
Har ändrat lite i när det gäller connectionsträngen och sedan anropade jag modulen.procedur i formuläret
mvh
Nicholas