| Tables |
| 1.33 Connettersi con ADO ad un database protetto da MDW |
| Alessandro Baraldi |
|
Nella sub che segue è mostrato come sia possibile connetersi con ADO ad un database protetto dalla sicurezza a livello utente. Può essere usato solamente con versioni di Access successie ad Access 97. Public Sub OpenAdoMdw( )
On Error GoTo ErrHandler
Dim Cn As New ADODB.Connection
Dim rsw As New ADODB.Recordset
Dim sDbName As String
Dim sWkGrpFile As String
Dim sSQLStmt As String
Dim sRecords As String
Dim idx As Long
'---------------------------------------
' Init.
'---------------------------------------
sDbName = "C:\Data\MyData.MDB"
sWkGrpFile = "C:\Data\Secure.MDW"
sSQLStmt = "SELECT * " & _
"FROM tblEmps " & _
"ORDER BY EmpID;"
sRecords = vbNullString
Cn.Provider = "Microsoft.Jet.OLEDB.4.0;"
Cn.Properties("Jet OLEDB:System database") = sWkGrpFile
Cn.Properties("User Id") = "TheBoss"
Cn.Properties("Password") = "EZ2Remember"
Cn.Open "Data Source=" & sDbName & ";"
rsw.Open sSQLStmt, Cn, adOpenForwardOnly, adLockReadOnly
'----------------------------------------------------------
' Save values from every field of every record.
'----------------------------------------------------------
Do While Not rsw.EOF
For idx = 0 To (rsw.Fields.Count - 1)
sRecords = sRecords & rsw.Fields(idx).Value & "| "
Next idx
sRecords = sRecords & vbCrLf
rsw.MoveNext
Loop
'----------------------------------------------------------
' Display all values from RecordSet on Form.
'----------------------------------------------------------
Me!txtEmpRecords.Value = sRecords
CleanUp:
If rsw.state = adStateOpen Then rsw.Close: Set rsw = Nothing
If Cn.state = adStateOpen Then Cn.Close: Set Cn = Nothing
Exit Sub
ErrHandler:
MsgBox "Error in OpenAdoMdw( ) in" & vbCrLf & _
Me.Name & " form." & vbCrLf & vbCrLf & "Error #" & _
Err.Number & vbCrLf & Err.Description
Err.Clear
GoTo CleanUp
End Sub
|