Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

ComboBox - Datenherkunft

Begonnen von accessy, März 21, 2013, 17:27:29

⏪ vorheriges - nächstes ⏩

accessy

Mein Problem ist gar nicht so einfach zu erklären.
Ich habe mehrere Combos.
Die meisten bekommen ihre Werte aus einer Liste der Tabelle und sind feste Werte.
(Nur Listeneinträge = Ja). Das funktioniert prima.

Aber eine Combo hat die Einstellung (Nur Listeneinträge = Nein)
Tja, und da kommt das Problem ins Spiel.
Die Datenherkunft ist die Tabelle, wo alle Daten drin stehen.
Jetzt ist es aber so, dass die DS hinsichtlich ORT (Das ist diese Combo) mehrfach auftreten kann.

Klickt man auf die Combo, dann öffnet sich die Liste.
Und dann hat man manchen Ort mehrfach drin.
Die wachsende Datenbank besteht derzeit aus 200 DS.
Im Klartext, wenn von 200 DS 48 mal den Ortsnamen Berlin drin haben, dann bekommt die Liste nach dem Öffnen
48 mal Berlin.

Kann man das filtern, so dass der bereits vorhanden Ortsname nur einmal in der Liste steht?
Ich vermute mal, das geht nur über eine VBA Lösung.
Gruß Achim

bahasu

Hi,

vielleicht kommst Du mit dem in http://www.access-o-mania.de/forum/index.php?topic=16983
gegebenen Hinweis (distinct) weiter.

Harald
Servus

MzKlMu

Hallo,
die Orte sollten in eine eigene Tabelle ausgelagert werden, mit einem Primärschlüssel.
Anschließend tauscht man mit eine Aktualisierungsabfrage den Ort gegen den PK des Ortes (als Fremdschlüssel) und ändert dann noch den Datentyp von Text auf Zahl (LongInteger).
Über das Ereignis "Bei nicht in Liste" lassen sich dann auch ganz einfach neue Orte einfügen.

Dein Problem hat übrigens mit der Einstellung "Nur Listeneinträge" nichts zu tun. Das ist ausschließlich eine Frage der Datenherkunft in die ein Distinct aufgenommen werden muss, wie von Harald bereits gesagt.
Gruß Klaus

accessy

Dieses Select distinct klingt gut,
fragt sich bloß, wo ich dieses SQL finde.
Wo muss ich das denn einbauen?

bahasu

Hi,

in dem oben aufgeführten Link gibt es von mir Hinweise, dass entweder das sql-statment anzupassen ist oder
dass alternativ die Eigenschaften der Abfrage zu ändern sind.

Wenn Du im Entwurf-Modus der Abfrage bist, klickst Du im oberen Bereich - dort wo die Tabellen angezeigt werden - mit der rechten Maustaste. Es erscheint das Kontextmenü. Dort gibt es den Punkt "Eigenschaften". Das links anklicken. Dann werden die Abfrageeigenschaften geöffnet. Dort "Keine Duplikate" auf "Ja" stellen.
Schaust Du Dir danach das sql-statement an, siehst Du etwas in der Art: "SELECT DISTINCT ..."

Harald
Servus

accessy

Der Wahnsinn.....Volle Funktion...
Vielen, vielen Dank für diesen wertvollen Hinweis dazu.

Schönen Abend noch
Gruß Achim

MzKlMu

Hallo,
auch wenn es jetzt geht, beachte den Hinweis mit der extra Tabelle, es wäre die bessere Lösung.
Gruß Klaus