Thema: Delphi E/A Fehler 105

Einzelnen Beitrag anzeigen

chrissy

Registriert seit: 7. Jan 2005
29 Beiträge
 
#19

Re: E/A Fehler 105

  Alt 6. Feb 2005, 14:47
Hi, etwas spät aber hier mein letzter colde

Delphi-Quellcode:
procedure TForm1.Kunde2Click(Sender: TObject);
var
  document : TFileStream;
  f : file;
begin
   // Rechnungen Drucken KUNDE
   Daten.QSonstigeBefehle.DatabaseName:=pfad+'\Daten';
   Daten.QSonstigeBefehle.Active:=false;
   Daten.QSonstigeBefehle.SQL.Clear;
   Daten.QSonstigeBefehle.SQL.Add('Select V.Id AS Rechnungsnummer, A.Anrede, K.Vorname, K.Name, K.Strasse, K.Hausnummer, K.PLZ, OV.Ort, K.Id AS Kundennummer, V.Datum AS Vermittlungsdatum, M.Modul, V.Preis FROM "'+pfad+'\Daten\anrede.DB" A INNER JOIN "'+pfad+'\Daten\kunde.DB" K ON (A.Id = K.Anrede) INNER JOIN "'+pfad+'\Daten\vermittlung.DB" V ON (K.Id = V.Kunde) INNER JOIN "'+pfad+'\Daten\ort_vorwahl.db" Ov ON (Ov.Id = K."Ort/Vorwahl") INNER JOIN "'+pfad+'\Daten\modul.db" M ON (M.Id = V.Modul) WHERE (V.RechnungK = false)');
   Daten.QSonstigeBefehle.Active:=true;
   with Daten.DSSonstigeBefehle.DataSet do
     begin
       if not fileExists(Pfad+'\Dokumente\RechnungK.doc') then document:= TFileStream.Create(Pfad+'\Dokumente\RechnungK.doc', fmCreate)
                                                          else begin
                                                                 AssignFile(f, Pfad+'\Dokumente\RechnungK.doc');
                                                                 Erase(f);
                                                                 document:= TFileStream.Create(Pfad+'\Dokumente\RechnungK.doc', fmCreate);
                                                          end;
       //ShowMessage('Datei angelegt!');
       Open;
       First;
       {$I-}
       AssignFile(f, Pfad+'Dokumente\RechnungK.doc');
       FileMode := 2;
       Reset(f);
       while (not eof) do
        begin
          writeln(Pfad+'Dokumente\RechnungK.doc', FieldByName('Rechnungsnummer').AsString+';'+FieldByName('Anrede').AsString+';'+FieldByName('Name').AsString+';'+FieldByName('Vorname').AsString+';'+FieldByName('Strasse').AsString+';'+FieldByName('Hausnummer').AsString+';'+FieldByName('PLZ').AsString+';'+FieldByName('Ort').AsString+';'+FieldByName('Kundennummer').AsString+'K'+';'+FieldByName('Vermittlungsdatum').AsString+';'+FieldByName('Modul').AsString+';'+FieldByName('Preis').AsString+';');
          with Daten.tVermittlung do
            begin
              locate('Id', Daten.QSonstigeBefehle.FieldValues['Rechnungsnummer'], []);
              Edit;
              FieldByName('Rechnungsdatum').AsDateTime:=Date;
              FieldByName('RechnungK').AsBoolean := true;
              post;
            end;
          next;
        end;
       //Writeln('klappts?');
       //SaveFile(Pfad+'Dokumente\RechnungK.doc');
       CloseFile(f);
       {$I+}
     end;
    document.Free;
    ShowMessage('Datei RechnungK kann nun in Serienbrief eingebunden werden.')
end;

Ausgeben tut er im moment direkt in die Console was nicht ganz meiner Idee entspricht. Wo der fehler genau liegt, weiss ich aber nicht.

Gruß
Chrissy
  Mit Zitat antworten Zitat