Neuigkeiten:

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

Mobiles Hauptmenü

Probleme mit Kombifeld

Begonnen von Der Ureinwohner, Oktober 18, 2018, 18:11:18

⏪ vorheriges - nächstes ⏩

Der Ureinwohner

Hallo zusammen - Wer kann helfen ?

Ganz simpler Aufbau 2 Tabellen
Tabelle 1 beinhaltet die Ortschaften
Tabelle 2 die Strassen

Über die Orte_ID wurde eine 1 zu n Beziehung hergestellt.

Beide Tabellen laufen über 2 Abfragen zwecks Sortierung aufsteigend.
Kann man zwar anders machen - weiß aber grade nicht wie ? Ist aber auch nicht das Hauptproblem

Im Kombifeld werden die Orte dargestellt (2.te Spalte - die 1.te Spalte auf 0 Breite gesetzt)
Im Unterformular werden die Strassen der gewählten Orte dargestellt (gefiltert nach Aktualisierung des Kombifeldes)

Also zum jeweiligen Ort die richtigen Strassen. Sollten nun weitere Strassen hinzu kommen so war der Gedanke
den jeweiligen Ort zu filtern und somit zum Ort eine neue Strasse einzutragen (z.B. Neubaugebiet wird erschlossen)

Beim Aufruf des Formulars werden mir nun Strassen im UFo angezeigt (gefiltert auf eine Ortschaft)
Die Ortschaft sehe ich aber nicht, das Kombifeld ist leer (Spalte 2) (Spalte 1 ist ja auf Null Breite)

Wähle ich nun den Ort dazu habe ich diesen zwar in der Anzeige des Kombifeldes. In der dazugehörigen Tabelle jedoch wird die ID gespeichert - Tsss

Beim nächsten Aufruf des Formulars habe ich nun in der Kombifeld Auswahl die Orte stehen sowie eine ID

Wer kann mir bei diesem Phänomen etwas zur Hand gehen - Wäre echt dankbar

Viele Grüße Ätsch (H)ans

MzKlMu

Hallo,
das würde ich etwas anders lösen.
Im Hauptformular zeigst Du die Orte an und im ungefilterten Ufo die Straßen.
Hafo und Ufo werden über die Schlüsselfelder verknüpft. Dann werden automatisch nur die zum Ort passenden Straßen im Ufo angezeigt.
Da muss nichts gefiltert werden.
Neue Straßen zum Ort werden über das Ereignis "Bei nicht in Liste" erfasst.
Siehe hierzu:
FAQ 4.13 Kombinationsfeld - Eintrag hinzufügen
Gruß Klaus

Der Ureinwohner

Hallo Klaus,

wenn ich Dich richtig verstanden habe sollte ich das Kombifeld lediglich dazu verwenden den Ort einzustellen.

Ungefiltert erhalte ich dann aber doch alle Strassen. Auch die Strassen die nicht in diesem Ort sind.

Da habe ich jetzt ein Verständnisproblem. Wie erfolgt dann die Beziehung zu "genau diesem" Ort der im Kombifeld
angezeigt wird.

Und ich vermute mal das ich das Problem mit der ID dann aber immer noch habe.
Außer im beiliegenden Link ist die Lösung versteckt. Denn muss ich mir aber erstmal in Ruhe zu Gemüte führen.

Dennoch erstmal herzlichen Dank

Ätsch (H)ans

MzKlMu

#3
Hallo,
Zitatsollte ich das Kombifeld lediglich dazu verwenden den Ort einzustellen.
nein, mit dem Kombi wird die Straße zum Ort eingestellt. Bei Bedarf kann auch über dieses Kombi eine neue Straße erfasst werden.
ZitatWie erfolgt dann die Beziehung zu "genau diesem" Ort der im Kombifeld
angezeigt wird.
Das erfolgt über die Verknüpfung von Hafo und Ufo über die Schlüsselfelder. Das ist dann wie gefiltert.

ZitatUnd ich vermute mal das ich das Problem mit der ID dann aber immer noch habe.
Was genau hast Du mit der ID für ein Problem ?
Die ID soll auch gespeichert werden, nicht der Ort selbst.

Zeige bitte mal ein Bild des Beziehungsfensters.
Gruß Klaus

Der Ureinwohner

Hallo Klaus,

anbei die Beziehungen der beiden Tabellen.

Gegen die ID habe ich grundsätzlich nichts. Diese ist eindeutig und kann somit auch wieder zum entsprechenden Text gemacht werden. Sprechender ist es für mich (da ich ja kein Computer bin)
dennoch wenn ich Text vor mir habe.

Wenn ich "Endersbach" lese kann ich damit besser umgehen wie wenn da eine "8" steht.

