collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 85
  • Punkt Versteckte: 1
  • Punkt Mitglieder: 2
  • Punkt Benutzer Online:

* Forenstatistik

  • stats Mitglieder insgesamt: 13909
  • stats Beiträge insgesamt: 65765
  • stats Themen insgesamt: 8870
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Liste abhängig von Eingabe  (Gelesen 7662 mal)

Offline dfone

  • Access-User
  • *
  • Beiträge: 56
Re: Liste abhängig von Eingabe
« Antwort #15 am: Januar 26, 2013, 10:43:18 »
hallo Harald,

hab ma ne Frage,

Ich finde die Ortsauswahl im Formlarkopf doppelt gemoppelt, es würde doch ausreichen, wenn ich daß obere Kombifeld (cbo_PLZ) zur Ortsauswahl nutze, dort kann ich doch schon die Orte eindeutig auswählen.

Das untere Kombifeld (cbo_Ort) könnte man doch in ein Textfeld wandeln, was dann lediglich noch den Ort zur Postleitzahl als Info anzeigt.

Ansonsten ist es schon super, daß ich im cbo_Adresse die "abhängige" Straße auswählen kann.

mfg Dirk
 

Offline dfone

  • Access-User
  • *
  • Beiträge: 56
Re: Liste abhängig von Eingabe
« Antwort #16 am: Januar 26, 2013, 12:47:28 »
Mahlzeit,

Hab es, glaub ich, selber hinbekommen Harald.

Ich hab ein Textfeld hinzugefügt (txtfld_Ort) und dort bei Steuerelementinhalt =[cbo_PLZ].[Column](2) eigefügt.

Danach habe ich das Ereignis von cbo_Adresse so geändert:

Private Sub cbo_Adresse_Enter()
    Dim Bedingung As String
    
    If (Me.NewRecord Or Nz(Me.cbo_Adresse, "") = "") And (Nz(Me.txtfld_Ort, "") > "" Or Nz(Me.cbo_PLZ, "") > "") Then
        Bedingung = ""
            
        If Nz(Me.cbo_PLZ, "") > "" Then Bedingung = Bedingung & " and tblPLZ.Postleitzahl='" & Me.cbo_PLZ.Column(1) & "'"
        If Nz(Me.txtfld_Ort, "") > "" Then Bedingung = Bedingung & " and tblPLZ.Ort='" & Me.txtfld_Ort & "'"
        
        Bedingung = Mid(Bedingung, 6)
    End If
    
    Me.cbo_Adresse.RowSource = "SELECT tblAdressen.Adresse_ID, tblPLZ.Postleitzahl, tblPLZ.Ort, tblAdressen.Strasse, tblAdressen.ZusatzInfo FROM tblPLZ RIGHT JOIN tblAdressen ON tblPLZ.PLZ_ID = tblAdressen.PLZ_ID " & _
                               IIf(Bedingung > "", "WHERE " & Bedingung, "") & _
                               " ORDER BY tblPLZ.Postleitzahl, tblPLZ.Ort, tblAdressen.Strasse;"

End Sub

Also die Bedingungen für cbo_Adresse geändert und auf das txtfld_Ort gelenkt.

Jetzt ist nur noch folgendes Problem, wenn ich nen Arzt im Detailbereich auswähle, welcher schon eine Adresse hat, dann funktioniert es nicht mehr, dann bekomm ich alle Adressen im cbo_Adresse angezeigt.
Läßt sich das auch noch mit in die Filterung einbauen?


Freu... Mfg Dirk
« Letzte Änderung: Januar 26, 2013, 13:34:39 von dfone »
 

Offline bahasu

  • Moderator
  • Access Guru
  • *****
  • Beiträge: 1885
Re: Liste abhängig von Eingabe
« Antwort #17 am: Januar 26, 2013, 14:16:33 »
Hi Dirk,
Zitat
Ich finde die Ortsauswahl im Formlarkopf doppelt gemoppelt, es würde doch ausreichen, wenn ich daß obere Kombifeld (cbo_PLZ) zur Ortsauswahl nutze, dort kann ich doch schon die Orte eindeutig auswählen.

Es gab mindestens eine PLZ, die 3 Orte hatte.
Wenn es trotzdem vereinfacht werden soll, muß die bei Ort stehende VBA-Routine bei der PLZ aufgenommen werden und um den Bedingungsteil mit dem Ort gekürzt werden. Die kürzung betrifft dann auch den unten folgenden Teil.


