"Thorsten Tarrach" <tho_p...@nym.alias.net> wrote in message
news:eYiXOYmBCHA.1588@tkmsftngp02...
Wenn Du mit der eingebauten Funktion meinst, dass Du die Passwort
Sternchen an der Oberfläche angezeigt bekommst, so ist das keine
Verschlüsselung, sondern lediglich eine Maske für die Eingabe von
Passworten.
In der MDB bleibt das Passwort unverschlüsselt als String abgespeichert
und kann bei Direktzugriff auf die Tabelle auch ausgelesen werden.
Access kann nicht verschlüsseln, es sei denn, Du bringst es ihm mit VBA
Code bei.
Gruss
Henry
--
Keine E-Mails auf Postings in NGs senden!
Don't send e-mails to postings in newsgroups!
KB: http://support.microsoft.com/default.aspx
FAQ: http://www.donkarl.com/FAQ/FAQStart.htm
MVP: http://mvp.support.microsoft.com
"Thorsten Tarrach" <tho_p...@nym.alias.net> wrote in message
news:OjYUb1mBCHA.2024@tkmsftngp04...
Ja, indem er einfach die Eigenschaften der Verknüpften Tabelle anschaut.
Dort steht das dann im Klartext drin :-(
Gruss
Henry
Wenn du dein Programm als MDE, mit Benutzerverwaltung, sowie mit korrekten
Starteinstellungen und auch mit AllowBypassKey gesetzt hast kommt ein
"Normaler" Benutzer kaum an die Eigenschaften der eingebundenen Tabellen
heran.
Zudem kannst du auf der Datenbank (SQL, Oracle etc.) einen separaten
Benutzer mit Passwort anlegen welcher nur die Daten lesen und bearbeiten
darf, jedoch die Objekte nicht verändern kann. So nutzt das Passwort nicht
besonders viel wenn es doch einer herausbekommt.
Gruss Markus
"Thorsten Tarrach" <tho_p...@nym.alias.net> schrieb im Newsbeitrag
news:OjYUb1mBCHA.2024@tkmsftngp04...
Bei SQL-Server verknüpften Tabellen ist es bei mir oft vorgekommen, das wenn
eine Änderung an der Tabelle durchgeführt wurde
(Änderung Felddatentyp, Gültigkeitsregel auf Tabellenebene, Änderung eines
Feldnamen usw.)
die Verknüpfung nicht mehr funktioniert hat.
Ich binde deshalb beim Start der Anwendung die Tabellen jeweils neu ein. Das
dauert bei wenigen Tabellen auch nucr wenige Sekunden.
Bietet aber die Sicherheit, das die Verknüpfungen auch funktionieren
Das Anlegen der DSN kann man auch via VBA durchführen:
(Wenn der Zugriff auf die Module verweigert wird kann man das Kennwort hier
auch nicht auslesen.)
Sub RegisterDatabaseX()
'***************************************************************************
*****'
'Prozedur : RegisterDatabaseX
'
'Aufgrufen von : Hauptmenü beim Laden
'
'Aufgabe : Trägt Verbindungsinformationen für eine
ODBC-Datenquelle '
' in die Windows-Registrierung ein.
'
' Der ODBC-Treiber benötigt Verbindungsinformationen,
wenn '
' die ODBC-Datenquelle in einer Sitzung geöffnet wird.
'
'Parameter : kein
'
'Hinweise : keine
'
'Aufruf Funktionen : keine
'
'Returnwert : kein
'
'---------------------------------------------------------------------------
-----'
' Entwicklungsübersicht
'
'Datum Verfasser Typ beschreibender Text
'
'------ --------- --- -------------------
'
'05.12.2000 Norbert Laas E Ersterstellung
'
****************************************************************************
****'
Dim dbsRegister As Database
Dim strAttributes As String
Dim errLoop As Error
' Schlüsselwörterzeichenfolgen erstellen.
'strDescription = InputBox("Beschreibung eingeben für " & _
' "die zu registrierende Datenbank.")
strAttributes = "Database=" & conSQLDatabaseName & _
vbCr & "Description=" & conSQLDescription & _
vbCr & "Server=" & conSQLServerName & _
vbCr & "NETWORK=DBMSSOCN"
'vbCr & "Driver=c:\winnt\system32\sqlsvr32.dll" '& _
' Windows-Registrierung aktualisieren.
'MsgBox (strAttributes)
On Error GoTo Err_Register
DBEngine.RegisterDatabase conDSNName, "SQL Server", _
True, strAttributes
On Error GoTo 0
Exit Sub
Err_Register:
' Benutzer benachrichtigen, wenn Fehler durch
' unzulässige Daten auftreten.
If DBEngine.Errors.count > 0 Then
For Each errLoop In DBEngine.Errors
MsgBox "Fehlernummer: " & errLoop.Number & _
vbCr & errLoop.Description
Next errLoop
End If
Resume Next
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Ob der Zugriff auf den SQL-Server funktioniert, kann man ebenfalls
abfragen, bevor man mit dem Start fortfährt:
Dim ConnectString As String
Dim DB1 As Database
Dim qry As QueryDef
Dim rst As Recordset
Dim sql As String
Dim pstrERRORTitel
Set DB1 = DBEngine(0)(0)
Set qry = DB1.CreateQueryDef("")
With qry
.Connect = "ODBC;DATABASE=" & conSQLDatabaseName & _
";UID=" & conSQLUID & _
";PWD=" & conSqlDbPWD & _
";DSN=" & conDSNName
Debug.Print .Connect
.sql = "Select * From " & conBekannterTabName
Set rst = .OpenRecordset()
End With
rst.Close
subVerlassen:
Set rst = Nothing
Set qry = Nothing
Set DB1 = Nothing
Exit Function
Fehlerbehandlung:
MsgBox "Fehler!@" & _
Err.Description & "@" & _
"ErrorNumber: " & Err.Number, 16, pstrERRORTitel
End Function
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
mfg
Norbert
"Henry Habermacher [MVP Access]" <he...@psp-online.com> schrieb im
Newsbeitrag news:ad0gp8$tlq38$1...@ID-30649.news.dfncis.de...