Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: m4xx am Januar 29, 2011, 09:31:26

Titel: letzten Datensatz audrucken
Beitrag von: m4xx am Januar 29, 2011, 09:31:26
Hallo Gemeinde, ich als voller Neuling komm nicht weiter


ich hab eine Tabelle und möchte den letzten Datensatz audrucken lassen.

so zur Erklärung ich habe ein programm das mir automatisch in eine Access tabelle daten rein schreibt nun soll über einen button der letzte datensatz ausgedruckt werden.

ich habs schon mit Max oder letzter wert aber es funktioniert einfach nicht.

Ich bin am verzweifeln :-(

[Anhang gelöscht durch Administrator]
Titel: Re: letzten Datensatz audrucken
Beitrag von: database am Januar 29, 2011, 09:39:13
Hallo,

wenn du eine Abfrage erstellst und in den SQL Bereich dieser Abfraqge folgende SQL KOPIERST, erhältst du den letzten Datensatz angezeigt.


SELECT TOP 1 C_TEST.*
FROM C_TEST
ORDER BY C_TEST.M_INDEX DESC;


Nun solltest du einen Bericht erstellen, der auf dieser Abfrage beruht und diesen dann ausdrucken um zum gewünschten Ergebnis zu gelangen.
Daten sollten IMMER über Berichte ausgedruckt werden um die Möglichkeiten der Ausgabegestaltung nutzen zu können.

HTH
Titel: Re: letzten Datensatz audrucken
Beitrag von: m4xx am Januar 29, 2011, 10:03:47
SUPER DANKE


SCHON PROBIERT UND ES FUNKTIONIERT

DANKE DANKE

PS:
ICH WERDE MIR EINEN ACCESS KURS GÖNNEN
Titel: Re: letzten Datensatz audrucken
Beitrag von: m4xx am Januar 29, 2011, 11:06:03
HI "database" es funktioniert schon gut hab nur noch ein problem

beim drucken übers makro kommt ein Fenster Makrodefination drucken.

kann ich das deaktivieren?

Titel: Re: letzten Datensatz audrucken
Beitrag von: database am Januar 29, 2011, 14:37:55
Hallo,

Zitates funktioniert schon gut ...

schön zu lesen!  ;)

Hast du meinen Rat befolgt (Abfrage und Bericht)?

Wenn ja dann vergiss mal schnell das Makro!

Wenn du mit Access 2007 oder 2010 arbeitest folgendes:
Erstell ein einfaches Formular und bestimme in der Entwurfsansicht auf der Registerkarte 'Andere' PopUp ---> JA (damit bekommst du ein 'kleines' Formular in der Formularansicht angezeigt.

Bei Access 2003 brauchst du das nicht machen.

Erstelle auf dem Formular einen Button (Befehlsschaltfläche) und bennenne diese in den Eigenschaften des Steuerelements auf der Registerkarte 'Andere' Name ---> cmdPrintOut
Dann wechselst du auf die Registerkarte 'Ereignisse'.
Hier wählst du neben 'Beim Klicken' aus dem Dropdown [Ereignisprozedur] aus und klickst danach auf die drei Punkte rechts davon.

Du befindest dich nun im VBA-Editor in der Prozedur Private Sub cmdPrintOut_Click()

Gleich unter diese Zeile schreibst du folgendes hin:

DoCmd.OpenReport "NameDeinesBerichts", acViewPreview

Nach dieser Zeile sollte dann noch stehen    End Sub

'NameDeinesBerichts' ersetzt du natürlich tunlichst durch den realen Namen deines Berichts.  ;)

Speichere das Formular als frmPrintOut ab und zeige die Formularansicht.
Danach klickst du auf den Button - der Bericht sollte sich jetzt in der Duckvorschau öffnen.
Das war's  8)

Natürlich nur wenn du dich an meine Empfehlung gehalten hast. ::)
Makros sollten, so gut wie immer vermieden werden.
Sie sind nicht zu debuggen, können nicht dokumnetiert werden und eine Fehlersuche ist immens aufwändig bis unmöglich.

HTH
Titel: Re: letzten Datensatz audrucken
Beitrag von: m4xx am Januar 30, 2011, 00:23:58
super funktioniert es und ich habe es so gemacht wie du beschrieben.

Eine frage hätt ich noch

wie soll ich den code ändern das sich kein fenster öffnet sondern gleich druckt
und danach sollte sich die Datenbank schliesen.

lg m4xx
Titel: Re: letzten Datensatz audrucken
Beitrag von: Manfred S am Januar 30, 2011, 00:40:05
Hallo,
anstelle acViewPreview
schreibst Du acViewNormal

dann wird der Bericht gleich gedruckt
Titel: Re: letzten Datensatz audrucken
Beitrag von: m4xx am Januar 30, 2011, 04:30:39
Danke :-)
Titel: Re: letzten Datensatz audrucken
Beitrag von: database am Januar 30, 2011, 09:08:05
Hallo,

um die DB nach dem Ausdruck automatisch zu schließen - also Access zu beenden
schreibst du als letzte Codezeile

DoCmd.Quit