Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Datenbank über button öffnen





Frage

Hallo Leute! Kann mir jemand sagen, was an diesem Code falsch ist? [code] Public Sub btnÖffnen_Click() Dim dbo As Database Dim Path As String Path = CurDir$ & "\" Set dbo = DBEngine.Workspaces(0).OpenDatabase(Path & "Sicherung.mde") End Sub [/code] Danke the..dude

Antwort 1 von JohnnyLoser

Nichts!
Abgesehen davon, daß zwei "\" stehen würden, wenn CurDir$ das Root-Directory "c:\" zurückgibt.
Und natürlich dbo am Ende der Prozedur nicht mehr zur Verfügung steht.

Aber das weißt Du ja sicher selbst.

Wo ist Dein Problem?

Antwort 2 von the..dude

Hallo JohnnyLoser!

Danke für deine Bestätigung!

Das Problem ist, es wird nichts geöffnet!

Ich bekomme gar nichts, nicht einmal eine Fehlermeldung!

Ich hätte auch versucht den Befehl

DoCmd.RunCommand acCmdOpenDatabase

zu verwneden.

Aber in diesem Fall schreibt er:

Befehl steht Momentan nicht zur Verfügung!

Warum?

Hast du da vielleicht irgend eine Ahnung?

Danke
the..Dude

Antwort 3 von SJ

Hallo the..dude,

zu dem DoCmd kann ich leider nichts sagen, aber zu deiner ersten Frage.
Was soll den Passieren, wenn dein Code ausgeführt wird?


Set dbo = DBEngine.Workspaces(0).OpenDatabase(Path & "Sicherung.mde")

Hier wird die Datendank nicht im Datenbankfenster geöffnet, wenn du darauf wartest.
Die Datenbank wir im Hintergrund geöffnet und du kannst jetzt z.B. mit Rekordset Objekten Änderungen an den Daten vornehmen.


MFG
SJ



Antwort 4 von the..dude

Hallo


Ach so, na da kann ich dann lange warten!
Man lernt ja doch nie aus!

Weißt du eine Möglichkeit, wie man die Datenbank öffnen könnte?

Danke
the..dude

Antwort 5 von SJ

Hallo,

wo für willst du die Datendank öffnen?

MFG
SJ


Antwort 6 von Teddy

Genau ! Mach´s ordentlich und leg eine Endlosform an mit Datenquelle = Tabelle.

Gruß
Teddy

Antwort 7 von the...dude

Öffnen möcht ich sie, damit ich zu bereits gesicherten Daten zugriff habe!

In meiner Datenbank gibt es Rechnungen, Angebote, Lieferscheine und Bestellungen! Diese sollten mir auch nach der Sicherung noch zu Verfügung stehen!

Antwort 8 von SJ

Also sind in der ersten Datenbank deine aktuellen Daten?

Wie wird die Sicherungsdatenbank erstellt?
Also erstellst du nur eine Kopie von der Datenbank mit den aktuellen Daten oder werden die Daten an die jeweiligen Tabellen in der Sicherungsdatenbank angefügt?

Wenn du die Daten an die Sicherungsdatenbank anfügst, hilft es dir dann vielleicht, wenn du über DATEI/EXTERNE DATEN/TABELLEN VERKÜPFEN, die Tabellen die du brauchst, in deine Originaldatenbank verknüpfst?
Dann hast du von deiner aktuellen Datenbank zugriff auf die Daten, welche aber in deiner Sicherungsdatenbank liegen.

MFG
SJ

Antwort 9 von JohnnyLoser

Moin moin,

wenn Du die Daten einer anderen Datenbank darstellen willst, bleibt Dir neben dem Verknüpfen der Tabellen noch eine weitere Möglichkeit, welche besonders dann zu empfehlen ist, wenn die externen Datenbanken wechselnde Namen haben.

Du erstellst im Load-Ereignis Deines Formulars z.B. folgenden Code:

[CODE]Sub Form_Load()
Dim dbName As String
dbName = "c:\Pfad\DBName.mdb"
'alternativ eine Funktion aufrufen, die Dir den Datenbanknamen zurückgibt
'dbName = fncGetExtDb()
Me.RecordSource = "SELECT * FROM Tabelle IN '" & dbName & "' ORDER BY Feld"
End Sub[/CODE]

Alternativ kannst Du auch erst mal ein leeres Formular öffen, in dem im Formularkopf eine ComboBox alle externen Datenbanken zur Auswahl anbietet. Nach Aktualisierung der ComboBox weist Du den Recordsource zu.

Du siehst, es gibt nicht nur eine Möglichkeit, auf Daten externer Datenbanken zuzugreifen. Für welche Du Dich entscheidest liegt vor allem daran, wann Du was, wie mit welchen Daten machen willst.

Gruß

Johnny

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: