[VB6] Datacontrol ohne Connection

DrMueller

Erfahrenes Mitglied
Hallo Leute,
folgendes: Wir benutzen ein ADO-Control und übergeben an dieses nur den vorher generierten Recordset. Das ADO ist für unser Reporting-Tool wichtig. Nun klappte das net schlecht, RS übergeben, in die einzelnen Felder füllen und fertig war der Report.
Nun erscheint seit einiger Zeit die Fehlermeldung, dass die Connection leer sei. Vorher war das nie ein Problem, aber ich weiss nicht ob jemand während meinen Ferien was dran gemacht hat.

Ich habe versucht eine leere AdoDB.Connection zu übergeben, hat jedoch nicht geholfen.
Wie kann ich denn ausschalten, dass eine Connection verlangt wird? Ich würde net so dumm fragen, wenns davor net geklappt hätte.
 
Hmmm, normalerweise würde ich das Ding ohne Fehlerbehandlung im Einzelschritt-Modus laufen lassen, bis VB meckert, und mir dann die Fehlernummer notieren.

Dann als erste Codezeile in der Sub ein

On Error Resume Next
'Blabla-Code

Hier die Codezeile, in welcher die Conn übergeben wird (Und vor allem wo der Fehler auftaucht)

If Err.Number=[Fehlernummer, die ich mir notiert habe] Then
'Hier Code um den User rüde daran zu erinnern, eine gültige Conn zu übergeben
Err.Clear
End If

Hallo Leute,
folgendes: Wir benutzen ein ADO-Control und übergeben an dieses nur den vorher generierten Recordset. Das ADO ist für unser Reporting-Tool wichtig. Nun klappte das net schlecht, RS übergeben, in die einzelnen Felder füllen und fertig war der Report.
Nun erscheint seit einiger Zeit die Fehlermeldung, dass die Connection leer sei. Vorher war das nie ein Problem, aber ich weiss nicht ob jemand während meinen Ferien was dran gemacht hat.

Ich habe versucht eine leere AdoDB.Connection zu übergeben, hat jedoch nicht geholfen.
Wie kann ich denn ausschalten, dass eine Connection verlangt wird? Ich würde net so dumm fragen, wenns davor net geklappt hätte.

EDIT: Irgendwo in deinem Code benutzt du doch sicher einen PFad zu dem Report, oder?. Ist dieser Pfad hartcodiert, wird der aus der Registry oder einer INI geholt (wie es richtig wäre)? Falls ja, schon mal geprüft ob der Pfad überhaupt stimmt? Vielleicht hat ja niemand etwas an deinem Code gemacht, aber dafür den Report irgendwohin verschoben.
 
Zuletzt bearbeitet:
Die Umgebung ist korrekt, da nur die Listen Problem machen. Diese werden bei uns als Unterreport erstellt, und dort sind eben die Datacontrols.
Ich kann den Fehler auch net auf die Zeile genau bestimmen, da ActiveReports den Fehler erst beim EInfüllen der Daten ausgibt, sprich, er kann überall sein.
Der Fehler wortwörtlich:
Error in processing report.
[ Extended Info:SubReport for control SubReport1 failed. Failure due to :The ADO Control DataSource and Connection properties are empty. Please set connection property of ADO control.]
 
Die Umgebung ist korrekt, da nur die Listen Problem machen. Diese werden bei uns als Unterreport erstellt, und dort sind eben die Datacontrols.
Ich kann den Fehler auch net auf die Zeile genau bestimmen, da ActiveReports den Fehler erst beim EInfüllen der Daten ausgibt, sprich, er kann überall sein.
Der Fehler wortwörtlich:
Error in processing report.
[ Extended Info:SubReport for control SubReport1 failed. Failure due to :The ADO Control DataSource and Connection properties are empty. Please set connection property of ADO control.]

Gabs zwischendurch vielleicht ein Update der einzelnen Komponenten? Ist das einzigste, was ich mir noch vorstellen könnte, so nach dem Motto, dass Übergabe einer leeren Conn als "Bug" angesehen wurde.

EDIT: btw: Was hast du als DataSource von dem Control? Weil das wird ja auch angemeckert.
 
Zuletzt bearbeitet:
Eben da ist ja der Clou. Es wird NUR ein Recordset übergeben, keine Datasoruce, keine Connection nichts. Da ich das selber net programmiert habe, habe ich mich schon gefragt, wie man ein Objekt so zweckendfremden kann. Da es aber bisher geklappt hat, habe ich natürlich keine andere Lösungen gesucht.
Update ist möglich, aber die Pfeiffen im Hilfe-Forum haben eine Hilfe-Zeit von 4 Wochen oder so.
 
OK, mal einfach nur zum Verständnis (da ich weder mit ADO noch mit ActiveReports arbeite):

Du hast ein ADO-Control AUF dem ActiveReport, deren Recordset-Eigenschaft zur Laufzeit aus deinem Programm heraus aufgefüllt werden soll, richtig? Und da das ganze erst zur Laufzeit geschehen soll, ist zu diesem Zeitpunkt weder DataSource noch Connection bekannt (bzw. überflüssig, da die Felder ja über die Recordset-Eigenschaft gefüllt werden sollen), richtig?
 
Zurück