Neuigkeiten:

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

Mobiles Hauptmenü

Eingabe in Listenfeld in Formular erzwingen

Begonnen von Paule, März 07, 2016, 16:53:43

⏪ vorheriges - nächstes ⏩

Paule

Hallo,

ich habe ein Formular mit einem Listenfeld. Dieses Listenfeld ist an keine Tabellenfeld gebunden, sodass ich nicht darüber die Eingabe erzwingen kann.
Trotzdem soll dieses Feld ausgefüllt werden müssen in dem Formular.
Wie kann ich das anstellen?

Danke und viele Grüße,
Marcus

MzKlMu

Hallo,
aber dann muss doch dieses Feld gebunden sein, wie willst Du sonst einen Wert in der Tabelle speichern ? Ungebunden geht ja der ausgewählte Wert verloren.
Die Datenherkunft des Listenfeldes muss doch unterschiedlich sein zu der Datenherkunft des Formulars.

Falls ich das nicht richtig verstanden habe, muss Du das Vorhaben genauer erklären.
Gruß Klaus

Paule

Nein, vielleicht war das zu kurz erklärt.

Ich habe ja eine Tabelle mit den Details zu den Kreditverträgen angelegt.
Weiterhin habe ich eine Tabelle mit den Rückzahlungen zu den jeweiligen Krediten angelegt.

Nun habe ich zur Auswertung der Daten eine Abfrage gestaltet, die mir eine Übersicht über die anstehenden Zahlungen (Rückzahlungen und Zinsen) ausgibt. Diese funktioniert wunderbar. Dazu habe ich ein Formular erstellt, indem Start- und Enddatum des Zeitraums angegeben werden können und die dann als TempVars in der Abfrage berücksichtigt werden.

Außerdem möchte ich mir nun auf Knopfdruck die Rückzahlungspläne EINZELNER Kredite anschauen. Dazu habe ich wieder ein Formular erstellt, indem sowohl Zeitraum als auch der entsrechende Kredit ausgewählt werden sollen. Die Auswahl der Kredite läuft bei mir über ein Listenfeld, wo ich die Daten aus der Tabelle mit den Kreditdetails ziehe. In dieses Feld soll nun unbedingt etwas eingetragen werden, ohne das es gespeichert wird.

Ich hoffe, ich habe mein Anliegen jetzt besser dargelegt.  :)

DF6GL

Hallo,

ZitatIn dieses Feld soll nun unbedingt etwas eingetragen werden, ohne das es gespeichert wird.

Wenn dieses Feld nur zur Auswahl dient, wozu soll dann die Auswahl gespeichert werden?

Wenn die Auswahl "gemerkt" werden soll, z. B. zur Weiterarbeit am nächsten Tag und nach den Neustart der DB, dann muss
-- in der Tabelle , die dem Listenfeld zugrunde liegt, ein "Merkfeld" mitgeführt werden, das zur Zuweisung der Auswahl an das Listenfeld verwendet und entspr. "gemanaged" wird

oder

-- der Auswahlwert in  eine separate Tabelle oder auch in eine benutzerdefinierte Property der DB dauerhaft, d. h. bis zur nächsten Listenfeld-Auswahl geschrieben werden, um den Wert wie oben gesagt, dem Listenfeld zuweisen zu können.

Wenn das nicht zutrifft, habe ich Dein Vorhaben auch nicht verstanden....



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

Paule

Hallo,

es soll ja mit dem Formular ein bestimmter Kredit angegeben werden, von dem ich mir den Rückzahlungsplan anschauen möchte.
Und zwar NUR von diesem Kredit und nicht von allen anderen.
Daher muss also auch eine Auswahl in dem Formular stattfinden, damit am Ende nicht wieder alle Rückzahlungen aller Kredite gezeigt werden.
Aber deswegen soll er ja den Wert nicht speichern. Ich brauche nur eine Angabe, welcher Kredit gezeigt werden soll. Es ist eine Detailfrage, und es würde sicher auch ohne gehen, aber das hatte ich mich eh schon mal gefragt.

Alternativ kam mir gestern Abend noch die Idee mit einer Message Box wenn das Feld leer bleibt, die dann dem User sagt, dass eine Angabe gemacht werden muss.


DF6GL

Hallo,


ich verstehe Dein Problem nicht ganz...

Zitat
es soll ja mit dem Formular ein bestimmter Kredit angegeben werden, von dem ich mir den Rückzahlungsplan anschauen möchte.


Erzeuge ein Formular, das auf der Tabelle tblKredite basiert und das eine Such-/Filterfunktion(alität) enthält, mit der ein bestimmter Kredit angezeigt werden kann. Ein UFO zeigt Dir dann sofort den Rückzahlungsplan an, sofern der Tabellenaufbau stimmig ist.


Ansonsten, wenn der Tabellenaufbau anders (aber trotzdem stimmig, d. h. normalisiert!) erzeugt wurde, kann die im Formular akt. angezeigte Kredit-Nummer z. B. für ein Abfrage-Kriterium verwendet werden....
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,
ich denke, er will sicherstellen, dass in dem Listenfeld etwas ausgewählt ist vor dem Suchen.

In diesem Falle muss in dem Code mit dem gesucht wird geprüft werden ob in dem Listenfeld etwas gewählt ist.
Grundsätzlich ist das dann mit der MsgBox ein sinnvoller Weg.

If IsNull(Me.Listenfeldname) Then
     MsgBox "Bitte erst einen Eintrag wählen"
     Exit Sub
Else
     ' Ab hier Suchcode
End If


Gruß Klaus

DF6GL

Hallo,

ja, vermutlich....


Ich hatte vor einiger Zeit geraten, den SQL-String dynamisch zusammenzusetzen, dann könnten diese Plausi-Prüfungen einfach erledigt werden, anstatt Tempvars-Elemente einzusetzten, und das auch noch über  Makro...
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

Paule

Zitat von: MzKlMu am März 08, 2016, 11:25:29
Hallo,
ich denke, er will sicherstellen, dass in dem Listenfeld etwas ausgewählt ist vor dem Suchen.

In diesem Falle muss in dem Code mit dem gesucht wird geprüft werden ob in dem Listenfeld etwas gewählt ist.
Grundsätzlich ist das dann mit der MsgBox ein sinnvoller Weg.

If IsNull(Me.Listenfeldname) Then
     MsgBox "Bitte erst einen Eintrag wählen"
     Exit Sub
Else
     ' Ab hier Suchcode
End If


Richtig,
das wollte ich sicherstellen.
Sorry für meine augenscheinlich komische Erklärung und danke für die Hilfe.