Die Community zu .NET und Classic VB.
Menü

VB 5/6-Tipp 0434: ADO Access-DB mit Datenbankpasswort und Sicherheits-MDW öffnen

 von 

Beschreibung 

Ein sehr häufiges Problem, daß man zwar eine Accessdatenbank ansprechen und bearbeiten kann, aber wie bekomme ich die Datenbank sicher? Wie kann ich eine Accessdatenbank mit Datenbankpasswort und/oder Abeitsinformationsdatei öffnen.

Schwierigkeitsgrad:

Schwierigkeitsgrad 2

Verwendete API-Aufrufe:

keine

Download:

Download des Beispielprojektes [169,55 KB]

'Dieser Quellcode stammt von http://www.activevb.de
'und kann frei verwendet werden. Für eventuelle Schäden
'wird nicht gehaftet.

'Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum.
'Ansonsten viel Spaß und Erfolg mit diesem Source!

'------------- Anfang Projektdatei Project1.vbp -------------
' Es muss ein Verweis auf 'Microsoft ActiveX Data Objects 2.5 Library' gesetzt werden.
' Die Komponente 'Microsoft DataGrid Control 6.0 (OLEDB) (MSDATGRD.OCX)' wird benötigt.

'--------- Anfang Formular "Form1" alias Form1.frm  ---------
' Steuerelement: Schaltfläche "Command1"
' Steuerelement: DataGrid "DataGrid1"
' Steuerelement: Beschriftungsfeld "Label4"
' Menü-Projekt-Verweise-"Microsoft ActiveX Data Objekts 2.x Library" einbinden

Option Explicit

Dim Cn As ADODB.Connection  ' ADO-Connectionobjekt für Verbindung
Dim Rs As ADODB.Recordset   ' ADO-Recordset für Datenhandling

Private Sub Command1_Click()
    Call Unload(Me)
End Sub

Private Sub Form_Load()

Set Cn = New ADODB.Connection
With Cn
    .CursorLocation = adUseClient
    .Mode = adModeShareDenyNone
    ' Jet-Provider
    .Provider = "Microsoft.Jet.OLEDB.4.0"
    ' Pfad zur eigendlichen DB
    .Properties("Data Source") = App.Path & "\db1.mdb"
    ' Datenbankpasswort
    .Properties("Jet OLEDB:Database Password") = "test"
    ' Pfad zur System- und Securety-MDW
    .Properties("Jet OLEDB:System database") = App.Path & "\Secure.mdw"
    ' UserId für anzumeldenden User
    .Properties("User ID") = "testuser"
    ' Passwort des Users
    .Properties("Password") = "testpwd"
    .Open
End With

Set Rs = New ADODB.Recordset
With Rs
    .ActiveConnection = Cn
    .CursorLocation = adUseClient
    .CursorType = adOpenKeyset
    .LockType = adLockOptimistic
    .Source = "SELECT * FROM tbl_Test1"
    .Open
End With

' Das Recordset wird
Set Me.DataGrid1.DataSource = Rs

End Sub
'---------- Ende Formular "Form1" alias Form1.frm  ----------
'-------------- Ende Projektdatei Project1.vbp --------------

Tipp-Kompatibilität:

Windows/VB-VersionWin32sWin95Win98WinMEWinNT4Win2000WinXP
VB4
VB5
VB6

Hat dieser Tipp auf Ihrem Betriebsystem und mit Ihrer VB-Version funktioniert?

Ja, funktioniert!

Nein, funktioniert nicht bei mir!

VB-Version:

Windows-Version:

Ihre Meinung  

Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.

Archivierte Nutzerkommentare 

Klicken Sie diesen Text an, wenn Sie die 11 archivierten Kommentare ansehen möchten.
Diese stammen noch von der Zeit, als es noch keine direkte Forenunterstützung für Fragen und Kommentare zu einzelnen Artikeln gab.
Aus Gründen der Vollständigkeit können Sie sich die ausgeblendeten Kommentare zu diesem Artikel aber gerne weiterhin ansehen.

