Neuigkeiten:

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

Mobiles Hauptmenü

Unterformular speichert keine Daten (Stichwort Schlüsselfelder)

Begonnen von Parzelle387, Februar 22, 2020, 11:16:06

⏪ vorheriges - nächstes ⏩

MzKlMu

Hallo,
ZitatDer besteht aber auch nur aus drei Krontrollkästchen.
Ein Reiter für 3 Kontrollkästchen ?
Was stellen die denn dar ?

Zu was werden denn die Kostenträger zugeordnet ?
Zum Mandaten ?
Zum Vorgang ?
Zur Rechnung ?

Erkläre das mal genauer.
Gruß Klaus

Parzelle387

Hallo,

ich habe mittlerweile insgesamt 4 Reiter hinzugefügt.
Alle werden den Personen(Mandanten) zugeordnet, verknüpft über die PersonID
1. Kontoverbindung, 2. Pflegegrad, 3. Verteilschlüssel der Kostenträger, 4. Kostenträger.

Ist es eigentlich nicht vielleicht doch möglich, den Reiter mit den Rechnungen/Vorgängen irgendwie von den anderen zu trennen ? Ich dachte da an das gleiche Formular Erfassen NUR mit dem Ufo Rechnungen....
Hintergrund ist, die Kundendaten gebe ich ja in der regel nur einmal ein, bis auf die ein oder andere Änderung bei Bedarf.
Das mit den Vorgängen und Rechnungen ist die eigentliche "Arbeit".
Hier heraus möchte ich ja auch diverse Berichte erzeugen, die dann an die Kundendaten geknüpft sind. Also z.B. nach Eingabe der Rechnungen entsprechende Schreiben an die Kostenträger erzeugen etc..



MzKlMu

Hallo,
Zitatden Reiter mit den Rechnungen/Vorgängen irgendwie von den anderen zu trennen ?
Ja, das ist schon möglich. Bedenke aber, dass das auf diesem Register/Reiter 2 Unterformulare sind. Ufo1 zeigt die Vorgänge und darin ist ein Ufo das die Rechnungen zum Vorgang zeigt. Du brauchst also ein Formular das die Vorgänge in einem Hafo zeigt und darin muss ein Ufo für die Rechnungen angelegt werden.
Im Hafo für die Vorgänge musst Du eine Möglichkeit schaffen (z.B. mit einem Kombi oder Listenfeld) einen Mandanten zu suchen und anzuzeigen. Dabei ist zu bedenken, dass ein Mandant mehrere Vorgänge haben kann.
Gruß Klaus

Parzelle387

Kann ich eigentlich die langen Listenfelder (Vorgang suchen & Personen suchen) sortieren ?
Im Moment steht der "älteste" Datensatz oben.
Bei den Personen ist es egal, aber bei den Vorgängen wäre es schön, wenn der "letzte/neueste" oben steht.

MzKlMu

Hallo,
natürlich kannst Du die sortieren. Die Listenfelder haben als Datenherkunft eine Abfrage (auf die 3 Punkte hinten klicken in der Zeile) und in jeder Abfrage kannst Du wie gewünscht sortieren.
Gruß Klaus

Parzelle387

#20
In der Datenherkunft war keine Abfrage drin, daher hatte ich mich schon gewundert.
Hab jetzt eine Abfrage eingefügt und "sortieren"eingestellt.

Ich kann aber da eintragen was ich will, absteigend oder aufsteigend, es bleibt immer der 1. Eintrag oben stehen.
Kann das mit den Filterkriterien des Ereignisses beim Anzeigen zusammen hängen ?

DF6GL

Hallo,


ZitatIn der Datenherkunft war keine Abfrage drin, daher hatte ich mich schon gewundert.
Dann wird die Datensatzherkunft vermutlich durch VBA-Code eingestellt.


ZitatKann das mit den Filterkriterien des Ereignisses beim Anzeigen zusammen hängen ?


und was stehen denn dort für Kriterien?  Zeig mal den Code..
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

Parzelle387

#22


Das Listenfeld selbst:

Private Sub lstVorgangSuchen_AfterUpdate()
Dim rs As Object
    Set rs = Me.Recordset.Clone
    rs.FindFirst "[VorgangsID] = " & Me.lstVorgangSuchen
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark
End Sub

Private Sub lstVorgangSuchen_GotFocus()
    Me.lstVorgangSuchen.RowSource = "SELECT VorgangsID, VorgDatum, lfdNr, Vorgabgeschlossen FROM tblVorgang WHERE PersonID_F=" & Me.PersonID_F
End Sub

Das Ufo:

Private Sub Form_Current()
    Me.lstVorgangSuchen.RowSource = "SELECT VorgangsID, VorgDatum, lfdNr, Vorgabgeschlossen FROM tblVorgang WHERE PersonID_F=" & Me.PersonID_F
    Me.lstVorgangSuchen = Me.VorgangsID
End Sub

MzKlMu

Hallo,
die Zuweisung von RowSource (Datenherkunft) per VBA hebt die Einstellungen in den Eigenschaften auf. Die kannst Du dort wieder löschen.
Ergäze die "Select ... " Zeile wie folgt.

"SELECT VorgangsID, VorgDatum, lfdNr, Vorgabgeschlossen FROM tblVorgang WHERE PersonID_F=" & Me.PersonID_F & " Order By Feldname"Sortiert aufsteigend.
...Order By Feldname Desc"
sortiert absteigend. Leerzeichen vor Order nicht vergessen.
Beide Select Zeilen entsprechend ergänzen.
Mit Order By kann man auch eine kommagetennte Feldliste übergeben um nach mehreren Feldern zu sortieren.

Gruß Klaus

Beaker s.a.

ZitatBeide Select Zeilen entsprechend ergänzen.
Wobei die Zuweisung bei "GotFocus" überflüssig ist.
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)

Parzelle387


MzKlMu

#26
Halo,
@ekkehard
ZitatWobei die Zuweisung bei "GotFocus" überflüssig ist.
nein, ist es nicht. Wenn in einem bestehenden Datensatz (wegen einer Falscheingabe z.B.) die PersonID_F geändert werden muss, so wird Form_Current() nicht ausgelöst. Das Listenfeld lstVorgangSuchen muss aber trotzdem angepasst werden, daher ist "GotFocus" notwendig.
Gruß Klaus

Beaker s.a.

Hallo Klaus,
Zitatso wird Form_Current() ausgelöst ...
... und das Listfeld aktualisiert, - oder was übersehe ich dabei?
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

Hallo,

Klaus hat hier :

Zitatso wird Form_Current() ausgelöst

"..nicht.." vergessen... ;)
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

Ja, habe das nicht vergessen. Habe es oben noch nachgetragen.
Danke für den Hinweis.
Gruß Klaus