Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Datumsbereich auswaehlen zur Berichterstellung unter Access





Frage

hallo.. habe eine datenbank unter access erstellt und nun soll zeitlich variabel der jeweilige bericht einer bestimmten abfrage ausgeworfen werden, also fuer einen bestimmten datumsbereich. der user soll vor der berichtserstellung das anfangs- und enddatum festlegen und dementsprechend der bericht erstellt werden. wie kann ich dies realisieren? ueber ereignisprozeduren? das problem ist nur, ich kenne mich mit der VBA programmierung nicht aus... hoffe, es kann mir, einem totalen laien auf diesem gebiet, jemand helfen... danke katja

Antwort 1 von RalfH

Guten Morgen Katja,

Erstelle eine Abfrage mit allen relevanten Daten die so benötigt werden.
Im Feld Datum schreibst Du unter Kriterien:
Zitat:
>=[Bitte tragen Sie das Anfangsdatum ein] Und <=[Bitte tragen Sie das Enddatum ein]


Diese Abfrage nimmst Du als Grundlage für einen Bericht.
Damit wird jedesmal wenn der Bericht aufgerufen wird, das Anfangs-, sowie das Enddatum abgefragt.

Gruß Ralf

Antwort 2 von Marie

Hier schau mal, aber bitte aufpassen, bei mir werden alle Datensätze vor diesem Datum gelöscht. Also alles zwischen then und endif umschreiben. Habe es Dir trotzdem dringelassen, damit Du siehst wie es funktioniert.

Gruß Marie

Public Static Function fkt_suchen()

On Error GoTo fkt_suchen_Err

Dim SQL As String
Dim Antwort As String

Beginne:
Antwort = InputBox("Bitte geben Sie das Datum ein (Bsp. 25.06.2007)" _
& " bis zu dem (einschließlich) alle blablabla", "blablabla:" _
& " blablabla", "31.07.2006")
If Antwort <> "" Then
If MsgBox("Sollen wirklich alle blablabla, die vor dem" & vbcrlf & vbcrlf & " " & Antwort & vbcrlf & vbcrlf _
& " blablabla werden?", vbYesNo + vbDefaultButton2, "blablabla:" _
& " blablabla bis " & Antwort & " blablabla?") = vbYes Then
SQL = "DELETE DISTINCTROW DeineTabelle.*, DeineTabelle.Abdatum FROM DeineTabelle" _
& " WHERE (((DeineTabelle.Abdatum)< DateValue('" & Antwort & "')))"
CurrentDb.Execute SQL, dbFailOnError
End If
End If

fkt_suchen_Exit:
Exit Function

fkt_suchen_Err:
If err = 13 Then 'Datentypen unverträglich
MsgBox "Die gewählten blablabla." & vbcrlf _
& "Sie haben einen Fehler bei der Datumseingabe gemacht.", vbCritical, "blablabla: Bitte geben Sie das Datum korrekt ein."
Resume Beginne
Else
MsgBox Error$, vbCritical, "blablabla: Fehler in fkt fkt_suchen Nr." & Str$(err)
End If
Resume fkt_suchen_Exit
End Function

Antwort 3 von Marie

PS: Natürlich geht es auch eleganter, dass Du gleich prüfst, ob die Eingabe ein Datum ist und bei Fehler 13 nicht in die Fehlerbehandlung läufst, aber das hier tuts auch.

Gruß Marie

Antwort 4 von kfraeger

dankeschoen fuer die infos

Antwort 5 von Marie

na ja, wäre nett zu berichten was geholfen hat, aber nach mehr als einem halben jahr weiss eh keiner mehr was das gewesen ist.

:-(

Gruß marie

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: