Neuigkeiten:

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

Mobiles Hauptmenü

Kontrollkästchen durch Befehlsschaltfläche im Endlosformular automatisch setzen.

Begonnen von Parzelle387, März 20, 2020, 13:14:09

⏪ vorheriges - nächstes ⏩

Parzelle387

Hallo mal wieder,

ich hab ein Endlosformular mit mehreren Datensätzen meist so 5-10 Stück.
Jeder Datensatz hat ein KK das ich "markieren" kann um NUR diese markierten DS per Befehlsschaltfläche zu drucken.
Das funktioniert auch bestens.
Nun hätte ich gerne, das durch diese Befehlsschaltfläche für JEDEN markierten DS ein weiteres KK gesetzt wird.
Hintergrund:
Wenn ich später die restlichen, noch nicht markierten DS drucken möchte, markiere ich diese natürlich vorher, doch jetzt werden Alle DS gedruckt, auch die vom 1 Druck, was ich aber vermeiden möchte.
Ich habe es mit:

If Me.KK4711 = "-1" Then
Me.KK0815 = "-1"
End If


probiert, leider wird damit aber nur im 1. DS das KK gesetzt leider nicht die anderen in dem Endlosformular

Ich hoffe ich habe mich verständlich genug ausgedrückt.

Schönes WE vorab  ;)

DF6GL

Hallo,

Sub btnDrucken_Click()
.
.
.
.
Currentdb.Execute "Update tblDeineTabelle Set KK0815 = KK4711 Where <<DieFilterungdesEndlosforms<<"
me.Requery
.
.
End Sub
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,
eigentlich sehe ich keinen Sinn in dem Vorhaben.
Machst Du beim nächsten Druck dann ein weiteres KK.
Ich würde nach dem Druck eine Datensatzgruppe abfragen (per MsgBox) ob der Druck erfolgreich war, wenn Ja, mit eine Aktulisierungsabfrage wieder alle KK auf False setzen, dann kann für einen neuen Druck wieder erneut angehakt werden.
Gruß Klaus

Parzelle387

Hallo,

ich muss ja beim nächsten mal wissen, welche DS ich schon gedruckt habe. Daher müssen die von mir gesetzten "Häkchen"
erhalten bleiben. Und wenn ich beim nächsten mal weitere "Häkchen" dazu setze, sollen nur die DS gedruckt werden, die ich neu gesetzt hab.
ERs kann halt sein, das ich von z.B. 10 Datensätzen in dem Endlosformular beim 1. Mal die DSe 2,4,5 & 8 drucke.
Ein paar Tage später dann DS 1 & 3, und noch an einem anderen Tag 6,7,9 & 10.

Aber ich bin wahrscheinlich eh zu blöd, den Code richtig zu schreiben, funktioniert nämlich nicht.
Was meinst du mit Die Filterung des Endlosformulars ????
Da wird eigentlich nichts gefiltert. Der Druck der markierten DS erfolgt über eine Abfrage, in der ein Kriterium des KK eingefügt ist.


MzKlMu

Hallo,
schreibe mit einer Anfüge Abfrage die IDs der gedruckten Datensätze in eine Tabelle.
In einer Abfrage mit der Tabelle der Datensätze die Du drucken willst und der (neuen) Tabelle der Datensätze die gedruckt sind kannst du Dir alle nicht gedruckten DS direkt anzeigen lassen und darin erneut zum Drucken wählen.

Von welcher Tabelle willst Du die Datensätze drucken ?
Gruß Klaus

Parzelle387

Ich möchte gerne die Datensätze der Tabelle Rechnungen drucken. Und da ich nicht immer alle auf einmal drucken will/muss, dachte ich an dieses zusätzliche KK.

Kannst du mir dazu auch noch einen Tipp geben:
Me.lstVorgangSuchen.RowSource = "SELECT VorgangsID, VorgDatum, Berichtsnummer, Vorgabgeschlossen, Rechnbezahlt FROM tblVorgang WHERE PersonID_F=" & Me.PersonID_F & " Order By lstVorgangSuchen Desc"
    Me.lstVorgangSuchen = Me.VorgangsID


Die Liste zeigt mir immer den 1. Datensatz an. Ich hätte aber gerne, das der letzte Datensatz, der ja durch den Zusatz "Order By lstVorgangSuchen Desc" bereits ganz oben steht auch angezeigt wird.

MzKlMu

Hallo,
das KK ist ja auch Ok.
Mit der vorgeschlagenn zusätzlichen Tabelle dokumentierst Du die gedruckten Rechnungen.
Mit einer Abfrage kannst Du dann die Rechnungen ermitteln und anzeigen und erneut mit dem KK auswählen was zu drucken ist.

Deine andere Frage habe ich nicht ganz verstanden.
Gruß Klaus

Parzelle387

Vielen Dank, ich werde es probieren.

die 2. Frage:
Wenn ich das Formular Erfassung öffne, dann zeiugt mir das ungebundenen Listenfeld die Liste der Vorgänge an. Das bewirkt der VBA-Code:
Me.lstVorgangSuchen.RowSource = "SELECT VorgangsID, VorgDatum, Berichtsnummer, Vorgabgeschlossen, Rechnbezahlt FROM tblVorgang WHERE PersonID_F=" & Me.PersonID_F & " Order By lstVorgangSuchen Desc"
    Me.lstVorgangSuchen = Me.VorgangsID

Angezeigt wird aber immer der zuerst angelegte DS. Durch den Zusatz:
& " Order By lstVorgangSuchen Desc"
steht der zuletzt angelegte DS ganz oben und der erste ganz unten. Es wir aber weiterhin der zuerst angelegte, nun ganz unten stehende DS angezeigt.
Ich hätte gerne den zuletzt angelegten Vorgang gleich beim öffnen angezeigt, weil es meist der ist, den ich auch bearbeiten will.

MzKlMu

Hallo,
das Listenfeld und das Ufo müssen gleich sortiert sein.
Öffne das Unterformular "ErfassungUfoVorg" im Entwurf und lege als Datenherkunft eine Abfrage an und sortiere diese nach dem Vorgangsdatum absteigend.
Das Listenfeld muss auch mit diesem Datum sortiert werden und nicht nach dem Listenfeld, das passt nur zufällig. Ändere wie folgt:
... & " Order By VorgDatum Desc"
Bitte beide Subs ändern.
Gruß Klaus