Access-MDB im Netzwerk / Multi-User-Betrieb? DAO oder ADODB?

04/10/2009 - 23:49 von Chuck Vance | Report spam
Hallo ng,

Ich schreibe z.Zt. eine reine Access-Anwendung (also unter
Nutzung der Formulare, etc.) - kein Zugriff auf DB von "außen".
Es sollen mehrere Benutzer auf die Access.mdb, die im Netzwerk
liegt, zugreifen.

Sollte man in Bezug auf Mutil-User-Zugriff etwas beachten? (also in VBA)
z.B. nutze ich immer DAO - also z.B. DAO.Recordset. Wenn Lesen ausreicht,
dann natürlich mit dbReadOnly. Sollte ich z.B. lieber
OpenRecordset("SELECT * from table",dbOpenDynaset)
nutzen anstatt OpenRecordset("table",dbOpenTable) ?

Oder sollte ich generell lieber ADO benutzen?
(also innerhalb! Access per VBA?)

Wenn ich über .NET zugreife, nehme ich sicherlich das fortschrittliche
ADO. Allerdings sollte DAO doch wohl 100% ausreichen bei Access ... oder?!
(ausserdem hat man mehr Möglichkeiten bei DAO)

Danke im Voraus
mfG
 

Lesen sie die antworten

#1 Peter Doering
05/10/2009 - 00:22 | Warnen spam
Hallo,

Chuck Vance wrote:

Ich schreibe z.Zt. eine reine Access-Anwendung (also unter
Nutzung der Formulare, etc.) - kein Zugriff auf DB von "außen".
Es sollen mehrere Benutzer auf die Access.mdb, die im Netzwerk
liegt, zugreifen.

Sollte man in Bezug auf Mutil-User-Zugriff etwas beachten? (also in VBA)
z.B. nutze ich immer DAO - also z.B. DAO.Recordset. Wenn Lesen ausreicht,
dann natürlich mit dbReadOnly.



Die wichtigsten Informationen im Mehrbenutzerbetrieb sind unter
www.donkarl.com?FAQ1.35 zusammengefasst.

Sollte ich z.B. lieber
OpenRecordset("SELECT * from table",dbOpenDynaset)
nutzen anstatt OpenRecordset("table",dbOpenTable) ?



dbOpenTable funktioniert nur fuer lokale Tabellen, scheidet also fuer dein
Vorhaben aus. dbOpenDynaset koennte man dbOpenSnapshot gegenueberstellen.
Die Frage ist, ob das Recordset fuer die Dauer der Prozedur gleich bleiben
*muss* (dbOpenSnapshot) oder evtl. Aktualisierungen durch andere User zur
Laufzeit reflektiert werden sollen (dbOpenDynaset). dbOpenDynaset ist
schneller, beide Varianten ignorieren waehrend der Laufzeit hinzugefuegte
DS.

Oder sollte ich generell lieber ADO benutzen?
(also innerhalb! Access per VBA?)



Nein. ADO war nur von A2000 bis A2002 die empfohlene Zugriffsmethode.
Vorher und wieder seit A2003 ist DAO "in". ADO wird nicht mehr
weiterentwickelt.

Wenn ich über .NET zugreife, nehme ich sicherlich das fortschrittliche
ADO.



Verwechsle ADO nicht mit ADO.net. Bis auf Namensaehnlichkeit haben beide
nichts(?) miteinander zu tun.

Allerdings sollte DAO doch wohl 100% ausreichen bei Access ... oder?!
(ausserdem hat man mehr Möglichkeiten bei DAO)



Genau.

Gruss - Peter

Mitglied im http://www.dbdev.org
FAQ: http://www.donkarl.com

Ähnliche fragen