Zur zweiten Meldung:
Probier mal als Schnellschuß {ist ungetestet}:
statt:     If (Me.NewRecord Or Nz(Me.cbo_Adresse, "") = "") And (Nz(Me.txtfld_Ort, "") > "" Or Nz(Me.cbo_PLZ, "") > "") Then
dann:     If Nz(Me.cbo_Adresse, "") = "" And (Nz(Me.txtfld_Ort, "") > "" Or Nz(Me.cbo_PLZ, "") > "") Then

Ansonsten stell die aktuelle db-Version in komprimierter + gezippter Form hier zur Verfügung, damit ich daran basteln kann.

Harald

Servus
 

Offline dfone

  • Access-User
  • *
  • Beiträge: 56
Re: Liste abhängig von Eingabe
« Antwort #18 am: Januar 26, 2013, 16:29:52 »
Hi Harald,

Dein Versuch

Zitat
Probier mal als Schnellschuß {ist ungetestet}:
statt:     If (Me.NewRecord Or Nz(Me.cbo_Adresse, "") = "") And (Nz(Me.txtfld_Ort, "") > "" Or Nz(Me.cbo_PLZ, "") > "") Then
dann:     If Nz(Me.cbo_Adresse, "") = "" And (Nz(Me.txtfld_Ort, "") > "" Or Nz(Me.cbo_PLZ, "") > "") Then

bringt leider nix.

meine Version hängt an

[Anhang gelöscht durch Administrator]
 

Offline bahasu

  • Moderator
  • Access Guru
  • *****
  • Beiträge: 1885
Re: Liste abhängig von Eingabe
« Antwort #19 am: Januar 26, 2013, 17:42:18 »
Hi,

anbei eine Version.
Hoffentlich hatte ich Dein Anliegen korrekt verstanden.

Harald

[Anhang gelöscht durch Administrator]
Servus
 

Offline dfone

  • Access-User
  • *
  • Beiträge: 56
Re: Liste abhängig von Eingabe
« Antwort #20 am: Januar 26, 2013, 18:30:17 »
so würde es schon gehen,

nach auswahl des ortes im formularkopf bringt es mir trotz schon vorhandener adresse auch die zm ort gehörenden straßen.

noch ne klitzekleine frage, wäre es auch möglich, die straßenauswahl einerseits vom cbo_PLZ und von adresse_ort abhängig zu machen, also daß ich entweder oben im cbo_PLZ den ort wähle und die entsprechenden straßen im cbo_adresse bekomm

oder eben falls arzt schon adresse hat, den ort anstatt vom cbo_plz aus dem feld adresse_ort nutze. so daß dann nur cbo_adresse auswählen muß.

also, wenn ich nur die straße ändern möchte, dh. der ort bleibt gleich, kann ich direkt im cbo_adresse entsprechende straße wählen.
wenn ich jedoch den ort mitändern muß, dann halt der weg über cbo_plz und dann cbo_adresse. so wie es jetz ja geht.

mfg dirk

 

Offline bahasu

  • Moderator
  • Access Guru
  • *****
  • Beiträge: 1885
Re: Liste abhängig von Eingabe
« Antwort #21 am: Januar 27, 2013, 11:50:30 »
Hi,

ein paar "kleine" Änderungen anbei.
Wenn im Detailbereich plz eingetragen ist, kann der Ort noch geändert werden.
Wenn der Ort eingetragen ist kann in "Strasse" der Inhalt geändert werden.

"Strasse" ist von Ort + PLZ + der PLZ aus dem Formularkopf abhängig
Ort ist von PLZ (Detailbereich) + PLZ (Kopf) abhängig
PLZ (Detailbereich) ist von PLZ (Kopf) abhängig.

Jetzt stellt sich mir die Frage, ob Du überhaupt noch die Vorauswahl im Formularkopf benötigst.

Harald

[Anhang gelöscht durch Administrator]
Servus
 

Offline dfone

  • Access-User
  • *
  • Beiträge: 56
Re: Liste abhängig von Eingabe
« Antwort #22 am: Januar 27, 2013, 12:56:00 »
danke, ich schau mal rein...
 

Offline dfone

  • Access-User
  • *
  • Beiträge: 56
Re: Liste abhängig von Eingabe
« Antwort #23 am: Januar 27, 2013, 15:44:17 »
ich denke, so komm ich nun zurecht.
 

Offline gilles_de_rais

  • Access-User
  • *
  • Beiträge: 54
