Om du deklarerar din connection som en global variabel kan du göra det, se http://www.pellesoft.nu/login/articles/vb/adovb.asp Iden verkar bra, men nu har jag försökt men misslyckats med kodandet.one connection
Bygger en databas i acccess och använder i övrigt Visual Basic 6.0
Hur kan man lösa connect så den bara behöver finnas på ett enda ställe i programmet och man använder denna från flera menyer (formulär) i det färdiga programmet?
Finns flera vägar -för och nackdelar?
Tack på förhand för alla tips.Sv: one connection
/JohanSv: one connection
Får bara [MsgBox "Fel vid anslutningen!"]
Standard.exe, och sätter bock för Microsoft AktiveX Data Object 2.0 Library
Addar en modul, skriver in :
Global Con As ADODB.Connection
Global RS As ADODB.Recordset
Public Enum dbDatabaseType
dbSQLServer = 1
dbAccess = 2
End Enum
Public Function StartConnection(Databasetype As dbDatabaseType) As Boolean
Select Case Databasetype
Case 1:
ConStr = "Provider=SQLOLEDB.1;Persist Security Info=False;" & _
"User ID=sa;Initial Catalog=Northwind;Data Source=LIL"
' LIL är en SQLServer där Northwind finns under Databaser (även testat med obefintliga Servernamn, ger samma svar)
Case Else:
ConStr = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=\\Firmaserver\Projekt\Axel\TestDatabas.mdb;" & _
"Persist Sequrity Info = False"
'Testdatabas finns på den adressen
End Select
On Local Error Resume Next
Set Con = CreateObject("adodb.connection")
Con.Open ConStr
If Err Then
StartConnection = False
Else
StartConnection = True
End If
End Function
Public Sub StopConnection()
Set RS = Nothing
Set Con = Nothing
End Sub
Skriver i Form för att testa:
Private Sub Form_Load()
If Not StartConnection(dbSQLServer) Then
StopConnection
MsgBox "Fel vid anslutningen!"
Unload Me
Else
MsgBox "Anslutning klar!"
End If
End Sub
Kan någon förklara vad jag gör för fel så är jag tacksam
för jag måste ha missat något väsentligt.
PS
(Om jag hade Option Explicit i Modulen så blev det protest på ConStr)
DS