Hallo zusammen. Ich bin gerade dabei mir Acces anzueignen. Bisher klappt auch alles ganz gut (Foren und Youtube sei Dank). Für ein Problem finde ich aber bisher keine Lösung die ich mit meinen Anfängerkenntnissen bisher lösen konnte.
Ich baue gerade eine Liste für Aggregate in unserem Unternehmen. Diese teile ich in Anlagenteile ein. Im Suchformular habe ich ein Kombinationsfeld eingefügt, in dem ich die Aggregate nach Anlagenteil suchen kann. Dies funktioniert auch. Leider gibt es sage ich mal 10 Pumpen in einem Anlagenteil und nun bekomme ich im Kombinationsfeld diesen Anlagenteil auch 10 mal angezeigt. Hier würde natürlich 1mal ausreichen :).
Vielleicht hat jemand eine praktikable Lösung für mich.
Schon mal vielen Dank im Voraus
Willkommen,
füge in Deine SQL-Abfrage den Begriff distinct ein:
SELECT DISTINCT ...
bzw.
rufe die Abfrage-Eigenschaften auf und setze "Keine Duplikate" auf "Ja".
Harald
Hallo,
hast Du keine Tabelle die die reinen Anlagenteile enthält ?
Das Problem hatte ich auch und ich bin ebenso Neuling und sitz auch ständig vor Youtube ;)
Fütter das Feld mit einer Abfrage und zwar folgendermaßen:
Du erstellst eine Abfrage, die nur das Feld beinhaltet. Im Abfragenentwurf klickst Du mit Rechts auf Summen (kann je nach Version auch Funktionen heißen) und klickst dann in der Funktionszeile auf Gruppierung. Voila!
Bei deinem Kombifeld stellst Du als Datensatzherkunft Tabelle/Abfrage ein und wählst entsprechend aus.
Ich weiß allerdings NICHT inwiefern das von Profis belächelt werden würde und ob das eine saubere Art ist das Ganze zu lösen.
lG
Chris
Hallo Wakko,
zeige doch bitte den SQL-Code der Datensatzherkunft des Kombifeldes, dann kann man dir konkrete Hinweise und evtl. auch weiterführende Tipps geben.
Die bisherigen Hinweise waren im Grunde alle für sich zielführend, fragt sich nur, ob sie zu deinem bisherigen Konzept passen und ob du sie umsetzen kannst.
Also ich habe nun Keine Duplikate auf Ja gesetzt (Bild 1). Leider bleiben die doppelten Werte.
Ich habe eine eigene Tabelle angelegt, die die Anlagenteile enthält. Im Eingabeformular wähle ich dann per Drop Down aus.
Der SQL ist auf Bild 2 zu sehen.
Danke schon mal für die Antworten :)
Hi,
warum tauchen in der Abfrage so viele Felder auf, wenn Du nur die Anlagenteile benötigst?
Ist die Abfrage für das Kombifeld nicht auf "Anlagenteile" beschränkbar?
Harald
Zum Prädikat Distinct: Sobald mindestens ein Wert in der Feldliste der Abfrage eines Datensatzes einen unterschiedlichen Wert gegenüber einem anderen Datensatz aufweist, werden beide Datensätze dargestellt.
PS: längerfristig tust Du Dir einen Gefallen, wenn alle Sonder- und Leerzeichen aus den Objektnamen entfernt werden. Die schönen Namen kannst Du dann z. Bsp. in der Feldeigenschaft Beschriftung übernehmen.
Hallo,
Zitat von: bahasuwarum tauchen in der Abfrage so viele Felder auf, wenn Du nur die Anlagenteile benötigst?
zumal es ja eine Tabelle gibt die nur die Anlagenteile enthält.
Wenn ich mir das Bild mit der Abfrage betrachte, gibt es noch mehr Ungereimtheiten.
- Gebäude in eine Tabelle
- Anlagenteile in eine Tabelle
- Stockwerke in eine Tabelle
- Stromkreisleiste in eine Tabelle
In die Tabelle muss dann jeweils ein Kennzeichen ob DC oder ADS.
Damit wird schon mal vieles vereinfacht.
Oder Erkläre warum Du glaubst getrennte Tabellen verwenden zu müssen.
Außerdem fehlen mMn noch mindestens 3 Tabellen.
- Gebäude
- Stockwerk
- GebäudeStockwerk (mit Fremdschlüssel zum Gebäude und FS zum Stockwerk und eigenem PS)
In die Listentabelle kommt dann nur PS der Tabelle GebäudeStockwerk als FS.
Ohne Zuordnungstabelle könntest Du Stockwerke zu einem Gebäude erfassen, die es in dem Gebäude gar nicht gibt.
Ich glaube, hier besteht erst mal noch Verbesserungsbedarf am Datenmodell.
Kannst Du mal ein Bild des Beziehungsfensters hier zeigen ?
Also wie gesagt ich bin Anfänger
Also was habe ich versucht:
In der Eingabemaske gibt es verschiedene Drop Down Menüs um sicher zu stellen das bei Eingaben alle die gleiche Namensgebung verwenden. Die restlichen Eingaben sind festgelegt für die Aggregate.
Ich hatte Anfänglich alle Daten in einer Tabelle. Das Problem war das es bei einem Teil 4 Einträge gibt beim anderen 20.Folge war das beide Drop Downs Menüs gleich lang waren das eine mit 20 Einträgen das andere mit 4 und 16 Leerfeldern. Die Einträge natürlich am Schluss. Deswegen gibt es für jedes Menü eine eigene Tabelle
Die Tabelle Stromkreise ist die Haupttabelle. Aus ihr werden die Abfragen erstellt die dann letztenendes für die Suche dienen.
Die Abfrage habe ich mit hilfe eines Videos erstellt. Dort hat es keine doppelten Einträge gegeben :-\ War von der komplexität gleich wie meine Tabelle. Ich brauche hier eine Suche nach
Anlagenteil wenn dieser abgestellt wird
Nach Behälter
Nach Aggregat
Insgesamt funktioniert auch alles, bis auf die Mehrfachanzeige der Anlagenteile
Hallo,
wenn es für die Anlagenteile eine eigene Tabelle gibt, so muss das DropDown an diese Tabelle gebunden werden. Dann darf bzw. kann es nicht zu Doppelungen kommen.
ZitatDas Problem war das es bei einem Teil 4 Einträge gibt beim anderen 20.
da gibt es bessere Verfahren als unterschiedliche Tabellen.
Man kann z.B. eine Tabelle machen mit den Feldern die gleich sind und dann je eine weitere Tabelle mit den unterschiedlichen Feldern. Dann wird zwischen diesen Tabellen eine 1:1 Beziehung hergestellt. Es gibt noch weitere Möglichkeiten. Bitte nenne aber erst mal die 4 Felder und die 20 Felder.