1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| Option Explicit
'variables pour manipulation de la base de données
'dans l'editeur VB Projet --> References :
'Microsoft ActiveX Data Objects 2.0 Library, msado20.dll
'ou une autre version, Microsoft ActiveX Data Objects 2.8 Library,msado15.dll
Dim CheminDataBase As New ADODB.Connection
Dim adodc1 As New ADODB.Recordset
Dim CheminNomDelabase As String
Dim Msg$
Dim ReponSe%
Private Sub Form_Load()
'construction du chemin de la BD ****** adapter *******
CheminNomDelabase = Replace(Environ("ProgramFiles"), "ProgramFiles=", "") & "\MenuShell\ParamMenuShell.mdb"
' verification de l'integritée de l'instalation
On Error Resume Next: CheminDataBase.Close: If Err.Number <> 0 Then On Error GoTo 0 Else On Error GoTo 0
CheminDataBase.CursorLocation = adUseClient: CheminDataBase.Mode = adModeReadWrite
On Error Resume Next
'ouverture de la BD
CheminDataBase.Open "PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source= " & CheminNomDelabase & ";"
If Err.Number <> 0 Then
On Error GoTo 0
Msg$ = "Impossible d'ouvrir la base de données source," & vbCrLf
Msg$ = Msg$ & "Vous ne pouvez pas / plus utiliser ce programme."
ReponSe% = MsgBox(Msg$, vbCritical, " ---- ProgElecT ----")
Exit Sub
End If
'----------------------------------------------------------------------------------------
'ouverture d'une table de la BD ****** adapter *******
adodc1.Source = "select * from ParamMenu Where NumEnreg <> 0" & _
" order by NumEnreg"
adodc1.Open , CheminDataBase, adOpenStatic, adLockPessimistic
With adodc1
If Not .EOF Then
Msg$ = "Nbr d'enregistrement : " & .RecordCount
Else
Msg$ = "Pas ouvert"
End If
End With
adodc1.Close: DoEvents: CheminDataBase.Close
Me.Caption = Msg$
End Sub
Private Sub Form_Unload(Cancel As Integer)
'pour s'assurer de la fermeture du RocordSet et de la BD
On Error Resume Next: adodc1.Close: If Err.Number <> 0 Then On Error GoTo 0 Else On Error GoTo 0
On Error Resume Next: CheminDataBase.Close: If Err.Number <> 0 Then On Error GoTo 0 Else On Error GoTo 0
End Sub |