Parantatatam
mag Cookies & Kekse
Hallo Tutorianer,
ich konnte mich bis eben noch halten, aber so langsam nähert sich doch mein Kopf in zyklischen Abständen meiner Tischplatte. Und der Grund dafür ist wieder einmal VB6! Wie sollte es anders sein.
Zu meinem Problem: ich bastle gerade an einer Möglichkeit um eine Datenbank, also genauer gesagt einen Verbund aus drei Tabellen, aus dieser Datenbank auszulesen, damit ich sie dann in eine CSV-Datei speicher kann. Das würde alles auch funktionieren, würde ich es erstmal schaffen, dass mir ADO nicht immer sagen würde, dass die "Objektvariable oder With-Blockbvariable nicht festgelegt" (Laufzeitfehler 91) ist. Das passiert in folgendem Skript:
Der Fehler ist lokalisiert in Zeile 6. Falls jemanden etwas dazu einfällt, ich wäre ihm unsagbar dankbar dafür.
ich konnte mich bis eben noch halten, aber so langsam nähert sich doch mein Kopf in zyklischen Abständen meiner Tischplatte. Und der Grund dafür ist wieder einmal VB6! Wie sollte es anders sein.
Zu meinem Problem: ich bastle gerade an einer Möglichkeit um eine Datenbank, also genauer gesagt einen Verbund aus drei Tabellen, aus dieser Datenbank auszulesen, damit ich sie dann in eine CSV-Datei speicher kann. Das würde alles auch funktionieren, würde ich es erstmal schaffen, dass mir ADO nicht immer sagen würde, dass die "Objektvariable oder With-Blockbvariable nicht festgelegt" (Laufzeitfehler 91) ist. Das passiert in folgendem Skript:
Code:
'=== Verbinung zur Datenbank herstellen
Dim RecordSet As ADODB.RecordSet
Dim Command As ADODB.Command
Dim Line As String
Set Command.ActiveConnection = CurrentProject.Connection
Command.CommandText = "SELECT Bürgschaften.LaufNummer, Firmen.Name AS Firmen_Name, Bürgschaftsgeber.Name AS Bürgschaftsgeber_Name, Bürgschaften.BürgNummer, Bürgschaften.BürgDatum, Bürgschaften.Bauvorhaben, Bürgschaften.Art, Bürgschaften.Betrag FROM Firmen INNER JOIN (Bürgschaftsgeber INNER JOIN Bürgschaften ON Bürgschaftsgeber.ID=Bürgschaften.BürgGeberID) ON Firmen.ID=Bürgschaften.FirmaID"
Set RecordSet = Command.Execute
'=== Outputstream erstellen
Set fs = CreateObject("Scripting.FileSystemObject")
Set c = fs.CreateTextFile(Filename, True)
'Kopfzeile schreiben
c.WriteLine ("Laufende Nummer;Firma;Bürgschaftsgeber;Bürgschaftsnummer;Bürgschaftsdatum;Bauvorhaben;Art der Bürgschaft;Betrag")
Do While Not RecordSet.EOF
Line = ""
For I = 0 To RecordSet.Fields.Count - 1
Line = Line + CStr(RecordSet.Fields(I).Value)
Next I
RecordSet.MoveNext
c.WriteLine (Line)
Loop
'=== Alle Variablen zurücksetzen
Set RecordSet = Nothing
Set Command = Nothing
c.Close
'Speichervorgang bestätigen
MsgBox "Datei wurde gespeichert!"
Der Fehler ist lokalisiert in Zeile 6. Falls jemanden etwas dazu einfällt, ich wäre ihm unsagbar dankbar dafür.