Re: Liste abhängig von Eingabe
« Antwort #24 am: September 13, 2017, 13:10:50 »
Hallo,
ich habe ebenfalls nach Vorbild des Beispiels auf Donkarls Seite eine Abhängigkeit gebastelt. Allerdings sind die beiden Kombifelder nicht in einem Formular, sondern das eine im Formular, das andere im Ufo.

Ich habe mehrere Varianten ausprobiert, jedoch bleibt in jedem Fall die abhängige Liste leer. Ebenso habe ich probiert, eine Kombiliste im gleichen Formular an die abhängige Kombiliste zu binden. Das Ergebnis bleibt ebenfalls das gleiche.

Folgendes habe ich unter Datensatzherkunft eingegeben:

Me!cboWartung_Auswahl.RowSource = "SELECT [tblWochenwartung].[woch_ID], [tblWochenwartung].[woch_einheit], [tblWochenwartung].[woch_art], [tblWartungAuswahl].[aus_wahl_ID] FROM [tblWochenwartung], [tblWartungAuswahl] WHERE [tblWochenwartung].[woch_art] = " &Me![tblWartungAuswahl].[aus_wahl_ID] ORDER BY [woch_ID];
Im Anhang ein Screenshot, der zumindest die Beziehungen sowie das fragliche Formular abbildet. Wenn es hilft, lade ich aber auch gerne die Datenbank hoch. Vielleicht kann ja aber so bereits jemand sehen, was ich offensichtlich falsch gemacht habe.

 

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1165
Re: Liste abhängig von Eingabe
« Antwort #25 am: September 13, 2017, 14:16:32 »
Mit dem überlangen Einzeiler (ist der Editor auch in Wartung?), der keinen gültigen VBA-Code darstellt, lässt sich wenig bis nichts anfangen. Das gleiche gilt für den Bild-Upload.

Mit einer abgespeckten Beispiel-DB mit einigen Spieldaten kann Dir vermutlich am ehesten geholfen werden.
Grüße von der (⌒▽⌒)
 
Folgende Mitglieder bedankten sich: gilles_de_rais

Offline gilles_de_rais

  • Access-User
  • *
  • Beiträge: 54
Re: Liste abhängig von Eingabe
« Antwort #26 am: September 13, 2017, 14:47:43 »
Ja, dass der Code so nicht richtig formatiert ist, war mir irgendwie ja klar. Ist nur die letzte Fassung dessen, was ich alles schon ausprobiert habe.

Anbei mal eine abgespeckte Variante meiner DB.

Gruß,
Dennis
« Letzte Änderung: September 15, 2017, 10:09:42 von gilles_de_rais »
 

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1736
Re: Liste abhängig von Eingabe
« Antwort #27 am: September 13, 2017, 14:52:21 »
Hallo,
Zitat
Allerdings sind die beiden Kombifelder nicht in einem Formular, sondern das eine im Formular, das andere im Ufo.
Me!NameUFoControl.Form!cboWartung_Auswahl.RowSource = ...(siehe auch http://www.donkarl.com?FAQ4.2)
Ob überhaupt Datensätzen zurück geliefert werden musst du selber rausfinden.
gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.
 
Folgende Mitglieder bedankten sich: gilles_de_rais

Offline gilles_de_rais

  • Access-User
  • *
  • Beiträge: 54
Re: Liste abhängig von Eingabe
« Antwort #28 am: September 13, 2017, 17:48:56 »
Vielen Dank für die Antwort. Gut möglich, dass mir das schon weiter hilft. Mir ist aber gerade ein Phänomen aufgefallen, das mich daran zweifeln lässt.

Und zwar führt selbst die Eingabe von

SELECT woch_einheit FROM tblWochenwartung
unter Datensatzherkunft zu einem Kombi ohne Inhalt.

Selbst wenn ich den Abfragegenerator einsetze, der genau diesen Code abbildet, bleibt das Kombi leer. Wähle ich unter Datensatzherkunft tblWochenwartung aus, wird mir jedoch alles so angezeigt, wie gewünscht. Gebe ich selbst tblWochenwartung ein, bleibt das Kombi wiederum leer.

Ich fürchte, ich mache etwas Grundlegendes falsch, da ich jetzt mal nicht davon ausgehe, dass Access 2016 nicht richtig läuft... Ich wäre für jeden Hinweis dankbar.

Gruß,
Dennis
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7200
Re: Liste abhängig von Eingabe
« Antwort #29 am: September 13, 2017, 17:53:38 »
Hallo,
wie sind denn die Spaltenbreite(n) des Kombifeldes eingestellt ?
Gruß
Klaus