PDA

Vollständige Version anzeigen : DB mit OpenDatabase in Code blockiert DB


StehtimSchilf
20.01.2003, 11:46
Hallihallo,

Um die Leistung unserer DB zu steigern, habe ich im Form, welches via Autoexec - Makro aufgerufen wird folgenden Code im OpenForm ereignis:

set dbDaten = OpenDatabase(...., false)
set dbKunden = OpenDatabase(..., false)
set dbLieferanten = OpenDatabase(..., false)

end sub

dann beim Ereignis CloseForm:
dbDaten.close
set dbDaten = nothing
...
End Sub

Ziel: Ich will für die Dauer der "Sitzung" die BE-DBs durch die obigen Vars immer geöffnet halten! War so ein Tipp zur optimierung der Leistung!

Jetzt aber, wenn ich irgendetwas dieser DB verändern will, erscheint immer die Meldung, dass ich keinen Exklusivzugriff auf die DB habe, obwohl kein Knochen da ist!

Entferne ich die 'set db = ...' resp. alles was damit zusammen hängt, dann funtzt wieder alles!

Wieso habe ich keinen Exklusivzugriff, wenn ich diese Sets verwende? Ich will ja Zugriff auf dieses FE und nicht auf die DBs welche mit OpenDatabse geöffnet werden!

ps: die Variablen dbDaten, dbKunden, db... sind auf Klassenebene definiert, deshalb kann ich im CloseForm-Ereignis die DBs schliessen!

Jemand ne Idee?

ooops: A2000, Win2000

StehtimSchilf
20.01.2003, 18:29
Is wirklich ärgerlich, deshalb: on top

StehtimSchilf
21.01.2003, 12:02
on top

StehtimSchilf
28.01.2003, 13:54
Hallo Forum!

Also...

irgendwie stimmt da was nicht!

Dim dbs As DAO.Database

Set dbs = OpenDatabase("C:\TestDaten\Test.mdb")

...

'dbs.Close
Set dbs = Nothing

Wenn ich das ausführe, dann wird meine DB sofort gesperrt! Ich kann dann nix mehr ändern in meiner DB, erst wenn ich sie wieder chliesse und öffne! Was ist da falsch?