Supportnet Computer
Planet of Tech

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.

Antwort 2 von RalfH

Hallo Erik,

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 !!!!