Hallo,
ich habe in einem Bericht (rpt_Rechnung) einen Unterbericht (rpt_Kreditkarteninfos) und möchte nun, dass die Informationen zu der Kreditkarte nur angezeigt werden, wenn für diese Rechnung auch wirklich eine Kreditkarte hinterlegt wurde. Klingt einfach, will aber nicht so wie ich.
Hier mein Code:
If Not (IsNull(DLookup("[Kreditkartennr]", "tbl_Kreditkarteninfos", "[RechNr]= '" & RechNr & "'"))) Then 'wenn das Feld "Kreditkartennr" in der Tabelle tbl_Kreditkarteninfos für die enstprechende RechNr nicht leer ist
Me.rpt_Kreditkarteninfos.Visible = True 'dann blende den Unterbreicht rpt_Kreditkarteninfos im Hauptbericht rpt_Rechnung ein
Else
Me.rpt_Kreditkarteninfos.Visible = False 'sonst blende ihn aus
End If
Mein Problem: er blendet den Unterbericht immer ein, egal ob zu dieser Rechnungsnr. Kreditkarteninfos hinterlegt wurden oder nicht >:(
Tabellen-/Berichtsaufbau:
Feld [RechNr] im Hauptbericht als Textfeld aus der Abfrage qry_Rechnungsdaten
Unterbericht rpt_Kreditkarteninfos
[Bezeichnungsfeld15] ("Folgende Kreditkarte wurde mit dem Rechnungsbetrag belastet:"),
[Kombinationsfeld26] = [Kreditkartenart] & " " & "xxxx" & " " & "xxxx" & " " & "xxxx" & " " & [Ausdr1], wobei Ausdr1 = letzte 4 Ziffern der Kredikartennr., denn nur diese sollen auf der Rechnung sichtbar sein
[Kreditkarteninhaber]
Werte für rpt_Kreditkarteninfos entnommen aus tbl_Kreditkarteninfos:
[KundenID] = Zahl
[Kreditkartenart] = Werteliste (Visa, Master)
[Kreditkarteninhaber] = Text
[Kreditkartennr] = Text
[Gültigkeitsdatum] = Datum
[KreditkartenbuchungsID] = AutoWert
[RechNr] = Text
Kann mir jemand sagen, was an meinem Code falsch ist?
Zuerst mal eines. Auch ich hätte dies so versucht.
Um das schrittweise einzugrenzen - hast Du mal den Code schrittweise durchlaufen lassen? Wird diese If-Abfrage überhaupt richt ausgeführt? Vielmal liegt es nämlich an der Abfrage "Null" ....
Wie soll ich das schrittweise durchlaufen lassen?
Hallo,
versuch mal diese Variante:
If Not IsNull(DLookup("[Kreditkartennr]", "tbl_Kreditkarteninfos", "[RechNr]= '" & RechNr & "'")) Then 'wenn das Feld "Kreditkartennr" in der Tabelle tbl_Kreditkarteninfos für die enstprechende RechNr nicht leer ist
Me.rpt_Kreditkarteninfos.Visible = True 'dann blende den Unterbreicht rpt_Kreditkarteninfos im Hauptbericht rpt_Rechnung ein
Else
Me.rpt_Kreditkarteninfos.Visible = False 'sonst blende ihn aus
End If
HTH
Mmh nee, funktioniert auch nicht. ???
Habe es unter folgender Prozedur abgelegt:
Private Sub Seitenkopfbereich_Format(Cancel As Integer, FormatCount As Integer)
Im Seitenkopf befindet sich auch das Unterformular rpt_Kreditkarteninfos.
Ist das vielleicht nicht der richtige Ort für die Prozedur?
Keine weiteren Ideen?
Habe es selbst rausgefunden: Das Feld wird zwar im Bericht weiterhin angezeigt, aber beim Druck verschwindet es mit dem oben genannten Code doch!