Hallo Leute,
jetzt habe ich ein anderes Anliegen. Die Vergabe der RechnungsNr...
Fall:
Der Kunde gibt das Jahr ein. Durch den Button generiert er dann die RechnungsNr wie folgt, [Jahr - fortlaufende Nummer]:
Z.B. 2015-1
Das ding ist...das Hochzählen bleibt bei 2015-10 auf der Strecke und zählt nur noch 2015-10 weiter.
Das komische ist, ich hab es eigentlich letzte Woche behoben und es hat weiter mit 11 gezählt, jetzt fängt er wieder an zu spinnen und ich hab einfach keine Lösung mehr parat.
Dim strBedingung As String
Dim strNo As String, strDate As String
Dim strMax, intLenStr As Integer
Dim strAlignment As String
Dim strMsg As String
' Ermitteln des Stringes
strDate = Me!txtJahr
' Länge des Datumstrings
intLenStr = Len(strDate)
' Bedingung für den letzten Wert festlegen
strBedingung = "LEFT ([RechnungsNr]," & intLenStr & ")='" & strDate & "'"
' Letzen Wert suchen
strMax = DMax("[RechnungsNr]", "tblRechnungen", strBedingung)
If IsNull(strMax) Then
strNo = "1"
Else
strNo = Split(strMax, "-")(1)
' Zähler setzen
strNo = Format$(Val(strNo) + 1, "0")
End If
Me!txtRechnungsNr = strDate & "-" & strNo
Vielleicht hat jemand auch eine andere Lösung...?
Hallo,
ohne auf den weiteren Code einzugehen:
strMax = DMax("val(mid([RechnungsNr],6))", "tblRechnungen", strBedingung)
Hallo!
Vielen lieben Dank!
Hab das jetzt so gelöst & es funktioniert :)
' Ermitteln des Stringes
strDate = Me!txtJahr
' Länge des Datumstrings
intLenStr = Len(strDate)
' Bedingung für den letzten Wert festlegen
strBedingung = "LEFT ([RechnungsNr]," & intLenStr & ")='" & strDate & "'"
' Letzen Wert suchen
strMax = DMax("val(mid([RechnungsNr],6))", "tblRechnungen", strBedingung)
If IsNull(strMax) Then
strNo = "1"
Else
strNo = strMax
' Zähler setzen
strNo = Format$(Val(strNo) + 1, "0")
End If
Me!txtRechnungsNr = strDate & "-" & strNo
Hallo,
die Rechnungsnummer ergibt sich ja eindeutig aus dem Jahr und der LfdNr. Daher würde es genügen nur die Zahl (als Zahl!) zu speichern und nur diese jahresabhängig hochzuzählen.
Die Rechnungsnummer wird dann in einer Abfrage aus Jahr und der formatierten Zahl zusammengesetzt.
Der komplette obige Code wird dann überflüssig, weil man das Hochzählen über den Standardwert direkt erledigen kann.