Supportnet / Forum / Datenbanken
Access: Formularwert nicht überschreiben - Wert ins nächste Feld setzen
Frage
Hi Supporter !
Irgenntwie hab ich im Moment ein Brett vor Kopf, vieleicht könnt Ihr mir helfen?
Folgendes Problem:
Ein Ufo gefüllt mit Daten eine Abfrage, nun möchte ich das der User mit dem Klick eines Buttons den Ausgewählten Datensatz in ein anderes Formular übernimmt, klappt auch prima !
Aber, ist das erste Feld des Formulares gefüllt, soll Access diesen Wert nicht überschreiben, sondern das nächste Feld dafür nehmen, ist dieses auch gefüllt, dann das übernächste, usw.
mit If-Then komm ich dar nicht weiter, wäre nett wenn ich da Hilfe bekommen könnte.
Gruß Ralf
[*][quote][sup][i]Admininfo: Artikel editiert. Bitte beachte [url=https://supportnet.de/showfaq/1085310][u]folgendes FAQ[/u][/url] für deine nächste Anfrage.[/i][/sup][/quote]
Antwort 1 von erik
Wenn du If/ElseIf-Konstrukte verwendest, geht das schon:
If IsNull([Feld1]) = True Then
...
ElseIf IsNull([Feld2]) = True Then
...
ElseIf IsNull([Feld3]) = True Then
Else ´Optional
End If
Hier wird eine Bedingung nach der anderen abgeklappert, bis die erste Bedingung gefunden wird, die True zurückliefert. Deren Anweisung wird danach wie gewöhnlich ausgeführt. Die nachfolgenden Bedingungen werden überhaupt nicht mehr angefasst, stattdessen wird der If-Block beendet.
Alternativ kann sowas auch über eine Schleife realisiert werden:
For i = 1 to 4
If IsNull(Me.Controls("Feld" & i)) Then
Me.Controls("Feld" & i).Value = <Wert>
Exit For
End If
Next
Hier werden jedoch Namen benötigt, die durchnumeriert sind.
If IsNull([Feld1]) = True Then
...
ElseIf IsNull([Feld2]) = True Then
...
ElseIf IsNull([Feld3]) = True Then
Else ´Optional
End If
Hier wird eine Bedingung nach der anderen abgeklappert, bis die erste Bedingung gefunden wird, die True zurückliefert. Deren Anweisung wird danach wie gewöhnlich ausgeführt. Die nachfolgenden Bedingungen werden überhaupt nicht mehr angefasst, stattdessen wird der If-Block beendet.
Alternativ kann sowas auch über eine Schleife realisiert werden:
For i = 1 to 4
If IsNull(Me.Controls("Feld" & i)) Then
Me.Controls("Feld" & i).Value = <Wert>
Exit For
End If
Next
Hier werden jedoch Namen benötigt, die durchnumeriert sind.
Antwort 2 von RalfH
Hallo Erik,
vielen lieben Dank für Deine Antwort, werde das nacher mal Testen !
Super Forum hier!
vielen lieben Dank für Deine Antwort, werde das nacher mal Testen !
Super Forum hier!
Antwort 3 von RalfH
Nochmals Hallo Erik,
Hat PRIMA funktioniert.
Super netter Kontakt. Vielen Dank nochmals !!!!
Hat PRIMA funktioniert.
Super netter Kontakt. Vielen Dank nochmals !!!!

