Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Kombibox-Datenherkunft variabel





Frage

Hallo Ihr Wissenden... ist es möglich einem Kominationsfeld anhand der Auswahl in einem anderen Kombifeld eine andere Datenquelle zuzuweisen? Beispiel: 1. Kombifeld dort stehen verschiedene Abteilungen Datenherkunft eine Tabelle die Auswahl(Primärschlüssel) wird in eine Haupttabelle geschrieben. Das zweite Kombifeld ist von den Eigenschaften gleich, hat eine andere Tabelle bzw. Abfrage(Teilenummern) als Datenherkunft, und schreibt auch wieder eine Zahl in die Haupttabelle. Diese Herkunft-Tabelle hat eine Spalte (Schlüssel). Wenn in der 1. Kombibox der erste Eintrag gewäht wird, dann sollen in der Zweiten Kombibox nur die Daten zur Auswahl stehen, die in der Schlüsselspalte den Eintrag A haben. Ich habe es trotz vieler Hilfe lesen nicht geschafft. Zur Zeit hab ich für jeden Schlüsselbuchstaben eine Abfrage erstellt, und dem entsprechend so viele Komiboxen auf dem Formular. (wovon dann immer nur eines sichtbar ist) Es wäre mir schon sehr geholfen, wenn mir jemand eine VBA-Zeile nennen kann, welche in einer Abfrage ein Filterkriterium setzt. Also in der Abfrage <AbfrTeilenummern> für's Feld <Schlüssel> den Filter <=A>. Ich hoffe mein Problem ausreichend beschrieben zu haben.... wenn nicht bitte nachfragen. Gruß Andreas

Antwort 1 von RalfH

Morgen Andreas,

Nehmen wir an Du hast 2 Kombifelder. Kombifeld1 wählt das Kriterium aus, um das Kombifeld2 zu füllen.

Im Ereignis Nach Aktualisierung des Kombifeld1 kommt folgender VBA Code:

Me!kombifeld1.RowSourceType = "Table/Query"
    Me!kombifeld2.RowSource = "DeineTabelle/Query"


Wenn Du eine Abfrage nimmst, kommt als Kriterium
Wie [forms]![DeinFormular]![Kombifeld1]


Zur Zeit hab ich für jeden Schlüsselbuchstaben eine Abfrage erstellt, und dem entsprechend so viele Komiboxen auf dem Formular.
(wovon dann immer nur eines sichtbar ist)

Wäre damit auch erledigt ;-)
Gruß Ralf

Antwort 2 von RalfH

uups !
Kleiner Nachtrag: Das sollte natürlich so gehen

Me!kombifeld2.RowSourceType = "Table/Query"
Me!kombifeld2.RowSource = "DeineTabelle/Query"

sorry
Ralf

Antwort 3 von Kauz

Hallo Ralf...
deine Antwort war sehr hilfreich.

Ich komme nun auf dem Formular mit nur einer 2.Kombibox aus.

Habe jetzt für jeden Eintrag in Box1 eine abfrage für Box2 angelegt,
und setze die Datenherkunft auf die entspechende Abfrage:

Private Sub Abteilung_AfterUpdate()
If Abteilung.Value <> "" And Abteilung.Value <> "---" Then
Teilenummer.Visible = True
Teilenummer.RowSource = "AbfrTeilenummern" & Abteilung.ListIndex
End If
End Sub

Vielen Dank dafür!!.
---------------------------------------------------------
Wegen dem Lerneffekt wäre ich um eine Antwort auf den zweiten Teil trotzdem nicht böse. :-)
Zitat:
...Es wäre mir schon sehr geholfen, wenn mir jemand eine VBA-Zeile nennen kann, welche in einer Abfrage ein Filterkriterium setzt.
Also in der Abfrage <AbfrTeilenummern> für's Feld <Schlüssel>
den Filter <=A>.

Mag hierzu noch jemand sein Wissen äußern? :-)

Gruß Andreas

Antwort 4 von Marie

hm, also Du willst die Abfrage Teilenummern nur für den Inhalt A in Schlüssel öffnen? Oder was?

Select AbfrTeilenummern.*
From AbfrTeilenummern
WHERE ((AbfrTeilenummern.schlüssel)="A");


Äh, wenn du was anderes wissen wolltest, dann frag bitte Du genauer, dann gehts schneller. irgendwie hab ich nämlich den Eindruck, dass es das nicht ist, was Du wissen wolltest?

Gruß marie

Antwort 5 von Kauz

Hallo Marie...
ich möchte diese Abrage nicht als Listenansicht öffnen, sondern als Datenherkunftobjekt für ein Kombinationsfeld.

Bislang habe ich für jeden möglichen Buchstaben im Feld Schlüssel eine eigene Abfrage erstellt. Die wird dann anhand des Listindex einer anderen Kombibox als Datenquelle zugewiesen.
Also AbfrTeilenummern1 für "A"
AbfrTeilenummern2 für "B" ...usw.

Teilenummer.RowSource = "AbfrTeilenummern" & Abteilung.ListIndex

Wenn man eine Abfrage im Entwurfsmodus öffnet, dann hat man unter dem Kästchen für Anzeigen eine Zeile <Kriterium>.
Dort hab Ich dann unter dem Feld SCHLÜSSEL ="A" bzw ="B" ...usw. eingetragen.
Diesen Eintrag möchte ich gerne per VBA setzen, dann würde eine einzige Abfrage reichen.

Ich hoffe es ist jetzt verständlicher....

Vielen Dank für die Mühe

Gruß Andreas

Antwort 6 von RalfH

mojen,
schau Dir mal Antwort 4 von Marie genau an.
Gruß Ralf

Antwort 7 von Kauz

Hallo...

wegen dem Hinweis von Ralf habe ich noch mal versucht die Antwort von Marie einzubinden.

Nach einigen Fehlermeldungen; einer leeren Kombibox; ändern des Schlüsseleintrags von Buchstaben auf Zahlen funzt es jetzt.

Vielen Dank

Gruß Andreas

Antwort 8 von Marie

:-))

marie

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: