Hallo,
ich möchte für meine Arbeitsstelle ein Makro erstellen (wahrscheinlich in Word) mit denen ich über eine UserForm auf eine Textdatei zugreifen möchte.
In dieser Textdatei befindet sich eine „Tabelle“, welche immer weiter gefüllt wird; vorn eine fortlaufende Nummer. Die Tabelle beinhaltet zwei Bereiche: den „Eingang“ und die „Erledigung“.
Die Tabelle wird wie folgt gehandhabt: Habe ich einen „Eingang“ soll er mir eine neue (fortlaufende) Nummer anzeigen, ich gebe das Datum ein (meist „heute“), noch einen Wert und - speichern und fertig. Später möchte ich diese (fortlaufende) Nummer erneut aufrufen können (er zeigt mir den „Eingang“ von dieser Nummer dann an) und jetzt speichere ich dazu die „Erledigung“. In einigen Fällen kann ich „Eingang“ und „Erledigung“ auch gleich im selben Arbeitsschritt eingeben.
Die Tabelle beinhaltet also mit der Zeit hunderte von Zeilen, wo in einigen nur der vordere Bereich (Eingang) ausgefüllt ist und in immer mehr Zeilen wird dann später der hintere Bereich (Erledigung) dazu ausgefüllt.
Nun habe ich folgendes Problem:
-
Soweit ich mich erinnere kann ich in einer Txt-Datei nur alles komplett neu schreiben (und nicht sagen: „ergänze zu Zeile 100 jetzt die Erledigung“). Ist dies richtig oder kann man das doch tun mit dem „Ergänzen einer halben Zeile“?
-
Auf die Text-Datei sollen mehrere Mitarbeiter zugreifen können (bis 5 oder 6). Nun ist das Problem eine „richtige“ fortlaufende Nummer zu generieren, da ja alle auf diese Datei zugreifen können. Ich kann ja nicht einfach sagen "nimm die letzte fortlaufende Nummer, ergänze um 1 und das ist jetzt „deine“ Nummer. Es könnte ja sein dass auch ein anderer inzwischen auch auf die Datei zugreifen möchte und das Programm diesem Mitarbeiter ebenso diese Nummer reservieren möchte.
Von daher habe ich schon überlegt die neue Nummer (im Gegensatz zu meinem theoretischen Beispiel oben) erst zu generieren wenn der Datensatz auch tatsächlich gespeichert wird. Aber auch hier könnte es sein dass zufällig zwei oder mehr Mitarbeiter im selben Moment die Daten speichern möchten. Kann man das irgendwie verhindern? Bin mir nicht sicher ob man das rausbekommt ob gerade ein Schreibzugriff auf die Datei erfolgt. Dann könnte man sagen: „wenn Schreibzugriff, dann warte mal ne Sekunde und versuche es erneut“ oder so? Oder über ne Ini-Datei wo alle Mitarbeiter gelistet sind welche zZ mit dem Programm arbeiten und sobald einer speichert erscheint dort ne „2“ und sobald der Speicherzugriff beendet ist wechselt er wieder zu „1“ (und darüber könnte man das dann auslesen)? Ist das eine (gute) Idee oder denke ich zu kompliert *g*?
LG Tobi@s