Herbers Excel-Forum - das Archiv
Datenaustausch mit Access

|
Betrifft: Datenaustausch mit Access
von: Carsten
Geschrieben am: 12.10.2003 21:55:17
Hallo an alle im Forum,
ich hatte Hans am 7.10 eine Mail geschrieben, leider keine Antwort erhalten.
Vielleicht kann noch jemand anderes helfen, der ebenfalls die Tutorials hat.
Hier der Inhalt der Mail:
..
Ich bin in Deinem Tutorial auf den Beitrag "November 2002 Office Datenaustausch mit Access" gestoßen.
Das funktioniert auch alles wunderbar. Wenn ich eine Datenbank mit dem Makro erstelle (Ich also unter Initialize eine nicht existente Datei mit Tabelle eintrage und dann auf Schreiben klicke), kann ich diese nur mit Access 2002 öffnen. Bei 97 kommt die Meldung "Nicht erkennbares Datenbankformat" (Fehler 3343)
Wie kann ich die Datenbank so erstellen, das ich diese auch mit 97 öffnen kann?...
Wäre echt super, wenn jemand helfen könnte.
Danke an euch!
Gruß,
Carsten
Betrifft: AW: Datenaustausch mit Access
von: Ramses
Geschrieben am: 13.10.2003 07:42:31
Hallo
das geht leider nicht.
Die Datenbankformate von Access97 und 2000 / 2002 sind nicht kompatibel.
Du kannst zwar unter A97 eine erstellen, die kann von den höheren Versionen gelesen werden, aber sobald diese Datenbank in einer höheren Version gespeichert wird, kann diese von den älteren Versionen nicht mehr gelesen werden.
Sorry,... aber das ist MS :-(
Gruss Rainer
Betrifft: AW: Datenaustausch mit Access
von: Michael Scheffler
Geschrieben am: 13.10.2003 08:48:38
Hallo Rainer,
das ist nicht die Frage von Carsten gewesen.
Function CreateTheDataBase(strAcFile As String)
On Error GoTo ErrHandler
' remove old outputfile
If Dir(strAcFile) <> "" Then
Kill strAcFile
End If
' Create a new database in 3.5 format (Access 97) with password
Set oCat = CreateObject("ADOX.Catalog")
oCat.Create "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & strAcFile & ";" & _
"Jet OLEDB:Engine Type=4;" & _
"Jet OLEDB:Database Password=" & strPassword
' create a new connection
Set cnn = CreateObject("adodb.Connection")
' Open the connection with password
With cnn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Properties("Jet OLEDB:Database Password") = strPassword
' open database file
.Open strAcFile
End With
Exit Function
ErrHandler:
MsgBox "Error: " & Err.Description & " " & Err.Number
End Function
Betrifft: AW: Datenaustausch mit Access
von: Ramses
Geschrieben am: 13.10.2003 08:53:44
Hallo Michael
Da ich nicht weiss mit welcher Engine er die Datenbank erzeugt kann ich auch nicht näher drauf eingehen.
Tatsache ist aber auch, zumindest glaube ich das aus eigener Erfahrung, wenn ich mit der 4.0 Engine eine DB erzeuge kann sie unter A97 nicht gelesen werden, da diese nur die 3.5 beinhaltet. Wenn er updatet kann er sich zwar ansprechen, aber nicht öffnen.
Die Datenbankstruktur von A2000/XP kann meines Wissens nach unter A97 nicht gelesen werden.
Gruss Rainer
Betrifft: AW: Datenaustausch mit Access
von: Carsten
Geschrieben am: 13.10.2003 11:43:50
Hallo Rainer, hallo Michael!
Vielen Dank euch beiden für Eure Hilfe. Werde mal schauen wie ich Eure Tipps verwenden kann.
Gruß,
Carsten
Betrifft: AW: Datenaustausch mit Access
von: Carsten
Geschrieben am: 13.10.2003 12:01:36
Hallo,
nochmal danke euch beiden. Klappt wunderbar!
Wenn es interessiert:
Im Visual Basic Editor unter "basExport" in der "Sub dbWriteData()" einfach statt "Set dbFile = CreateDataBase(sFile, dbLangGeneral, dbEncrypt)" das dbEncrypt durch "dbVersion30" ersetzen!
Carsten
Betrifft: Merci für's Feedback und die Info. o.T.
von: Ramses
Geschrieben am: 13.10.2003 16:23:41
...