Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1112to1116
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Datei öffnen bei Multi-User-Zugriff

Datei öffnen bei Multi-User-Zugriff
Daniel
Hallo
ich möchte eine Anwendug schreiben, bei der mehrere Anwender in einem Netzwerk zeitgleich Daten eingeben, die dann in eine Zusammenfassugssdatei geschrieben werden.
dies soll nach etwa diesem Schema geschehen:
1. Anwender tippt Daten ein
2. Anwender drückt Speicherbutton, damit wird folgendes Makro gestartet:
- Zusammenfassungsdatei öffnen
- neue Daten an bestehende Datentabelle anhängen
- Zusammenfassungsdatei speichern und schliießen.
damit wäre sichergestellt, daß die Zusammenfassungsdatei jederzeit die eingegebenen Daten aller Anwender enthält.
Das funktioniert auch soweit auch ganz gut, aber wie sichere ich den Fall ab, wenn wirklich 2 Anwender zeitgleich auf die Zusammenfassungsdatei zugreifen wollen?
in diesem Fall müsste ja das Makro beim 2. solange mit dem Öffnen warten, bis der erste die Datei geschlossen und gespeichert hat.
Die Meldung "Datei wird momentan bearbeietet. wollen Sie sie schreibgeschützt öffen?" sollte natürlich auch nicht erscheinen, da der ganze Speichervorgang im Hintergrund laufen soll.
Das ist, etwas vereinfacht, mein bisheriges Makro:
Sub DatenSpeichern()
dim WB as Workbook
'--- hier Warteschleife, bis Datei zum Schreiben geöffnet werden kann, wie geht das ?
set WB = GetObject("F:\Pfad\Zusammenfassung.xls")
thisworkbook.Sheets(1).Rows(1).Copy WB.Sheets(1).Cells(rows.count,1).end(xlup).offset(1,0)
WB.Save
WB.Close
Thisworkbook.Sheets(1).Rows(1).ClearContents
End Sub
Wie baue ich jetzt eine Warteschleife ein, die mit GETOBJECT solange wartet, bis die Datei zum Schreiben geöffnet werden kann (oder sollte ich lieber Workbook.Open verwenden ?)
Ich weiß, die Wahrscheinlichkeit ist klein, das 2 Anwender wirklich gleichzeitig auf die Datei zugreifen, da sie ja immer nur sehr kurz geöffnet ist, aber falls doch möchte ich vermeiden, daß das Makro die zwischenfrage stellet oder gar abbricht.
Gruß, Daniel
ps zur Info :
das ganze soll ein Kassensystem für eine Skibörse werden, in dem die Verkaufsdaten eigegeben werden.
zur Spitzenzeit sind 3-4 Rechner parallel im Einsatz und wegen dem Andrang (hoffentlich) darf das Makro keine Zicken machen.
Eine Programmierung in Access wird daran scheitern, daß ich davon keine Anhnung habe.

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Datei öffnen bei Multi-User-Zugriff
06.11.2009 03:02:52
fcs
Hallo Daniel,
ich würde an deiner Stelle nicht jede einzelne Buchung von den Einzelrechnern in die Zusammenfassung übertragen, sondern die Buchungen auf den 4 Rechnern in einem 2. ausgeblendeten Blatt sammeln und per OnTime dann alle 1 bis 5 Minuten die noch nicht zentral erfassten Buchungen in die Zusammenfassung übertragen. So hast du auf jedem Rechner ein Daten-Back-Up und es ist sehr unwahrscheinlich, dass die 4 Rechner dabei dann auf die gleiche Sekunde getaktet werden. Das Ontime muss du dann über die Workbook-Open und -Close-Ereignisprozeduren Starten und beenden.
Gruß
Franz
Anzeige
AW: Datei öffnen bei Multi-User-Zugriff
08.11.2009 20:15:49
Daniel
Hi
danke für den Ansatz, wobei ich das zeitlich gesteuerte öffnen für nicht so gut .
in zwischen ist mir die Idee gekommen, daß ich die Datei ja auch einfach öffnen kann mit deaktivierten DisplayAlerts und dann prüfe, ob die Datei nen Schreibschutz hat oder nicht.
falls ja, müsste die Datei geschlossen und nochmal geöffnet werden.
Gruß, Daniel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige