ich habe ein komisches Problem beim Öffnen eines Berichts aus einem Formular
heraus. Hier erstmal der Code des OnClick-Events für den Ansichtsbutton:
Private Sub AuA_Ansicht_Click()
Dim wSt As String
wSt = "[ID_Multi] = " & Me.Controls("ID_Multi").Value
Debug.Print Me.ID_Multi & ";" & wSt
DoCmd.OpenReport "rptOffen_AUA", acViewPreview, , wSt
End Sub
ID_Multi ist ein Autowert/Schlüsselfeld von Access. Als Ausgabe der
Debug-Anweisung erhalte ich beispielsweise:
60077692;[ID_Multi] = 60077692
Sieht soweit ganz gut aus, oder? Jetzt kommt das Problem. In dem Bericht
werden mittels Seitenkopfbereich_Print() noch Formatierungen gemacht. Dazu
gehört auch folgendes:
Me.Controls("Adresstext") = Me.Controls("Vorname") & " " &
Me.Controls("Nachname") & vbNewLine & Me.Controls("Strasse") & vbNewLine &
Me.Controls("Postleitzahl") & " " & Me.Controls("Ort")
Bei dieser Zeile kommt die Fehlermeldung "Sie haben einen Ausdruck
eingegeben der keinen Wert hat".
Wenn ich mir vorher mit debug.print die [ID_Multi] des Berichts ausgeben
lasse kommt NULL raus. Deshalb kann er auch keine Kundendaten zu diesem
Beleg haben, ist klar. Ich bin etwas ratlos, da ich doch die [ID_Multi]
vorher explizit übergeben habe. Die Datensätze existieren in der Datenbank
(seit über einem halben Jahr!). Wenn ich durch meine Datensätze blättere und
wahllos den Bericht aufrufe bekomme ich manchmal den Fehler, ein anderes Mal
geht alles wie gewollt. Hat jemand eine Idee, wie ich das in den Griff
kriegen kann?
Gruß und Dank
Sebastian
On Fri, 6 Aug 2004 11:03:15 +0200, Sebastian Rolf wrote:
> ich habe ein komisches Problem beim Öffnen eines Berichts aus einem Formular
> heraus. Hier erstmal der Code des OnClick-Events für den Ansichtsbutton:
>
> Private Sub AuA_Ansicht_Click()
> Dim wSt As String
>
> wSt = "[ID_Multi] = " & Me.Controls("ID_Multi").Value
> Debug.Print Me.ID_Multi & ";" & wSt
>
> DoCmd.OpenReport "rptOffen_AUA", acViewPreview, , wSt
> End Sub
>
> ID_Multi ist ein Autowert/Schlüsselfeld von Access. Als Ausgabe der
> Debug-Anweisung erhalte ich beispielsweise:
> 60077692;[ID_Multi] = 60077692
>
> Sieht soweit ganz gut aus, oder?
Ja, vorausgesetzt 60077692 existiert.
> Jetzt kommt das Problem. In dem Bericht
> werden mittels Seitenkopfbereich_Print() noch Formatierungen gemacht. Dazu
> gehört auch folgendes:
>
> Me.Controls("Adresstext") = Me.Controls("Vorname") & " " &
> Me.Controls("Nachname") & vbNewLine & Me.Controls("Strasse") & vbNewLine &
> Me.Controls("Postleitzahl") & " " & Me.Controls("Ort")
>
> Bei dieser Zeile kommt die Fehlermeldung "Sie haben einen Ausdruck
> eingegeben der keinen Wert hat".
> Wenn ich mir vorher mit debug.print die [ID_Multi] des Berichts ausgeben
> lasse kommt NULL raus.
Das eine hat mit dem anderen erst mal nichts zu tun. Du solltest in
Report_Open mal anhalten und dir die RecordSource ausgeben lassen. Diese
kopierst du in eine Abfrage und fuehrst sie aus. Bekommst du Daten?
Gruss - Peter
--
Ich beantworte keine Fragen per Email.
Mitglied im http://www.dbdev.org
FAQ: http://www.donkarl.com
DANKE! Da fiel auf einmal der Groschen. Die Abfrage für den Bericht hatte
Elemente aus einer weiteren Abfrage und diese war eingeschränkt. Manchmal
sieht man den Wald ... :-)
Danke nochmal für das Augenöffnen.
Gruß und schönes Wochenende
Sebastian
Peter Doering <nos...@doering.org> wrote in
news:2nh1sf...@uni-berlin.de: