Hallo,
benutze schon seit längerem über autoit den zugriff auf access mdb's!
jetzt wurde die mdb mit Datenbankpasswort zum öffnen versenhen und ich war auf der suche nach einer lösung, um dies mit der access.au3 zu lösen, aber ohne erfolg, bis ich über google gefunden habe, wo man das passwort übergeben kann ...
[autoit]
$adoCon.Open ("Provider=Microsoft.Jet.OLEDB.4.0; Jet OLEDB:Database Password=12345678; Data Source=" & $_dbname)
hier mal eine kleines beispiel, welches eine spalte einer tabelle ausliest ..
Spoiler anzeigen
$s_dbname = @scriptdir & "\DB\test\test1_1.mdb"
$s_db_pwd = "12345678"
; table
$tbln_1 = "Adressenliste"
$fldn_1 = "Vorname" ;bla
$format = "Text(150)"
$query = "SELECT * FROM " & $tbln_1
$strData = _ReadOneFld($query, $s_dbname, $fldn_1) ; db auslesen
MsgBox(0,"",$strData)
Func _ReadOneFld($_sql, $_dbname, $_field)
Dim $_output
$adoCon = ObjCreate ("ADODB.Connection")
$adoCon.Open ("Provider=Microsoft.Jet.OLEDB.4.0; Jet OLEDB:Database Password=" & $s_db_pwd & "; Data Source=" & $_dbname)
$adoRs = ObjCreate ("ADODB.Recordset")
$adoRs.CursorType = 1
$adoRs.LockType = 3
$adoRs.Open ($_sql, $adoCon)
With $adoRs
If .RecordCount Then
While Not .EOF
$_output = $_output & .Fields ($_field).Value & @CRLF
.MoveNext
WEnd
EndIf
EndWith
$adoCon.Close
Return $_output
EndFunc ;==>_ReadOneFld
vielleicht benötigt es mal jemand ![]()
gruß gmmg