ich stöber nun schon seit mehreren Tagen durch diverese Foren und komm nicht richtig weiter:
Ich habe aus Excel eine tabelle mit ca. 12 Spalten in eine DB-Tabelle importiert:
Die Spalten sind Projekt nr - Name - Land -etc.
Nun soll es so sein dass ich in einem Formular über ein Kombiantionsfeld ein Land auswähle und damit alle Datensätze des ausgewählten Landes angezeigt bekomme.
Über eine Parameter Abfrage geht das natülich auch aber es soll eben über ein Formular gehen.
Dazu hab ich erst eine zweite Tabelle erstellt mit allen möglichen Ländern und diese in Beziehung mit der Spalte „land“ gesetzt. (dazu eine ID als PS)
Das Problem hierbei ist aber dass in der 2. tabelle („Länder“) nur ein land je Datensatz eingetragen ist und ich in der 1. Tabelle zum teil mehrere Länder habe. D.h.ich wähle im Kombinationsfeld „USA“ und dann erscheinen alle DS die genau USA drin haben, jedoch nicht die Felder in denen „USA, UK, Spain“ als Bsp drin stehen.
Gibt es da eine Möglichkeit eine Art Platzhalter in ein Kombinationsfeld einzubauen? So dass ich wenn USA ausgewählt habe alle DS in denen „USA“ vorkommt angezeigt werden?
Das Problem hierbei ist aber dass in der 2. tabelle („Länder“)
nur ein land je Datensatz eingetragen ist und ich in der 1.
Tabelle zum teil mehrere Länder habe. D.h.ich wähle im
Kombinationsfeld „USA“ und dann erscheinen alle DS die genau
USA drin haben, jedoch nicht die Felder in denen „USA, UK,
Spain“ als Bsp drin stehen.
Gibt es da eine Möglichkeit eine Art Platzhalter in ein
Kombinationsfeld einzubauen? So dass ich wenn USA ausgewählt
habe alle DS in denen „USA“ vorkommt angezeigt werden?
Klar geht das - aber von hinten durch die Brust ins Auge mit InStr() und Trick 17. Würde ich aber nicht tun!
Du hast ein Normalisierungsproblem: Erstens gehört nur ein Land in ein Feld pro Datensatz (erste Normalform). Zweitens sollte man eine Relation basteln, so dass man über den im Kombofeld angezogenen Primärschlüssel den jeweiligen Fremdschlüssel „Land“ selektieren kann.
HMja danke für die schnelle Antwort, aber das mit dem "nur ein LAnd pro DS " ist schlichtweg nicht möglich.
Es sind 1030 Ds und davon ca. 80 eben für mehrere Länder gültig.
Die restlichen sind alle einheitlich gepflegt genauso wie die 2. tabelle. nunja… in dem Flal muss ich mir halt etwas (bzw. mein Vorgesetzter) anderes einfallen lassen
Nun soll es so sein dass ich in einem Formular über ein
Kombiantionsfeld ein Land auswähle und damit alle Datensätze
des ausgewählten Landes angezeigt bekomme.
Über eine Parameter Abfrage geht das natülich auch aber es
soll eben über ein Formular gehen.
Dann würde ich in der Menüleiste den „Formularbasierten Filter“ suchen; da kannst Du für jedes einzelne Feld die gesuchten Begriffe eingeben. Dann auf das Filtersymbol, und schon werden alle angezeigt.
Das Problem hierbei ist aber dass in der 2. tabelle („Länder“)
nur ein land je Datensatz eingetragen ist und ich in der 1.
Tabelle zum teil mehrere Länder habe. D.h.ich wähle im
Kombinationsfeld „USA“ und dann erscheinen alle DS die genau
USA drin haben, jedoch nicht die Felder in denen „USA, UK,
Spain“ als Bsp drin stehen.
In dem Fall würdest Du als Suchbegriff *USA* eingeben, dann erscheint alles, was irgendwo im Feld USA zu stehen hat.
Hilft Dir das?
Nun soll es so sein dass ich in einem Formular über ein
Kombiantionsfeld ein Land auswähle und damit alle Datensätze
des ausgewählten Landes angezeigt bekomme.
Über eine Parameter Abfrage geht das natülich auch aber es
soll eben über ein Formular gehen.
Dann würde ich in der Menüleiste den „Formularbasierten
Filter“ suchen; da kannst Du für jedes einzelne Feld die
gesuchten Begriffe eingeben. Dann auf das Filtersymbol, und
schon werden alle angezeigt.
Das Problem hierbei ist aber dass in der 2. tabelle („Länder“)
nur ein land je Datensatz eingetragen ist und ich in der 1.
Tabelle zum teil mehrere Länder habe. D.h.ich wähle im
Kombinationsfeld „USA“ und dann erscheinen alle DS die genau
USA drin haben, jedoch nicht die Felder in denen „USA, UK,
Spain“ als Bsp drin stehen.
.
Hilft Dir das?
mfg Skuriles
Gruß Verena
Ich denke auf einen Filter wird es Hinauslaufen wenn das mit dem Kombifeld zu umständlich ist.
"In dem Fall würdest Du als Suchbegriff *USA* eingeben, dann
erscheint alles, was irgendwo im Feld USA zu stehen hat"
Im Kombinationsfeld kann ich ja eben keine ** eintragen sondern hab nur die Werte aus der tabelle zur Auswahl
Hm das Problem dabei sit aber dass ich wenn ich das Dropdown menü des Kombifeldes aufrufe 1030 ds drinen habe von denen 90 % gleich sind. z.B. würde das dropdownmenu dann so aussehen :
USA
Algerien
USA
USA
USA
GERMANY
KOREA
GERMANY
etc… bis 1030
Wenn ich in diesem kombifeld die möglichkeit hätte doppelte werte auszublenden wäre zwar ein teil des Problems gelöst, jedoch hätte ich dann immer noch Einträge mit mehreren Ländern imemr noch als Extra DS bzw. werden diese nicht angezeigt wenn ich einen speziellen DS aufrufen möchte (z.B. alle DS mit „Germany“ enthalten)
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Wenn ich in diesem kombifeld die möglichkeit hätte doppelte
werte auszublenden wäre zwar ein teil des Problems gelöst,
natürlich kannst du das:
das Kombifeld hat eine Abfrage als Datenbasis
dort auf Ansicht -> Funktionen klicken
Gruppieren auswählen
fertig
jedoch hätte ich dann immer noch Einträge mit mehreren Ländern
imemr noch als Extra DS bzw. werden diese nicht angezeigt wenn
ich einen speziellen DS aufrufen möchte (z.B. alle DS mit
„Germany“ enthalten)
übergebe die Auswahl dann einfach an einen Filter.
Hab es hinbekommen war an sich recht einfach… Mit nem Unterformular dass sich auf die Abfrage mit Kriterium
WIe „*“ & [Forms]![Hauptformular]![Landsuche] & „*“ auf ein Kombifeld im Hauptformular bezieht und dann mit einer Befehlsschaltfläche die den Code Me.Agreementlist1.requery (Agreementlist 1 ist das UFO)
Funktioniert perfekt.
Jetzt habe ich in die Abfrage das selbe Kriterium in einer andern Spalte hinzugefügt (WIe „*“ & [Forms]![Hauptformular]![ToA] & „*“ )
Wobei [ToA] das zweite Kombifeld ist. Beim [Landsuche] geht alles weiterhin. jedoch bei [ToA] bekomm ich bei aktivieren der Befehlsschaltfläche immer ein leeres Forumlar.
Die Datensatzherkunft der Kombiantionsfeld sind jeweils eine Tabelle mit ID als PS und einer 2. Spalte mit den relevanten Einträgen.
Hat jemand nen Tipp wie ich mehrere Kombifelder auf eine Abfrage zugreien lassen kann
PS: Das Feld ToA im UFO ist ein NAchschalgefeld (weiß nicht ob das relevant ist bei der Abfragengestaltung)aus der Tabelle Agreementlist (die HAupttabelle)
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
ein letztes mal *hoffe ich* bräuchte ich eine kleine Hilfestellung. Ich hab schon etliches versucht aber irgendwie klappt nichts.
Vermutlich ist es nur einkleiner Schreibfehler oder ein falscher Denkansatz.
Problem:
Ein UFO wird auf Basis einer Abfrage erstellt. Eines der 5 Kriterein ist [Forms]![UFOname]![BUsuche]. die anderen sind
Wie „*“ & [Forms]![UFOname]![Kombinationsfeld1-4] & „*“. Das ergebnis sollte also sein das wenn ich das Hauptformular starte, im UFO alle DS angezeigt werden, da in den Kombifeldern ja nichts ausgewählt ist.
bei [Busuche] kann ich jedoch keine Platzhalter einfügen da ich sonst bei Auswahl aus dem Kombifeld DS bekomme die nicht angezeigt werden sollten (z.B. bei Auswahl AE kommt auch AEAV, AEDC2 etc. ich will aber nur genau AE haben).
Ich habe jetzt versucht eine Ergebnisprozedur im Hauptformular beim Ereignis „beim Laden“ folgendes einzufügen
IF me!BUsuche = isNull then
me!BUsuche = „*“
was natürlichent klappt… habs in verschiedenen Varianten versucht aber nie das Ergebnis bekommen.
Gibts ne Möglichkeit dass direkt in SQL zum machen oder nen sinnvollen VBA zu generieren?