Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Access 2016

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

⏪ vorheriges - nächstes ⏩

wolfgang b

Hallo Maxel,
Nachtrag:
bleibt hier im Makro stehen, gelb hinterlegt:
 appAccess.OpenCurrentDatabase strDB

mfg
wolfgang

wolfgang b

Hallo Maxel,
habe dies gelöscht:
 appAccess.OpenCurrentDatabase strDB

kommt kein Fehler mehr !!!
Auch wenn ich die geöffnete Datenbank offen lasse, keine Probleme !!!

mfg
wolfgang

wolfgang b

Hallo Maxel,
recht herzlichen Dank für die Unterstützung !

Eine kleine Nachfrage:
Kann man die neu geöffnete Datenbank beim wiederholten Starten des
Makros, dann kommt ja:
MsgBox "Ist bereits geöffnet"
dann auf der Oberfläche platzieren also wie beim 1. Öffnen ?

Würde mich freuen, wenn dies klappt !

mfg wolfgang b

wolfgang b

Hallo zusammen,

ich habe eine 2. Datenbank  C:\#_Verkauf\Übersicht_Tische.accdb",
es kommt aber immer die zuletzt geöffnete Datenbank.

WIESO ?

mfg wolfgang

( Verkauf\Übersicht_Schränke.accdb" )

MzKlMu

#19
Hallo,
ich kann Dir da mangels Erfahrung mit solchen Funktionen nicht helfen. Es es wird schon noch einer vorbeikommen.
Gruß Klaus

wolfgang b

Hallo Klaus,
danke für deine Info.
Hoffentlich kann jemand anders helfen, würde mich freuen !!!

Mit freundlichen Grüßen
Wolfgang b

Beaker s.a.

Hallo Wolfgang,
Wenn ich dieses so lese
ZitatC:\#_Verkauf\Übersicht_Schränke.accdb
C:\#_Verkauf\Übersicht_Tische.accdb
kommen doch erhebliche Zweifel am Datenmodell auf.
Eine Übersicht zu Umsätzen von Artikelgruppen bekommt man
doch durch ziemlich einfache Abfragen auf die Bewegungstabelle(n).
Ausserdem ist es eh schlecht, wenn man berechnete Werte in Tabellen
speichert. Der Aufwand diese aktuelle zu halten ist dabei doch viel
zu gross.

Worin liegt denn bei dir der Sinn der externen DBs?

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

wolfgang b

Hallo ekkehard,
danke erst mal das Du das Thema aufnimmst.

Mit diesem Makro möchte ich die Datenbank "Schränke" öffnen.
Es wird die gleich Datenbank geöffnet, wie die die schon offen ist
und von der ich das Makro starte:

Sub Test_Schränke_Click()

    Dim appAccess As Access.Application
    Dim strDB As String
   Const strConPathToSamples = "C:\#_Verkauf\"

 strDB = strConPathToSamples & "Übersicht_Schränke.accdb"
 
 'If Dir("C:\#_Verkauf\Übersicht_Schränke.laccdb") <> "" Then
 ' MsgBox "Ist bereits geöffnet"
'Else
 Stop
        MsgBox "Übersicht SCHRÄNKE    Datenbank wird geöffnet"
  Set appAccess = CreateObject("Access.Application")
 ' Open database in Microsoft Access window.
 
' Set appAccess = New Access.Application
  appAccess.OpenCurrentDatabase strDB   

End Sub


mfg wolfgang

wolfgang b

Hallo ekkehard,
NACHTRAG !
Habe gerade eine neue ACCESS Datenbank erstellt und entsprechend
nach Schränke benannt.
Leider kein Erfolg,
Laufzeitfehler 7866
Die Datenbank kann von Microsoft nicht geöffnet werden, da sie nicht existiert, ein
anderer Benutzer sie bereits im Exklusivmodus geöffnet hat, oder da es sich nicht um eine
ADP-Datei handelt.


Exklusivmodus= Nein und ist auch vorher nicht geöffnet.

Hinweis:
Wenn ich die Datei über den Dateiexplorer öffne und anschließend über VBA Makro
wird die "_Übersicht_Schränke.accdb" geladen.
Es kommt aber dann Fehlermeldung:
Laufzeitfehler 7867   Die Datenbank ist bereits geöffnet.

Sub Test_Schränke_Click()
    Dim appAccess As Access.Application
    Dim strDB As String
   Const strConPathToSamples = "C:\#_Verkauf\"
 strDB = strConPathToSamples & "Übersicht_Schränke.accdb"
 
 'If Dir("C:\#_Verkauf\Übersicht_Schränke.laccdb") <> "" Then
 ' MsgBox "Ist bereits geöffnet"
      MsgBox "Übersicht SCHRÄNKE    Datenbank wird geöffnet"
  Set appAccess = CreateObject("Access.Application")
' Set appAccess = New Access.Application
 [i] appAccess.OpenCurrentDatabase strDB[b][/b][/i]    '< bleibt hier stehen
End Sub


mfg
wolfgang b


Beaker s.a.

Sorry, - am Thema meiner Frage vorbei. Da bin ich raus.
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

DF6GL

Hallo,

auch mir kommen da schwerwiegende Zweifel am Datenmodell, aber sei's drum...


Auf eine externe DB kann man auch auf diese Art zugreifen, ohne sie erst öffnen zu müssen:


.
.
.
Dim rs As Dao.Recordset
Set rs = Currentdb.OpenRecordset ("Select * From tblTabelle in '' [MS Access;database=C:\MeinVerzeichnis\MeineAndereDB.accdb]", dbOpenSnapshot)
.
.

wolfgang b

Hallo Ekkehard,
sorry habe direkt geantwortet auf mein Problem hin.
C:\#_Verkauf\Übersicht_Schränke.accdb
C:\#_Verkauf\Übersicht_Tische.accdb
Diese Dateien habe ich nur mit Musternamen versehen, so das man bei der Erstellung
des Makros dies berücksichtigen kann.

mfg
wolfgang b

wolfgang b

Hallo,
ich habe es so eingesetzt:
Sub Test_Schränke_Click()
Dim rs As Dao.Recordset
Set rs = CurrentDb.OpenRecordset("Select * From tblTabelle in '' [MS Access;database=C:\#_Verkauf\Übersicht_Schränke.accdb]", dbOpenSnapshot)
End Sub

Es kommt eine Fehlermeldung:
Laufzeitfehler 3024
Datei....
nicht gefunden !   Obwohl vorhanden !

mfg wolfgang b


DF6GL

Hallo,

wie kann man nur solche Sonderzeichen in Pfad-/Dateinamen verwenden:  C:\#_Verkauf\Übersicht_Schränke.accdb   ??

Zudem: gibt es denn "tblTabelle" in "Übersicht_Schränke.accdb" ??

wolfgang b

#29
Guten Abend Franz,
habe die Raute weggemacht und die Tabelle, die ich nicht habe.

Set rs = CurrentDb.OpenRecordset(" '' [MS Access;database=C:\1_Verkauf\Übersicht_Schränke.accdb]", dbOpenSnapshot)

Laufzeitfehler 3078
Das Microsoft Access-Datenbankmodulfindet die Eingabetabelle oder Abfrage...

mfg wolfgang