20.02.2017, 11:15
(Dieser Beitrag wurde zuletzt bearbeitet: 20.02.2017, 17:16 von Rabe.
Bearbeitungsgrund: Code-Tags und Standard-Fontgröße benutzt
)
Hallo,
ich habe ein Userform in dem Daten eingegeben werden. Vor dem Speichern möchte ich das eine größere Anzahl von TextBoxen, Listfeldern auf Ihre Inhalte überprüft werden.
Ich habe bereits vers. Varianten ausprobiert, leider werden nur bis zu vier Argumente geprüft und der Rest geht unter. Kann mir jemand helfen?
......InhalteCheck4, InhalteCheck5....
gleiche Problem, prüft einige Argumente, aber nicht alle und auch scheinbar wahllos.
Bin für jede Hilfe dankbar.
ich habe ein Userform in dem Daten eingegeben werden. Vor dem Speichern möchte ich das eine größere Anzahl von TextBoxen, Listfeldern auf Ihre Inhalte überprüft werden.
Ich habe bereits vers. Varianten ausprobiert, leider werden nur bis zu vier Argumente geprüft und der Rest geht unter. Kann mir jemand helfen?
Code:
Private Sub InhalteCheck1()
Dim MsgStr As String
Dim IstSel As Boolean
Dim Lauf As Long
MsgStr = "" ' Für die Ausgabe der Hinweise
IstSel = False ' Ist schon ein Eingabefeld selectiert??
Lauf = 0 ' Anzahl der "Fehler"
If EdtDatum.Value = "" Then ' Abfrage der einzelnen Felder
Lauf = Lauf + 1 ' Zählen der "Fehler"
MsgStr = MsgStr & CStr(Lauf) & ". Bitte Datum vorm Speichern eingeben" & vbCrLf ' MsgStr aufbauen
If Not IstSel Then ' Fokus setzen
IstSel = True
EdtDatum.SetFocus
End If
End If
If lstOrgaeinheit.Value = "" Then ' Nächstes Feld
Lauf = Lauf + 1
MsgStr = MsgStr & CStr(Lauf) & ". Bitte Organisationseinheit auswählen" & vbCrLf
If Not IstSel Then
IstSel = True
lstOrgaeinheit.SetFocus
End If
End If
If lstFahrzeug.Value = "" Then
Lauf = Lauf + 1
MsgStr = MsgStr & CStr(Lauf) & ". Bitte Fahrzeug auswählen" & vbCrLf
If Not IstSel Then
IstSel = True
lstFahrzeug.SetFocus
End If
End If
' [....] noch weitere Argumente im Format siehe oben
If IstSel Then
MsgBox "Es wurden noch " & CStr(Lauf) & " fehlerhafte Eingaben gefunden." & vbCrLf & "Bitte korrigieren:" & vbCrLf & vbCrLf & MsgStr, vbCritical, "ACHTUNG - Fehlende Eingaben"
Else
Speicherort
End If
End Sub
Also, der Code funktioniert in soweit, dass bis zu vier Argumente geprüft werden, dies sind jedoch nicht immer die gleichen vier, was die Sachen noch verwirrender macht.
Als Alternative habe ich für jedes zu prüfende Argument eine neue Prozedur :
Private Su InhalteCheck1()
If Me.Edt Datum.Value="" Then
MsgBox "Bitte Datum vorm Speichern eingeben", , p_CstrMsgTitel
Else: InhalteCheck2
End if
End Sub
Private Sub inhalteCkeck2()
If me.lstOrgaeinheit.Value= "" Then
MsgBox " "
Else: InhalteCheck3
End If
End Sub
......InhalteCheck4, InhalteCheck5....
gleiche Problem, prüft einige Argumente, aber nicht alle und auch scheinbar wahllos.
Bin für jede Hilfe dankbar.