Neuigkeiten:

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

Mobiles Hauptmenü

Navigation mit zwei Listenfeldern

Begonnen von Arndt, Juni 21, 2016, 17:29:57

⏪ vorheriges - nächstes ⏩

Arndt

Hallo Leute, wieder eine Frage

Ich habe EIN Formular, basierend auf einer Tabelle. Und zwei Listenfelder. Siehe Abbildung.


Liste87 funktioniert korrekt.
Wenn man in Liste87 einen Wert anklickt, dann erscheinen in Liste217 alle Datensätze angezeigt, die diesen Wert im Feld massnahmedurchgang haben. Angezeigt wird in Liste217 der Wert des Feldes Nachname.

Feld217 funktioniert aber nicht korrekt.
Wenn man hier einen der Werte Nachname anklickt, dann soll das Formular auf diesen Datensatz springen. Erkennbar an den Feldern, auf die der rote Pfeil in der Abbildung zeigt.

Macht es aber nicht. Hier die Ereignisprozedur

Private Sub Liste217_AfterUpdate()
Me.Filter = "Nachname = '" & Me!Liste217.Column(0) & "'  and Vorname= '" & Me!Liste217.Column(1) & "'"
Me.FilterOn = True

End Sub

Private Sub Liste87_AfterUpdate()
    Me!Liste217.RowSource = "select * from [tblteilnehmer] Where maßnahmedurchgang = '" & Me!Liste87.Column(0) & "'"
   
End Sub


Was ist hier falsch?

MzKlMu

Hallo,
ZitatWas ist hier falsch?
alles.  ;D
Suchen und Filtern erfolgt immer mit dem Primärschlüssel. Die Teilnehmertabelle hat ja eine ID.
Die RowSource eines Listenfeldes benötigt die richtige Reihenfolge der Felder. Daher ist der * ungeeignet, hier müssen die Felder in der gewünschten Reihenfolge einzel genannt werden.
Und wenn mit der ID gefiltert wird, ist auch nur ein Kriterium erforderlich.

Der Sinn eines Primärschlüssels ist den Datensatz eindeutig zu identifizieren. Daher erfolgt Suchen und Filtern immer mit dem PS.
Gruß Klaus

Arndt

Kannst Du mir bitte mal einen Vorschlag machen?

Me!Liste217.RowSource = "select * from [tblteilnehmer] Where maßnahmedurchgang = '" & Me!Liste87.Column(0) & "'"

Also von mir verstanden wird: "wähle alles von [tblteilnehmer] wo maßnahmedurchgang der Anzeige der Liste87 entspricht.

Wie muss es statt dessen heißen?

Arndt

Ist hier vielleicht ein ' oder ein " falsch?

MzKlMu

Hallo,
ich habe keine Ahnung wie das alles zusammenhängt.
Der * ist wie gesagt völlig ungeeignet, hier müssen die Felder in der richtigen Reihenfolge einzeln genannt werden.

Zeige mal die Datenherkunft von Liste87.
Gruß Klaus

Arndt

bei 87 kommt es aus einer Tabelle

SELECT DISTINCT [tblmassnahmedurchgaenge].Maßnahmedurchgang FROM tblmassnahmedurchgaenge ORDER BY [tblmassnahmedurchgaenge].Maßnahmedurchgang DESC;


Arndt

Ich habe die Datei in den Anhang gestellt.

Im Formular SAstreichholz gibt es ein Listenfeld 217, das nicht funktioniert. Das Formular springt nicht auf den ausgewählten Datensatz, wenn man in diesem Listenfeld einen Eintrag anklickt. Das kann man unter anderem daran erkennen, dass im Feld "Nachname" der Nachname nicht erscheint.

Vermutlich handelt es sich nur um einen einfachen Einstellungsfehler, ein winzig kleines Problem, das ich als Laie aber nicht aus eigener Kraft erkennen kann und das ich deshalb gern von einem Profi heraus finden lassen würde.

Gibt es jemanden, der dieses vermutlich sehr einfache – aber für mich unlösbare Problem erkennen und beheben kann?

DF6GL

Hallo,


hier:
ZitatPrivate Sub Liste87_AfterUpdate()
    Me!Liste217.RowSource = "select * from [tblteilnehmer] Where maßnahmedurchgang = '" & Me!Liste87.Column(0) & "'"
   
End Sub
müssen die Feldnamen in der Select-Liste in derjenigen Reihenfolge auftreten, wie sie später weiter verwendet werden sollen:
ZitatPrivate Sub Liste87_AfterUpdate()
    Me!Liste217.RowSource = "select Nachname, Vorname  from [tblteilnehmer] Where maßnahmedurchgang = '" & Me!Liste87.Column(0) & "'"
   
End Sub
für

ZitatMe.Filter = "Nachname = '" & Me!Liste217.Column(0) & "'  and Vorname= '" & Me!Liste217.Column(1) & "'"
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

MzKlMu

Hallo,
Zitatmüssen die Feldnamen in der Select-Liste in derjenigen Reihenfolge auftreten, wie sie später weiter verwendet werden sollen:
Das habe ich in #1 und #4 auch schon geschrieben.
Gruß Klaus

DF6GL

Hallo Klaus,

ja, sorry, hatte nicht alles gelesen...  :-[


Aber vielleicht hilft hier: dreifach genäht hält besser...   ;)
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

MzKlMu

Hallo Franz,
der Hinweis galt eher Arndt als Dir.
Es sollte ihn animieren genauer zu lesen.  ;D
Gruß Klaus

DF6GL

Hi,

ja, klar, deshalb auch die rote/blaue Farbe    8)
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Arndt

Zitat von: DF6GL am Juni 22, 2016, 13:03:01
Hi,

ja, klar, deshalb auch die rote/blaue Farbe    8)

Das Ding ist nicht, dass ich es nicht genau lese. Ich verstehe es nur nicht, weil ich die Begriffe nicht kenne. Aber es wird ja schrittweise besser. Zum Beispiel hat mir Franzens Beispiel besser klar gemacht was Du gemeint hast.

Arndt

Zitat von: DF6GL am Juni 21, 2016, 22:25:12
Hallo,
ZitatMe.Filter = "Nachname = '" & Me!Liste217.Column(0) & "'  and Vorname= '" & Me!Liste217.Column(1) & "'"

Danke für die Korrektur, ich kann jetzt erkennen was gemeint ist und selbständig für andere Zwecke einsetzen.

Weißt Du auch, wie ich das hier ans Laufen bekomme?

Private Sub txtNachname_Change()
Me.Filter = "Nachname Like '" & Me!txtNachname & "*'"
Me.FilterOn = True
End Sub

Arndt

DF6GL

Hallo,

Was geht denn nicht? Und wie genau willst Du filtern?

Der Code als solches scheint i. O. zu sein....Soll heißen:  jedes Mal, wenn im Feld "txtNachname" ein Zeichen eingegeben wird, werden alle DS angezeigt, bei denen der Nachname  mit dem/den eingegebenen Zeichen am Anfang übereinstimmt.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access