Neuigkeiten:

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

Mobiles Hauptmenü

Liste abhängig von Eingabe

Begonnen von dfone, Januar 15, 2013, 16:37:58

⏪ vorheriges - nächstes ⏩

dfone

Hallo, ich habe folgende probleme:

datenbank ist beigefügt

ich würde gerne das Formular frmArzte so abändern, daß man mittels einer Liste je nach eingabe von daten, den gewünschten wert auswählen kann.
also, wenn ich postleitzahl eingebe, filtert die liste anhand der postleitzahl, so daß man halt nur noch betreffende orte sieht. geb ich dazu noch den ort ein, sollten halt nur noch die betreffenden straßen verfügbar sein.

es wäre sicherlich auch möglich, das ganze mit kombifeldern zu lösen.

die textfelder momentan dienen lediglich der information, um zu sehen, was man ausgewählt hat.

ich hoffe, daß ich mich nicht zu umständlich ausgedrückt habe.

danke

bahasu

Servus

dfone

danke Harald,

ich habe im Formular folgende Variante von Donkarl genutzt:

Es kann aber auch ein SQL-Ausdruck sein, der in der Eigenschaft Datensatzherkunft des abhängigen Kombis steht oder der im Ereignis-Code Nach Aktualisierung des übergeordneten Kombis zugewiesen wird:

Me!cbo_Artikel.RowSource = "SELECT ArtikelBezeichnung FROM tbl_Artikel WHERE GruppenID= " & Me!cbo_Gruppen

Der Versuch auf meine Gegebenheiten anzupassen:

Me!cbo_Adresse.RowSource = "SELECT Ort FROM tblAdressen WHERE PLZ_ID_F= " & Me!cbo_PLZ

Es liegen die Tabelle tblPLZ mit PLZ_ID, Postleitzahl und Ort, sowie die Tabelle tblAdressen mit Adress_ID, PLZ_ID_F, Strasse und ZusatzInfo zugrunde.

Im Formular habe ich das Kombinationsfeld: PLZ mit der Datensatzherkunft: SELECT [tblPLZ].[PLZ_ID], [tblPLZ].[Postleitzahl], [tblPLZ].[Ort] FROM [tblPLZ] ORDER BY [Postleitzahl], [Ort];

und dann das, welches ja davon abhängig sein soll: Adresse mit dem oben geschriebenen SQL Code in Datensatzherkunft.

Es kommt jedoch die Meldung: Die auf diesem Formular oder in diesem Bericht Datensatzquelle 'Me!cbo_Adresse.RowSource = "SELECT Ort FROM tblAdressen WHERE PLZ_ID_F= " & Me!cbo_PLZ' ist nicht vorhanden.
Der Name der Datensatzquelle wurde falsch geschrieben, die Datensatzquelle wurde falsch geschrieben oder umbenannt, oder sie befindet sich in einer anderen Datenbank. ...

Wo liegt mein Fehler?

mfg Dirk

bahasu

#3
Hi,

SELECT Ort FROM tblAdressen WHERE PLZ_ID_F= " & Me!cbo_PLZ

setzt voraus, dass das Feld Ort in der Tabelle tblAdressen vorhanden ist.
Ist aber in tblPLZ vorhanden.

Harald

Nachtrag
Im Anhang findest Du für cbo_Adresse die Abhängigkeit von der Postleitzahl. Schwebte Dir das vor?

[Anhang gelöscht durch Administrator]
Servus

dfone

Hallo Harald,

die Abhängigkeit funktioniert, das suchte ich, danke,

jedoch ändert es bei mir nun aber alle datensätze auf dieselbe adresse...

???

bahasu

Hi Dirk,

habe ich das richtig verstanden, dass in allen Datensätze die Adresse geändert wurde?!?

Kannst Du eine abgespeckte Datenbank (a2003, gezippt) zur Verfügung stellen?

Harald
Servus

dfone

Hab ich das richtig gesehn? Dein 1000'er Beitrag... bei mir ;-)

ich häng mal an.

es handelt sich um das formular frmArzte_n. dort habe ich deinen Vorschlag aus deinem anhang eingebastelt.

und wenn ich nun im formular unten die postleitzahl auswähle werden schon um ufo alle auf die gewählte geändert. und wenn ich dann oben bei adresse ne straße auswähle, bekommen auch alle die selbe straße.


bahasu

Servus

dfone

ups...

sorry

[Anhang gelöscht durch Administrator]

bahasu

Hi Dirk,

dass nach der Auswahl in dem besagten Kombifeld "alle" Datensätze einen "neuen" Inhalt bekommen, ist nur ein "Schein"-Ergebnis, da "cbo_Adresse" ein ungebundenes Steuerelement ist.

"Wenn ich postleitzahl eingebe, filtert die liste anhand der postleitzahl, so daß man halt nur noch betreffende orte sieht. geb ich dazu noch den ort ein, sollten halt nur noch die betreffenden straßen verfügbar sein"

Wofür sollen "betreffenden straßen" verfügbar sein?
a) für eine Eingabe in einer Tabelle? Dann fehl aber noch ein Feld zum Speichern.
b) für eine Datenselektion? Mögliche Fragestellung könnte sein: z.B. liste mir alle Ärzte aus der "Marzipanstrasse".

Harald
Servus

dfone

für die speicherung der arztadressen.

einerseits zur Information, wo wohnt der arzt, andererseit evtl später mal, um damit entfernungen für die zonen zu "berechnen" bzw. zu hinterlegen.

mfg dirk

bahasu

Hi Dirk,

soll in dem Formular frmArzte_n die in den Stammdaten vorhandene Adresse zugeordnet werden oder
soll hier auch die Möglichkeit bestehen, eine neue Adresse (Strasse, Ort ...) anzulegen?

Die erste Option hat kein bis wenig VBA-Aufwand,
die zweite wird etwas umfangreicher.

Harald
Servus

dfone

das formular ist für die stammdatenpflege gedacht, es sollen dort die daten der ärzte bearbeitet werden. neue ärzte... ärzte löschen... usw.


mfg dirk

bahasu

Hi Dirk,

im Formular "frmArzte_n" habe ich ein paar Änderungen durchgeführt:
1. die obigen Kombi-Felder habe ich in den Formularkopf verschoben. Wenn dort in PLZ eine Auswahl getroffen wird, werden im Kombifeld Ort nur die dazu passenden Orte angezeigt.

2. Die bei 1 getätigte Auswahl wirkt sich auf die Auswahlliste PLZ im Detailbereich des Formulars aus. Dort sind nur die zu 1 passenden Einträge auswählbar. Diese Beschränkung gilt unter bestimmten Bedingungen (siehe VBA-Teil).
Gespeichert wird in PLZ der Fremdschlüssel aus der Adress-Tabelle.

In den folgenden Feldern werden die aus der Auswahlliste passenden Werte (Orts-, Strassen- und Zusatzinfo-Angaben) angezeigt. Diese Daten sind über den Adress-Fremdschlüssel normalisiert.

Geändert werden sie nur über eine Änderung im Feld PLZ des Detailbereichs.

Hilft das?

Harald

[Anhang gelöscht durch Administrator]
Servus

dfone

danke,

damit kann ich was anfangen...  :)

mfg dirk