Es wäre mir trotzdem lieber über das Kombifeld den Ort einzustellen und die richtigen Strassen zu  diesem eingestellten Ort zu filtern und ggf. auch eine (oder mehrere) Strassen diesem Ort zuzuordnen.

Das müsste doch auch machbar sein ...... ???

Gruss Ätsch (H)ans

PS: Die Ausführungen die im Link hinterlegt sind habe ich noch nicht gesichtet

MzKlMu

#5
Hallo,
ZitatWenn ich "Endersbach" lese kann ich damit besser umgehen wie wenn da eine "8" steht.
Das ist eine Frage der Einstellung, im Regelfall kriegt man die ID in Formularen überhaupt nicht zu sehen.
ZitatEs wäre mir trotzdem lieber über das Kombifeld den Ort einzustellen und die richtigen Strassen zu  diesem eingestellten Ort zu filtern und ggf. auch eine (oder mehrere) Strassen diesem Ort zuzuordnen.
Wie ich bereits geschrieben habe, nimmt man für den Ort ein Hauptformular und für die Straßen ein Unterformular. Hafo und Ufo werden über die ID verknüpft. Da wird nichts gefiltert. Die Verknüpfung von Hafo und Ufo zeigt automatisch nur die zum Ort gehörenden Straßen.
Zum Suchen (nicht filtern) des Ortes baut man im Hafo ein ungebundenes Kombifeld ein.
Über das Kombi zur Auswahl der Straßen kann man bei Bedarf auch neue Straßen eingeben. Siehe Link in meiner 1. Antwort.


Gruß Klaus

MzKlMu

Hallo,
Nachtrag:
Die von Dir angelegt Beziehung ist falsch rum.
In den Ort muss ein Fremdschlüsel zur Straße, denn die gleiche Straße kann es in mehreren Ortschaften geben und das ist bei Deinem Aufbau nicht möglich.
Siehe Bild.

Mein obiger Vorschlag bezieht sich bereits auf meinen Beziehungsvorschlag. Den falschen Aufbau hatte ich vorhin nur übersehen.
Gruß Klaus

Lachtaube

#7
@Klaus,

das würde aber bedeuten, dass jeder Ort maximal einen Straßennamen enthält - ist ziemlich unrealistisch.
Grüße von der (⌒▽⌒)

Beaker s.a.

Hallo,
Wobei dann auch noch zu bedenken wäre (jedenfalls bei Adressen in DE)
das ein Ort und auch eine Strasse mehrere PLZ haben kann.
Ich persönlich verzichte bei Adressen lieber auf die Normalisierung von
Strassen/Orten und speichere sie redundant bei den Adressen. Die
Tabellen mit Orts-/Strassennamen verwende ich nur als reine Datencontainer.
Zumal die Zuordnungen von Orten/Strassen zur PLZ auch Änderungen
unterworfen sind. Ich hatte aber auch jahrelang den Zugriff auf die Leitdaten
der Post.
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

DF6GL

#9
Hallo,

@Der Ureinwohnerweiterhin:

Die Vorstellung

ZitatEs wäre mir trotzdem lieber über das Kombifeld den Ort einzustellen und die richtigen Strassen zu  diesem eingestellten Ort zu filtern und ggf. auch eine (oder mehrere) Strassen diesem Ort zuzuordnen.


ist m. E. nicht treffend. Vermutlich sind die Vorschläge nicht richtig verstanden worden.


Es wird kein Kombi benötigt, um Orte auszuwählen, außer dieses (ungebundene) Kombi ("cmbOrtsuchen")  wäre rein für die Filterung eines Ortes im Hauptform zuständig.

Dann sollte dieses Kombi ungebunden sein und als Datenbasis (Abfrage in dessen Datensatzherkunft) die Tabelle "T002_Ortschaften" verwenden.  (Select Orte_ID, Orte from T002_Ortschaften order by Orte).


Die Filterung nach dem ausgewählten Ort geschieht prinzipiell so im Hauptform (das die Orte anzeigt)  :

Sub cmbOrtSuchen_Afterupdate()
Me.Filter= "Orte_ID = " & Me!cmbOrtsuchen
Me.FilterOn =True
End Sub

Sonstige Einstellungen:
gebundene Spalte: 1
Spaltenanzahl: 2
Spaltenbreiten:  0cm;4cm


Als Grundaufbau erklärend genügt:

Hauptform (Einzelform) mit Datenherkunft zur Tabelle T002_Ortschaften

