Mein Problem:
Ich habe in Access ein Formular auf dem sich ein Feld befindet. In dieses Feld sollen nur bestimmte Nummern eingegeben werden können.
Diese Nummern befinden sich in einer Tabelle.
Geht es das ich die Tabelle irgendwie mit dem Formular verknüpfe und man nur die Nummern eingeben kann die auch in der Tabelle stehen?
Ich würde das gerne so machen, weil ich mehrere Formular habe die sich auf das Feld beziehen. Wenn ich das mit der Gültigkeitsregel umsetzten würde, müsste ich jedes Mal wenn eine neue Nummer dazu kommt in jedes Formular und die dazutragen. Wenn das mit der Tabelle ginge bräuchte ich die Nummern nur an einer Stelle zupflegen.
Danke euch für die schnellen Antworten.
Problem das Feld soll kein Kombinationsfeld sein. Erklären kann ich das leider auch nicht. Es wir einfach so gewünscht!
Problem das Feld soll kein Kombinationsfeld sein. Erklären
kann ich das leider auch nicht. Es wir einfach so gewünscht!
das sind die Wünsche, bei denen der Programmierer sich auf die Hinterbeine stellen muss - als Berater seines Kunden darf er derartige Blödheiten nicht durchgehen lassen.
es gibt nichts, was man nicht mit besten Kenntnissen in VBA selbst nachbauen könnte. Dazu würde ich den Auftraggeber exakt beschreiben lassen, wie das aussehen müsste, und heraus käme dabei - trörö - ein Kombifeld. Wazu also das Rad nochmal erfinden?
Hallo!
Vielleicht ist es ein Weg, das ganze anzufragen und wenn der eigegebene Wert nicht in der Tabelle vorkommt: Fehlermeldung und Feld wieder löschen. Etwa so:
If DCount("*", „[TABELLE]“, „[Nummernfeld]=“ & Me![DeineEingegebeneNummer]) = 0 Then
MsgBox „Nummer nicht vorhanden“, vbCritical, „Eingabe korrigieren“
SendKeys „{ESC}“, False
DoCmd.GoToControl „[DeineEingegebeneNummer]“
End If
Viele Grüße
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Wie auch immer, mit einem normalen Textfeld („MeineZahl“) ginge das etwa so:
Sub Meinezahl_BeforeUpdate(Cancel as Integer)
If Isnull (Me!Meinezahl) OR Dcount("*",„tblZahlen“,„Zahlfeld=“ & nz(Me!MeineZahl,0)) = 0 Then
Msgbox „Nix da“
Cancel =True
End If
End Sub
Sub Meinezahl_BeforeUpdate(Cancel as Integer)
If Isnull (Me!Meinezahl) OR Dcount("*",„tblZahlen“,„Zahlfeld=“
& nz(Me!MeineZahl,0)) = 0 Then
Msgbox „Nix da“
Cancel =True
End If
End Sub
Hallo Franz!
Ich habe jetzt mal den Programmcode von Dir getestet und es funktioniert wunderbar! Vielen Dank für Deine Mühe! Hast mir wirklich sehr geholfen!