Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Access 2016

Begonnen von wolfgang b, Februar 25, 2021, 18:25:13

⏪ vorheriges - nächstes ⏩

wolfgang b

Guten Abend,
ich möchte gern, mittels einer Befehlsschaltfläche, eine bestehende Datenbank aktivieren.
Wenn die Datenbank aber schon aktiviert ist (übersehen) soll eine MSGBOX kommen: Datenbank
ist schon aktiviert.

Hier der Pfad und der Datenbankname:
"C:\#_Verkauf\Übersicht_Schränke.accdb"

mfg wolfgang b

MzKlMu

Hallo,
was verstehts Du unter aktivieren ?
Wenn eine Datenbank geöffnet ist, ist sie auch aktiviert.

Gruß Klaus

wolfgang b

Guten Abend Klaus,
ja, ich meinte natürlich, wenn die Datenbank geöffnet ist.
Wenn man vergessen sollte das die Datenbank schon geöffnet ist,
dann sollte beim 2x ein Hinweis erscheinen, Datenbank ist schon
geöffnet.

Mit freundlichen Grüßen
Wolfgang b

MzKlMu

#3
Hallo,
man kann doch aber eine Datenbank nicht 2x öffnen.
Und die Prüfung müsste ja auch in der Datenbank erfolgen.

Eine solche Prüfung müsste ja außerhalb von der Accessanwendung erfolgen.
Wo ist denn die Schaltfläche die Du verwenden willst ?

Bitte beschreibe das Vorhaben mal genauer.
Gruß Klaus

wolfgang b

Guten Abend Klaus,
die Befehlsschaltfläche befindet sich auf Formular ,,Vertrieb".

Gruß
Wolfgang b

MzKlMu

Hallo,
und in welcher DB ?
Wenn die in der DB ist die geprüft werden soll, macht das doch keinen Sinn, wenn die Fläche zu sehen ist, ist die DB geöffnet.
Daher nochmal die Bitte das Vorhaben genauer zu erklären.
Gruß Klaus

wolfgang b

Guten Morgen Klaus,
die aktuelle Datenbank heißt auch "Vertrieb".
Wenn ich die Datenbank "Übersicht_Schränke.accb" per Button öffne,
soll nur geprüft werden ob diese schon geöffnet ist ? Oder sie wird
geöffnet:  ("C:\#_Verkauf\Übersicht_Schränke.accdb")

mfg wolfgang b

MzKlMu

Hallo,
dann versuche das so:
If Dir("C:\#_Verkauf\Übersicht_Schränke.laccdb") <> "" Then
   Msgbox "Ist bereits geöffnet" 'Die MsgBox kann entfallen.
Else
  ' Datenbank öffnen
End If

Wenn eine Datenbank geöffnet wird, wird eine laccdb angelegt, im gleichen Verzeichnis wie die DB und das kannst du nutzen.
Gruß Klaus

wolfgang b

Guten Morgen Klaus,
es funktioniert aber wie kann ich die Datenbank öffnen ?
' Datenbank öffnen ?
Muss man die Datei laccdb so umbenennen ? Nur so klappt es !

Sub test()
If Dir("C:\#_Verkauf\Übersicht_Schränke.[b]laccdb[i][/i][/b]") <> "" Then
   MsgBox "Ist bereits geöffnet" 'Die MsgBox kann entfallen.
Else
  ' Datenbank öffnen
End If
End Sub

mfg wolfgang




wolfgang b

Guten Tag Klaus,
so klappt es einwandfrei, danke !
Hatte mal ein wenig Gegoogelt.
Das perfekte wäre jetzt, wenn die Datenbank schon geöffnet ist,
sollte dies jetzt aktiviert werden, bzw. direkt auf die Oberfläche.

Sub test()
    Dim appAccess As Access.Application
    Dim strDB As String
Const strConPathToSamples = "C:\#_Verkauf\Übersicht_Schränke.accdb"
      strDB = strConPathToSamples & "Übersicht_Schränke.accdb"

If Dir("C:\#_Verkauf\Übersicht_Schränke.laccdb") <> "" Then
   MsgBox "Ist bereits geöffnet"                'Die MsgBox kann entfallen.
Else
  ' Datenbank öffnen
        MsgBox "Datenbank wird geöffnet"
   Set appAccess = New Access.Application       'hiermit wird geöffnet
End If
End Sub


mfg wolfgang

wolfgang b

Guten Tag Klaus,
vorgestern, war alles i.o. .
Wieso wird die Datenbank nicht geladen ?

Sub Test_Click()
    Dim appAccess As Access.Application
    Dim strDB As String
Const strConPathToSamples = "C:\#_Verkauf\Übersicht_Schränke.accdb"
      strDB = strConPathToSamples & "Übersicht_Schränke.accdb"

If Dir("C:\#_Verkauf\Übersicht_Schränke.laccdb") <> "" Then

   MsgBox "Ist bereits geöffnet"
Else
        MsgBox "Datenbank wird geöffnet"
   Set appAccess = New Access.Application       'hiermit wird geöffnet ?
End If

End Sub

Was ist Falsch ?

Gruß wolfgang

Maxel

ZitatConst strConPathToSamples = "C:\#_Verkauf\Übersicht_Schränke.accdb"
      strDB = strConPathToSamples & "Übersicht_Schränke.accdb"

Das ergibt
strDB = "C:\#_Verkauf\Übersicht_Schränke.accdbÜbersicht_Schränke.accdb"
Merkst Du was?
Viele Grüße
Maxel

wolfgang b

Hallo Maxel,
habe gelöscht, wird trotzdem nicht geöffnet !

Sub Test_Click()

    Dim appAccess As Access.Application
    Dim strDB As String
Const strConPathToSamples = "C:\#_Verkauf\Übersicht_Schränke.accdb"
      strDB = strConPathToSamples

If Dir("C:\#_Verkauf\Übersicht_Schränke.laccdb") <> "" Then
   MsgBox "Ist bereits geöffnet"
Else
        MsgBox "Datenbank wird geöffnet"
   Set appAccess = New Access.Application       'hiermit wird geöffnet ?
End If
End Sub

gruß wolfgang

Maxel

Wie öffne ich eine Acess-Datei?

Hast Du diese Frage mal im Web recherchiert, bevor Du es hier im Forum getan hast?

Wenn nein - warum nicht?

ZitatSet appAccess = New Access.Application       'hiermit wird geöffnet ?
würde Dir als untauglich auffallen.

Ich habe mal
access vba datenbank öffnen
in meine Suchmaschine eingetippt und als ersten Treffer dies erhalten:

https://docs.microsoft.com/de-de/office/vba/api/access.application.opencurrentdatabase











Viele Grüße
Maxel

wolfgang b

Hallo Maxel,
DANKE für den Tip !
Funktioniert, allerdings kommt beim öffnen
Laufzeitfehler 7867
Die Datenbank ist bereits geöffnet.

Sub Test_Click()

    Dim appAccess As Access.Application
    Dim strDB As String
Const strConPathToSamples = "C:\#_Verkauf\Übersicht_Schränke.accdb"
      strDB = strConPathToSamples
If Dir("C:\#_Verkauf\Übersicht_Schränke.laccdb") <> "" Then
   MsgBox "Ist bereits geöffnet"
Else
        MsgBox "Datenbank wird geöffnet"
   Set appAccess = _
        CreateObject("Access.Application")
        appAccess.OpenCurrentDatabase strDB
  ' Set appAccess = New Access.Application          'hiermit wird geöffnet ?
End If
End Sub

mfg wolfgang b