Darin eingebaut ein UFO-Steuerelement, das das Endlosform "frm_Strassen" anzeigt und das in seinen Eigenschaften  "Verknüpfen von/nach"  die jeweiligen Schlüsselfelder enthält (Orte_ID, Orte_ID"). 
BTW:  in der Strassentabelle fehlt der Primärschlüssel, welcher aber hier nicht unbedingt erforderlich wäre.

Das Endlos-Form "frm_Strassen" erhält in seiner Datenherkunft den Tabellennamen "T003_Strassen" (oder eine gleichwertige ungefilterte Abfrage)  zugewiesen.


Beim Durchblättern des Hauptforms (frm_Orte) werden dann "automatisch" die zum aktuellen Ort zugehörenden Strassen angezeigt und es kann jederzeit eine Strasse hinzugefügt oder auch herausgenommen (gelöscht) werden.

Ein gezieltes Suchen nach einem Ort kann mit z. B. dem o. g. ungebundenen Kombifeld erreicht werden.


MzKlMu

Hallo,
Zitat von: Lachtaubedas würde aber bedeuten, dass jeder Ort maximale einen Straßennamen enthält
manchmal stehe ich halt auch etwas neben mir. Ich habe da zu schnell und zu unüberlegt geantwortet.
Hier fehlt einfach noch eine Tabelle zur Zuordnung der Straßen zum Ort als n:m Beziehung.
Gruß Klaus

DF6GL

Hallo,

ich frage mich da, ob der Aufwand sich lohnt, bzw. ob das Ganze nicht übernormalisiert ist oder wird.

Sicherlich gibt es in verschiedenen Orten Strassen mit gleichem Namen, (PLZ lass ich jetzt mal außen vor), aber wegen der doch übersichtlichen Anzahl wäre mir eine redundante Erfassung eher lieber.  Es kommt aber darauf an, welches Ziel die Db verfolgt.


MzKlMu

Hallo Franz,
ich stimme Dir zu. Ich habe das jetzt nur vervollständigt und richtig beschrieben, weil ich zuerst etwas daneben gegriffen habe.
In Verbindung mit der PLZ wird das Vorhaben noch problematischer, weil die PLZ bei gleichem Straßennamen auch von der Hausnummer abhängen kann.
Und dann, müsste man noch weiter normaliseren, weil es zu einer Stadt mehrere PLZ geben kann, also müsste die PLZ auch wieder über eine n:m Beziehung zugeordnet werden.

Ich stimme daher auch ekkehard zu und würde das nicht so weit treiben.
Gruß Klaus

Lachtaube

@Ekkehard,

ZitatIch persönlich verzichte bei Adressen lieber auf die Normalisierung von Strassen/Orten und speichere sie redundant bei den Adressen.
Da bin ich durchaus bei Dir. Mit Länder- und Sprachcodes sowie Vornamen halte ich das übrigens auch so.
Grüße von der (⌒▽⌒)

Der Ureinwohner

Hallo alle Beteiligten,

ich möchte mich bei allen für ihre Tipps und Anregungen an dieser Stelle erst einmal bedanken.
Ich werde mal versuchen ob ich das (was ich oben schon beschrieben hatte) mit eurer Hilfe nun hinbekomme.

Eine PLZ ist für mein Vorhaben (so denke ich) nicht erforderlich.

Die Datenbank soll wie gesagt nur eine kleinere Menge Ortschaft in einem Umkreis von etwa max. 50 KM erfassen und die dortigen Strassen auflisten. Da sich die Strassen über das letzte Jahrhundert vom Namen durchaus geändert haben kann es schon sein das sich z.B. die Hauptstrasse in mehreren Orten befunden hat. Dann kam die Gemeindreform und 5 Ortschaften wurden zu einer Gemeinde zusammengefasst die es vorher gar nicht gegeben hatte und die doppelten Strassen wurden in eliminiert so das es nur noch eine Hauptstrasse gab. Die andere (zweite) Hauptstrasse erhielt dann in der Reform einen anderen Namen.

Ich werde nun also weiterhin versuchen in einem Hauptformular ein Kombifeld zu installieren das mit den ID´s vom HaFo zum UFo verknüpft ist.

Durch Auswahl einer Ortschaft im Kombifeld sollen nun alle Strassen dieses Ortes angezeigt werden.
Auch die vor der Reform.

Bisher hatte ich immer das Problem das im Kombifeld beim ersten Öffnen nichts angezeigt wurde aber Strassen im UFo auftauchten.

Wenn ich dann im Kombifeld eine Ortschft gewählt habe kammen schon die richtigen Strassen dazu. Jedoch wurde in der Tabelle 2 dann eine ID der Ortschaft gespeichert anstatt dem Namen. Das heisst der Name der vorher in der Tabelle 2 gestanden hat wurde durch die ID überschrieben. Das wollte ich so eigentlich nicht.

Bin nun echt gespannt ob ich mit euren Tipps und Empfehlungen an mein Ziel komme.

Ich werde berichten - So oder so

Liebe Grüße an alle und ein schönes Wochende

wünscht

Ätsch (H)ans