September 26, 2020, 18:56:05

Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!


Abfrage für Nachschlagefeld in Formular mit Parameter-Übergabe

Begonnen von Minotauros, August 24, 2020, 13:34:12

⏪ vorheriges - nächstes ⏩

Minotauros

Guten Tag liebe Mitglieder

Folgendes Problem plagt mich seit einer Woche:

Situation:
In einem Formular (Datenblatt) werden Lieferungen erfasst mit Feldern wie Menge, Einheit_F, Lieferant_F, Objekt_F etc. Das Formular ist an die Tabelle "Vektor" gebunden"
Für die Einheit soll aus verschiedenen Alternativen aus der Tabelle "Einheit" in einem Kombinationsfeld ausgewählt werden können. Nun sollen aber nicht alle verfügbaren Einheiten angezeigt werden, sondern die, welche für das entsprechende Lieferobjekt vorgesehen sind.
Das Feld "Objekt_F" welches den Fremdschlüssel zur Tabelle "Objekt" enthält ist sowohl in der Tabelle "Vektor" wie auch "Einheit" vorhanden.

Problem:
Ich habe eine Abfrage für das Feld Einheit_F erstellt mit dem Kriterium [Formulare]![meinFormular]![Objekt_F] für das Feld Objekt_F. Mit der Hoffnung, dass bei einem Klick auf das Kombinationsfeld die Einheiten entsprechend der vorherigen Eingabe ins Feld "Objekt" gefiltert werden. Leider poppt nur eine MsgBox für die Parametereingabe von [Objekt_F] auf.

Dies ist mein erster Beitrag und ich bin für jede Hilfe sehr dankbar. Meine VBA-Skills sind erst ganz am Anfang. Ich habe bereits nach Lösungen im Internet gesucht, aber habe vermutlich nicht die richtigen Worte gewählt um mein Problem zu beschreiben. Bei Unklarheiten zur Fragestellung werde ich mein bestes geben, um meine Situation anders zu beschreiben.

Vielen Dank im Voraus
Mino


Minotauros

Nachtrag:

Nachdem ich ein paar Zeilen VBA-Code entfernt habe funktioniert die Abfrage jetzt. Das Problem ist das Access die Abfrage nur einmal ausführt und dann für jeden Datensatz die Einheitenauswahl des ersten Datensatzes angibt. Das Kombinationsfeld müsste aber jedesmal, wenn es den Fokus erhält diese Abfrage ausführen.

Me.Einheit_F.Requery geht nicht. (Ist der Code den ich gelöscht habe, damit es wenigstens bei einem Datensatz funktioniert)

Beaker s.a.

Hallo Mino,
ZitatDas Kombinationsfeld müsste aber jedesmal, wenn es den Fokus erhält diese Abfrage ausführen.
Dann nimmst du am Besten das Form-Ereignis "Beim Anzeigen" (VBA: Form_Current).
Dann wird das Kombi bei jedem DS-Wechsel aktualisiert ohne dass du da erst den
Focus auf das Kombi setzen musst. Bei neuen DS setzt du ein Requery auf dss Kombi
beim Ereignis "Nach Aktualisierung" (VBA: AfterUpdate) des Feldes mit der Objekt-
_F-Nummer ab; - oder beim Kombi "Beim Hingehen" (VBA:GotFocus).
gruss ekkehard
 
PS. Falls du damit nicht weiterkommst, poste ein Bild des Beziehungsfensters oder
lade die DB (kompiliert, komprimiert und gezipt) hier hoch.
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.

Minotauros

Vielen Dank für die Antwort.

Ein User in einem anderen Forum hat mir folgende Antwort gegeben und damit mein Problem gelöst :

ZitatHallo Minotauros,

schau mal hier: http://www.donkarl.com?FAQ4.36

Martin

Liebe Grüsse

Beaker s.a.

An den Link hatte ich auch gedacht. Dachte aber, dass dich
das nicht unbedingt auf den richtigen Pfad führt, da du ja
ein Textfeld hast. Womit es natürlich auch geht.
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.