AC97 Kombifeld Name und Nr

Hallo,

wie kann ich folgendes verwirklichen: In ein Kombinationsfeld gebe ich den Namen eines Lieferanten ein, der aus der Lieferantendatei ermittelt wird. Dieser Name wird nun in das zugewiesene Feld übernommen. Ich möchte aber auch gerne seine Lieferanten-Nr und die Postleitzahl übernehmen. Wie kann ich das bewerkstelligen? Vielen Dank für eine Lösung im voraus.

Martin

Du solltest zuerst dafür sorgen, daß nicht der Name, sondern nur die LieferantenID gespeichert wird. Aber step-by-step.

Dem Kombinationsfeld verpaßt Du eine „AfterUpdate“ (Nach
Aktualisierung) - Ereigniseigenschaft. Ich setze im folgenden voraus (ansonsten bitte anpassen!), daß die LieferantenNr der Tabelle der PrimaryKey ist (wichtig! und daß dieser Index „PrimaryKey“ heißt) und das 1. Tabellenfeld ist und daß das Kombifeld an diese Spalte gebunden ist (Gebundene Spalte = 1, denn Du mußt den Schlüsselwert speichern, nicht den Lieferantennamen, was ist sonst mit Namensgleichheiten?).
Ferner, daß Lieferantenname die 2. Spalte ist und PLZ die dritte. Dann stellst Du für das Kombifeld folg. Eigenschaften ein:
Gebundene Spalte = 1
Anzahl Spalten = 3
Spaltenbreiten: 0cm;3cm;2cm (–> 0cm blendet die Schlüsselspalte aus, sodaß Du nur Lieferantenname und PLZ zur Auswahl siehst). Wenn Du da noch andere Spalten hast, einfach alles logisch abzählen und Spalten, die unsichtbar sein sollen, auf 0cm Breite setzen.

Danach dann das „AfterUpdate“-Ereignis.
(Die Feldnamen bzw. Steuerelement-Namen im Code mußt Du natürlich auch entspr. ersetzen).

Gruß
Stephan
www.exata.de

Private Sub NameDeinesKombifeldes_AfterUpdate()
Dim DB As Database
Dim RS As Recordset
Dim LieferantenNr As long
Dim Lieferantenname as string
Dim PLZ as string '(bzw. Datentyp aus dem Tabellenentwurf, es gibt übrigens keinen Grund, PLZ’s als numerisch zu definieren)

Set RS = CurrentDb.OpenRecordset(„DeineLieferantenTabelle“)

LieferantenNr = Me!NameDeinesKombifeldes.Value

RS.Index = „PrimaryKey“
RS.Seek „=“, LieferantenNr

Me!LieferantenName.Value = RS.Fields(„LieferantenName“)
Me!PLZ.Value = RS.Fields(„LieferantenPLZ“)

End Sub

Hallo Stephan,

erst mal vielen Dank für Deine Antwort und dass Du Dir diese
Mühe gemacht hast.
Das muss ich jetzt erst mal in Ruhe ausprobieren, wie Du schreibst " Step by step"

thanks
Martin

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]