Veröffentlicht 19. Juni 200619 j Huhuh Leute! Folgendes Prob: Es soll in Access eine Rechnungstabelle gefüllt werden (18 Felder, 1 Schlüssel). Soweit so gut. Alles kein Problem. Die Rechnungen werden nachher per Bericht wunderbar ausgedruckt. Das Problem: Wenn ich mehrere Datensätze erfasst und ausgedruck habe, sollen beim nächsten Rechnungsdruck natürlich nur die Datensätze gedruckt werden die noch nicht gedruckt (und verschickt) wurden. Falls aber Rechnungen nachgedruckt werden müssen, muss das auch möglich sein... Ich brauche also die Möglichkeit sozusagen "on-the-fly" eine Ergebnistabelle aus der Rechnungstabelle zu erstellen. Am besten macht der Anwender Angaben welche Rechnungen er drucken möchte und dann führe ich den entsprechenden select aus. Ich habe bereits die Abfrage erstellt - funktioniert einwandfrei, nur wie teile ich Access mit das die gedruckten Datensätze nach dem Druck als gedruckt zu kennzeichnen sind?! Und muss ich für jeden Anwendungsfall einen eigenen Bericht erstellen..? wer ist hier der Access Chefkoch?!
19. Juni 200619 j wer ist hier der Access Chefkoch?!Access? Ist das was zum Essen? Die Köche wirst du aber eher in der Datenbanken-Ecke finden. Thread verschoben.
19. Juni 200619 j Hallo, du hast ja irgendwo eine Rechnungstabelle. Dort fügst Du eine Spalte gedruckt und vielleicht zuletzt gedruckt ein. Und beim Drucken muss mittels VBA der Datensatz upgedatet werden und gedruckt auf 1 gesetzt werden oder so. Frank
19. Juni 200619 j jaaaaaa... soweit war ich auch schon - also Flag-Feld "gedruckt ja/nein" existiert bereits... nur wie teile ich Access mit das die gedruckten Datensätze nach dem Druck als gedruckt zu kennzeichnen sind?! Wie greife ich in den PAP ein?! Wenn ich den Bericht erstellt habe, dann klicke ich oben auf Druck und alles weitere läuft via Windows-Routine... oder muss ich den kompl. Bericht (und Drucklayout, etc) händig per Makro erstellen?
19. Juni 200619 j Geh in den Entwurfbereich von dem Bericht. Dann Doppelklick auf den Balken Detailbereich und dann Registerkarte Ereignis und dann "Beim Drucken" Ereignisprozedur auswählen und dann dort VBA Code einfügen. Hier mal ein Beispiel um alle Datensätze in der Tabelle upzudaten wo die Spalte Festgehalt != 0 ist. So ähnlich kannst Du dann dein gedruckt updaten. Jetzt muss nur noch der richtige Datensatz geändert werden. Dim Datenbank As Database Dim Tabelle As Recordset Set Datenbank = CurrentDb Set Tabelle = Datenbank.OpenRecordset("Name der Tabelle", dbOpenTable) Anzahl = Tabelle.RecordCount 'Anzahl der Datensätze in der Tabelle Tabelle.MoveFirst If Anzahl <> 0 Then For i = 1 To Anzahl If Tabelle!Festgehalt <> 0 Then Tabelle.Edit Tabelle!Lohnsatz = Tabelle!Festgehalt / 163 Tabelle.Update End If Tabelle.MoveNext Next i End If Tabelle.Close Datenbank.Close [/code] Frank
19. Juni 200619 j ei der daus! sehr guter Tip - genau das brauchte ich! THX! (umgesetzt wird das aber erst morgen auf der Arbeit ) *prost*
5. Juli 200619 j Erstmal nochmal thx, das funktioniert (fast) alles. Jetzt allerdings hat sich herausgestellt (zum Glück hab ich es wenigstens selbst bemerkt ), das dieses "Script" bereits BEIM AUFRUF DES BERICHTS die Datensätze ändert! Also nicht nur dann wenn der Befehl zum Drucken gegeben wurde... Anscheinend ist der "Einsprungpunkt" (Ereignisprozedur beim Drucken) falsch... oder muss ich einen Drucken Button in den fraglichen Detailbereich legen und gilt mein "Script" dann nur für diesen Button..? Mal wieder viele Fragen, hoffe einer kennt sich mit Access besser aus als ich THX -janmo-
5. Juli 200619 j Das Ereignis "beim Drucken" wird glaube ich auch ausgelöst wenn man sich den Bericht anzeigen läst. Frank
6. Juli 200619 j hmmm... das ist schlecht. Hat einer vielleicht ne Idee wie ich das umgehen kann..? VG
6. Juli 200619 j ich habe ja so gar keine Ahnung von Access btw: Ich habe im Formular mehrere berechnete Felder hinzugefügt. Sieht im Formular super aus, nur leider schreibt Access die berechneten Feldinhalte nicht in die Tabelle. Wenn ich also nachher einen Bericht erstelle, sind die fraglichen Felder nicht gefüllt.. was muss ich dem Formular hinzufügen damit's klappt..?! Vielen Dank
6. Juli 200619 j Auf dem Formular ein Speichern Button einbauen und dort mit dem obigen Skript die Sachen manuell in der Tabelle speichern. Frank
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.