ich brauche euere Hilfe.
Ich erstelle gerade eine Vorlage, in der eine fortlaufende Nummer vergeben werden soll, nicht beim Öffnen oder beim Speichern etc. sondern beim Drücken einer Schaltfläche.
Folgenden Skript habe ich, was die Txt-Datei ausliest, Nummer erhöht und speichert-
was ja auch sehr gut funktioniert:
Public Const Path = "C:\Nummer.txt"
Sub FortlaufendeNummer()
Dim ZählerDatei As Integer, TempNummer As String
Application.DisplayAlerts = False
ZählerDatei = FreeFile
Open Path For Binary Access Read Write Lock Read Write As #ZählerDatei
On Error GoTo 0
TempNummer = Space(LOF(ZählerDatei))
Get #ZählerDatei, , TempNummer
Seek #ZählerDatei, 1
Put #ZählerDatei, , CStr(Val(TempNummer + 1))
Close #ZählerDatei
Application.DisplayAlerts = True
MsgBox "Neue Nummer: " & CStr(Val(TempNummer + 1))
End Sub
Hier ist das Problem, dass es auf C-Laufwerk und bei einem User gut funktioniert. Ich habe das Formular mit der Txt-Datei im Netzlaufwerk stellen, doch hier ist mir aufgefallen, dass wenn mehrere User im selben Moment auf die Schaltfläche drücken, die selbe Nummer mehrmals vergeben wird, was ja nicht sein darf.
Kann man diesen Skript so umbauen, dass die Nummer nur einmal vergeben wird und das die doppelte Vergabe somit verhindert werden kann?
Würde mich auch auf andere Vorschläge / Ideen freuen...
Vielen Dank und LG
Urmila