Problém vyriešený cez CHATGPT
Function FormatDatumInput(dateString As String) As String
If Len(dateString) = 8 Then
Dim day As Integer
Dim month As Integer
Dim year As Integer
day = Val(Mid(dateString, 1, 2))
month = Val(Mid(dateString, 3, 2))
year = Val(Mid(dateString, 5, 4))
' Príklad konverzie dátumu v tvare DDMMYYYY na DD.MM.YYYY
FormatDatumInput = Format(DateSerial(year, month, day), "dd.mm.yyyy")
ElseIf Len(dateString) = 6 Then
day = Val(Mid(dateString, 1, 2))
month = Val(Mid(dateString, 3, 2))
year = Val(Mid(dateString, 5, 2))
' Príklad konverzie dátumu v tvare DDMMYY na DD.MM.YYYY
FormatDatumInput = Format(DateSerial(year, month, day), "dd.mm.yyyy")
Else
FormatDatumInput = Format(dateString, "dd.mm.yyyy")
End If
End Function
Zdravim,
V userforme mám zopár textboxov v ktorých často zadávam dátumy. Aby to bolo rýchlejšie zadávam iba čísla (napr. 010123 alebo 01012023 a používam tento kód na zformatovanie.
Private Sub txtDatumOd_AfterUpdate()
On Error GoTo format
If Len(txtDatumOd) = 6 Then
txtDatumOd.Text = format(CDate(format$(txtDatumOd.Text, "##-##-##")), "dd.mm.yyyy")
ElseIf Len(txtDatumOd) = 8 Then
txtDatumOd.Text = format(CDate(format$(txtDatumOd.Text, "##-##-####")), "dd.mm.yyyy")
End If
format: txtDatumOd.Text = format(txtDatumOd.Text, "dd.mm.yyyy")
End Sub
Abyb som nemusel tento kód upravovať v každom textboxe rád by som z tohto kódu vytvoril funkciu ktoru by som zavolal priamo z AfterUpdate jednotlivých textboxov.
Viete mi s tým prosím pomôcť?
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.