hallo zusammen,
bin ein totaler neuanfänger was das programmieren angeht.
mein problem besteht darin;
es soll eine abfrage von der datenbank erstellt werden, die dann in eine excel datei geschrieben wird.
Am ende kommt diese fehlermeldung
Code:
Compiling
Compiler: [Error] (99:1): Identifier expected
Compiling failed
Hab hier auch mal den text, für jede kleine hilfe bin ich im voraus schon sehr dankbar.
Code:
program abfrage;
const CRLF = #13+#10;
var
XlsApp, XlsWorkBook, XlsWorksheet: variant;
cNETTOEINZEL,nAbZeile,i:integer;
cGUID,cAUFNR,cBestellt,Verzeichnis,Dateiname,cARTNR:string;
nBestellt,nNettoEinzel:currency;
oDialog:TUDFDialog;
begin
oDialog := TUDFDialog.Create;
try
oDialog.AddField('AUFNR.','AUFNR.',ftString,True,True,'',0);
if oDialog.Execute then
begin
cAUFNR := oDialog.GetFieldValue('AUFNR.');
oQuery.SQL.Text := 'SELECT kopfguid FROM kopf WHERE UPPER(AUFNR) LIKE UPPER ('+quotedstring(cAUFNR)+')';
oQuery.Open;
if oQuery.RecordCount = 1 then
begin
cGUID := oQuery.Fields.Fields[0].AsString;
end
else
if oQuery.RecordCount > 1 then
begin
ShowMeldung('Mehr als 1 Ergebnis zu dieser Rechnungsnummer');
exit;
end
else
begin
ShowMeldung('Rechnungsnummer: '+cAUFNR+' nicht gefunden!');
exit;
end
end;
Verzeichnis := '\D:\test\';
Dateiname := '123.xls';
// Geschrieben wird ab Zeile 16 (in der ersten stehen die Überschriften)
nAbZeile := 16;
// Wir starten Excel im Hintergrund
Dateiname := Verzeichnis + Dateiname;
// Existiert die Datei?
if not FileExists(Dateiname) then
begin
Dateiname := OpenDialog('Excel *.xls|*.xls','Exportdatei wählen');
if not FileExists(Dateiname) then
begin
ShowMeldung('Die Datei : '+Dateiname+' ist nicht vorhanden!');
exit;
end;
end;
XlsApp := CreateOleObject('Excel.Application');
try
XlsApp.Visible := False;
XlsWorkbook := XlsApp.Workbooks.Open(Dateiname, True, False);
XlsWorkbook := XlsApp.Workbooks[1];
XlsWorksheet := Xlsworkbook.Worksheets[1];
//(postyp in (1,2)) AND
oQuery.SQL.Text := 'SELECT ARTNR, Bestellt, NETTOEINZEL,zeilenid FROM position WHERE kopfguid = '+quotedstring(cGUID)+' ORDER BY zeilenid';
oQuery.Open;
while not oQuery.eof do
begin
cARTNR := oQuery.Fields.Fields[0].Asstring;
nBestellt := oQuery.Fields.Fields[1].AsCurrency;
nNETTOEINZEL := oQuery.Fields.Fields[2].AsCurrency;
//writeln(cARTNR);
i:= nAbZeile;
XlsWorksheet.Cells[i,'A'].Value := cARTNR;
XlsWorksheet.Cells[i,'B'].Value := nBestellt;
XlsWorksheet.Cells[i,'C'].Value := nNETTOEINZEL;
oQuery.Next;
i:= i +1;
end;
//application.processmessages;
finally
begin
oDialog.Free;
end;
end;
end.