[VB 6.0 SP6][DataReport] --> Ungültige Datenquelle

MultiStorm

Grünschnabel
Hallo alle zusammen,
Ich habe ein Problem mit einem DataReport
immer wenn ich versuche den DataReport zu öffnern bekomme ich die FM "Ungültige Daternquelle" und ich komme nicht dahiner warum.

den code den ich dazu verwende habe ich schon öffter genutzt ..
eigentlich immer ohne Probleme ..

die Grundlage:
Datenbank: Access (JET 4.0)

hier der code für die Connection:

Code:
Option Explicit

Public CnA As New ADODB.Connection
Public RsA As New ADODB.Recordset
Public sSQL As String
Public li As ListItem

Public Sub Set_Connection()

If SHOW_ERROR = True Then
    On Local Error GoTo Fehler
End If

Dim MyPath As String

    MyPath = App.Path
    
    If Right(MyPath, 1) <> "\" Then
        MyPath = MyPath & "\"
    End If
    
   With CnA
        .CursorLocation = adUseClient
        .Mode = adModeShareDenyNone
        .Provider = "Microsoft.Jet.OLEDB.4.0"
        .ConnectionString = "Data Source=" & MyPath & "DBase\DBase.mdb"
        Debug.Print .ConnectionString
        .Open
    End With
    
Exit Sub
Fehler:
error_show.Show
error_show.Fehler_Handling(0).Caption = Err.Number
error_show.Fehler_Handling(1).Caption = "DBase_Connection"
error_show.Fehler_Handling(2).Caption = "SET_Connection"
error_show.txt_Fehler_Handling.Text = Err.Description & vbCrLf & "DBase: " & vbCrLf & MyPath & "DBase\DBase.mdb"
End Sub

So kommen wir nun zum eigentlichen Code:

Code:
Public Sub Rechnung_Drucken(Rechnungsnummer As String, Optional Show_Priview As Boolean = False)
'#############################################################
'#Projekt:
'#Datum: 08.10.2008
'#Beschreibung:
'#
'#Input:
'#"Show_Priview" = Druckvorschau anzeigen Ja/Nein
'#############################################################
If SHOW_ERROR = True Then
    On Error GoTo Fehler
End If

Dim SQL_Report As String
Dim Rechnungskopf As String

Dim RS_Report As New ADODB.Recordset
Dim RS_Rechnungskopf As New ADODB.Recordset
Dim RS_Rechnungspositionen As New ADODB.Recordset

SQL_Report = vbNullString
SQL_Report = "SELECT * FROM Rechnungen Where Rechnungsnummer = " & Rechnungsnummer

RS_Report.CursorLocation = adUseClient
RS_Report.Open SQL_Report, CnA, adOpenKeyset, adLockOptimistic

If RS_Report.EOF = True Then
    MsgBox "Die Rechnunung mit der Nummer: " & Rechnungsnummer & _
           "Wurde nicht gefunden.", 16, "Rechnung nicht gefunden"
    RS_Report.Close
    Exit Sub
End If

RS_Rechnungskopf.CursorLocation = adUseClient
RS_Rechnungskopf.Open "Select * From Kunden Where Kundennummer = '" & RS_Report("Kundennummer") & "'", CnA, adOpenKeyset, adLockOptimistic

RS_Rechnungspositionen.CursorLocation = adUseClient
RS_Rechnungspositionen.Open "Select * From Rechnungspositionen Where Rechnungsnummer = " & Rechnungsnummer, CnA, adOpenKeyset, adLockOptimistic

Debug.Print "Select * From Rechnungspositionen Where Rechnungsnummer = " & Rechnungsnummer


    With DR_Rechnung
        
         .DataMember = vbNullString  '<==== Fehler "Ungültige Datenquelle"
         Set .DataSource = RS_Rechnungspositionen '<== ggf. hier wenn ich DataMember ausklammer
         
         'START Seitenkopf =======================================================
         With .Sections("Bereich2").Controls
         
            '.Item("Bezeichnung2").Caption = RS_Report("Datum")
            '.Item("Bezeichnung4").Caption = Rechnungskopf
            
            'If FileExists(Settings(16)) = True Then
            '    Set .Item("Symbol1").Picture = LoadPicture(Settings(16))
            'Else
            '    Set .Item("Symbol1").Picture = Nothing
            'End If
         End With
        'ENDE Seitenkopf ========================================================
        'START Detail ===========================================================
         With .Sections("Bereich1").Controls
            '.Item("Text1").DataField = RS_Rechnungspositionen.Fields("Position").Name
            '.Item("Text2").DataField = RS_Rechnungspositionen.Fields("Menge").Name
            '.Item("Text3").DataField = RS_Rechnungspositionen.Fields("Artikelnummer").Name
            '.Item("Text4").DataField = RS_Rechnungspositionen.Fields("Beschreibung").Name
            '.Item("Text5").DataField = RS_Rechnungspositionen.Fields("Summeexkl").Name
            '.Item("Text6").DataField = RS_Rechnungspositionen.Fields("Summeinkl").Name
         End With
        'ENDE Detail ============================================================
        'START Berichtsfuß ======================================================
        With .Sections("Bereich5").Controls
            .Item("Bezeichnung19").Caption = Round(RS_Report!Gesamtsumme_Exkl, 2)
            .Item("Bezeichnung21").Caption = Round(RS_Report!Summe_Steuer_7Pro, 2)
            .Item("Bezeichnung23").Caption = Round(RS_Report!Summe_Steuer_16Pro, 2)
            .Item("Bezeichnung25").Caption = Round(RS_Report!Summe_Steuer_19Pro, 2)
            .Item("Bezeichnung27").Caption = Round(RS_Report!Gesamtsumme_Inkl, 2)
        End With
        'ENDE Berichtsfuß ========================================================
        'START Seitenfuß =========================================================
        With .Sections("Bereich3").Controls
            '.Item("Bezeichnung19").Caption = ""
        End With
        'ENDE Seitenfuß ==========================================================
         
         If Show_Priview = True Then
            .Show 0
            .WindowState = vbMaximized
         Else
            .PrintReport
         End If
         
         Set .DataSource = Nothing
      End With
      
RS_Rechnungskopf.Close
RS_Rechnungspositionen.Close
RS_Report.Close
      
Exit Sub
Fehler:
error_show.Show
error_show.Fehler_Handling(0).Caption = Err.Number
error_show.Fehler_Handling(1).Caption = "Drucken"
error_show.Fehler_Handling(2).Caption = "Rechnung_Drucken"
error_show.txt_Fehler_Handling.Text = Err.Description & vbCrLf & "DBase: " & vbCrLf & MyPath & "DBase\DBase.mdb"
End Sub

Habe schon div. Code ausgeklammer aber der Fehler scheint oberhalb des Fehlers zu liegen ...

habe die SQL Strings der 3 Records direckt in der DB probiert ..
Klappen fehlerfrei !

Ich denek wirklich es ist ne Kleinigkeit aber ich sehe diese kleinigkeit einfach nicht ..
wäre echt dankbar wenn mir jemand helfen könnte ..

Ich habe den Kompletten DR schon neu erstellt weil ich dachte vieleicht liegt es am DR!
Aber fehlanzeige !

Ich weis einfach nicht mehr weiter ...
Also .... H.I.L.F.E !.!.!
 
Zurück