Kommentar von Fred Ritenberg am 24.01.2007 um 09:32

Wenn ich dies Programm in ein MDI Programm als Form einfüge, bekomme ich die Fehlermeldung "Benutzerdefinierter Typ nicht definiert" bei den Zeilen
Dim Cn As ADODB.Connection
Dim Rs As ADODB.Recordset
Was muß ich machen?

Kommentar von Andreas Mandik am 28.10.2005 um 12:00

Der Tip funktioniert sehr gut.
Allerdings habe ich das Problem, das ich zur Laufzeit die Kopie einer DB mit Passwortschutz erstelle und diese Kopie ohne Passwort oder mit einem geänderten Passwort (dem user bekanntes) verwenden möchte.
Also: Passwortänderung oder Pwd entfernen zur Laufzeit.
Ich verwende Access2000-Datenbanken.
Können Sie mir bitte einen Tip geben?

Danke,
Andreas Mandik

Kommentar von Asterix am 17.05.2005 um 12:20

Vielen Dank,

Die Seite ist echt Super und hat mir sehr geholfen.

Kommentar von Roland Escher am 10.03.2005 um 14:03

Den Tipp finde ich super, benötige jedoch auch die umgekehrte Funktion. D.h. ich möchte eine normale Datenbank mit vorgegebenen Werten sichern. Wird dann auch automaisch die*.mdw erstellt?
Wäre für Info dankbar.
Gruss Roland

P.S. Verwende auch Tipp 586 ADO Datenbanken komprimieren zur vollsten Zufriedenhat. Dank dem Team

Kommentar von Markus Feigl am 07.10.2003 um 16:04

Hi Leude,

der Beitrag ist echt klasse, Ihr habt mir sehr geholfen! Danke

mfg

Markus

Kommentar von Spahni Beat am 17.09.2003 um 13:09

Das wäre dankbar, wenn Sie mir helfen könnten.
Ich brauche nicht Passwort, sondern nur die Datei (*.mdb) in Access zu öffnen.
Unser Programm ist VB6 im Betriebssystem Windows 2000.
Für ihre Mühe danke ich ihnen bestens und erwart ihre baldige Antwort.
Freundliche Grüsse
Beat Spahni

Kommentar von Imil Ghannam am 02.04.2003 um 22:28

Sehr geehrte Damen und Herren,
Bei mir funktionierte dieser Tipp nicht, da ich die meldung bekamm,"Microsoft ActiveX Data Objects 2.x Library" ist nicht vorhanden"
P.S: Ich habe win98 SE, visual Studio 6.0 enterbrise edition,

Mit der Hoffnung dass Sie mir hierbei weiter hilfen koennen,

Vielen dank fuer ihre Hilfe

Ghannam Imil

Kommentar von GreySound am 06.02.2003 um 15:24

Gott sei Dank, dass es Eure Seite gibt!!!

Kommentar von Wolfgang Lintzen am 19.04.2002 um 16:25

Sehr geehrte Damen und Herren!
Hätte gerne mehr Information über die Handhabung und Verwendung der Microsoft Access Datenbank!
Arbeite gerade in der Berufsschule mit dieser Datenbank.Würde mich sehr freuen wenn sie mir weiterhelfen könnten!
Mit freundlichem
Gruß W.Lintzen

Kommentar von jonathan am 12.03.2002 um 09:39

Kann dieses tip: ADO Access-DB mit Datenbankpasswort und Sicherheits-MDW öffnen
eben nicht öffnen

Kommentar von Andree Toussaint am 06.03.2002 um 18:07

Sehr guter Tip.
Frage :
Wie ist es mit dem Steuerelement Data1 unter VB6.0 und Access 2000 mit Datenbankpasswort ?
bei connect:
Access 2000;pwd=test
bekomme ich die Fehlermeldung
"installiebares Isam nicht gefunden"
wenn die DB kein Passwort hat klappt es.
Können Sie mir helfen ?