Access & Kombinationsfeld

Hallo Leute,

muss an dieser Stelle mein Problem mal etwas ausfuehrlicher erlaeutern:

Ich habe ein Kombinationsfeld mit 3 Spalten:

  1. Primaeschluessel
  2. Textbezeichnung
  3. Fremdschluessel

Der Text und der Primaetschluessel werden angezeigt. Der Inhalt des Textes kann mehrmals vorkommen, hat dann jedoch immer eine andere ID. Nun das Problem:

Ich habe in diesem Feld nun als Text z.B.

1 Text_1
2 Text_1
3 Text_3
4 Text_4

stehen. Wenn ich nun Text_1 mit der ID 1 auswaehle und es dann entsprechend den Variablen zuweise erhalte ich die Werte 1 und Text_1 --> also richtig. Waehle ich nun Text_1 mit der ID 2 aus und weise das den Variablen zu, erhalte ich auch Text_1 und ID 1 --> also FALSCH.

Die Zuweisung mache ich so:

Text = Me![Kombinationsfeld].Column(0)
ID = Me![Kombinationsfeld].Column(1)

Die Variablen werden vorher deklariert und mit initialisiert.

Sehr ich den Wald vor Baeumen nicht??? Warum weisst Access den
falschen Wert zu???

Gruesse
Chris
*langsamverzweifelnd*

In welcher Ereignisprozedur machst du denn die Zuweisung?

Ansonsten: Geh mit Access lieber in das Forum „Datenbanken“, da wirst du wohl eher Erfolg haben…

Reinhard

In welcher Ereignisprozedur machst du denn die Zuweisung?

Das Kombinationsfeld basiert auf einer Abfrage.

Gruesse
Chris

Das war doch nicht die Frage!
Du schreibst:

Die Zuweisung mache ich so:

Text = Me![Kombinationsfeld].Column(0)
ID = Me![Kombinationsfeld].Column(1)

In welcher Ereignisprozedur steht dieser Code? Bzw. aus welchem Ereignis wird er aufgerufen?

Reinhard

Du schreibst:

Die Zuweisung mache ich so:

Text = Me![Kombinationsfeld].Column(0)
ID = Me![Kombinationsfeld].Column(1)

In welcher Ereignisprozedur steht dieser Code? Bzw. aus
welchem Ereignis wird er aufgerufen?

Das Ereignis „Beim Klicken“ loest eine Ereignisprozedur aus, die die Daten weiterverarbeiten soll.

Es muss doch heissen:

ID = Me![Kombinationsfeld].Column(0)
Text = Me![Kombinationsfeld].Column(1)

ansonsten ist das Click-Ereignis ungeeignet! Nimm das AfterUpdate-Ereignis des Kombifelds!

Reinhard

Och man …

ID = Me![Kombinationsfeld].Column(0)
Text = Me![Kombinationsfeld].Column(1)

Da habe ich mich halt verschrieben. Lies doch bitte mein Posting richtig. Die Daten kommen doch bei der ersten Auswahl auch richtig und in den richtigen Variablen. Das ist nicht das Problem.

Nimm das AfterUpdate-Ereignis des Kombifelds!

???

In der Hilfe steht dazu:
„Das Ereignis AfterUpdate tritt ein, nachdem geänderte Daten in einem Steuerelement oder Datensatz aktualisiert wurden.“

Die Daten in dem Kombinationsfeld werden beim oeffnen des Dokumentes eingelesen. Wenn man einen Datensatz aus dem Kombifeld
auswaehlt, werden die Daten verarbeitet (zumindest sollen sie das). Was soll ich da mit AfterUpdate???

Chris
*immernochratlos*

Das AfterUpdate-Ereignis tritt ein, nachdem du die Auswahl im Kombifeld triffst. Und dann willst du doch die Daten verarbeiten - oder?

Reinhard

Das AfterUpdate-Ereignis tritt ein, nachdem du die Auswahl im
Kombifeld triffst. Und dann willst du doch die Daten
verarbeiten - oder?

Ja. Habe das Ereignis bisher anders interpretiert. Na dann
werde ich das morgen mal probieren. Melde mich, ob es das gewesen ist.

Gruesse
Chris

Ansonsten solltest du mal den kompletten Code deiner Ereignisprozedur posten. (Ich hoffe mal, das Feld heisst nicht wirklich „Text“ und du beziehst dich mit „Me!Feldname“ darauf - sonst beziehst du dich auf irgendeine ominöse Text-Eigenschaft o.ä.!)

Reinhard

Hi Reinhard,

es funktioniert nun. Es lag an der Reihenfolge der Felder.

Manchmal sieht man den Wald vor Baeumen nicht …

Gruesse
Chris