Hallo,
ich übergebe regelmäßig Daten aus Paradox-SQL's an Excel. Das funktioniert so weit auch ganz gut. Nur mit den DateTime-Feldern habe ich Probleme. Wie muss ich die an Excelübergeben, damit Excel sie ebenfalls als DateTime-Feld erkennt?
<PRE>
Excel:=CreateOleObject('Excel.Application');
while not DataSet.EOF do
begin
for iSpalte:=1 to DataSet.FieldCount do
begin
sWert:=DataSet.Fields[iSpalte-1].AsString;
{ Alle Typen : ftUnknown, ftString, ftSmallint, ftInteger, ftWord, ftBoolean, ftFloat, ftCurrency, ftBCD, ftDate, ftTime, ftDateTime, ftBytes, ftVarBytes, ftAutoInc, ftBlob, ftMemo, ftGraphic, ftFmtMemo, ftParadoxOle, ftDBaseOle, ftTypedBinary, ftCursor }
{ unbehandelte Typen: ftUnknown, ftString, ftSmallint, ftInteger, ftWord, ftBoolean, ftBCD, ftDate, ftTime, ftDateTime, ftBytes, ftVarBytes, ftAutoInc, ftBlob, ftMemo, ftGraphic, ftFmtMemo, ftParadoxOle, ftDBaseOle, ftTypedBinary, ftCursor }
if DataSet.Fields[iSpalte-1].DataType in [ftFloat, ftCurrency] then
if pos(',', sWert)>0 then sWert[pos(',', sWert)]:='.'
else if DataSet.Fields[iSpalte-1].DataType in [ftString] then
sWert:=#39+sWert;
Excel.Cells[iZeile+1, iSpalte].Value:=sWert; *)
Excel.Cells[iZeile+1, iSpalte].Value:=DataSet.Fields[iSpalte-1].AsString;
end;
DataSet.next;
inc(iZeile);
end;
</PRE>
Wer kann helfen?
Danke Gerd
ich übergebe regelmäßig Daten aus Paradox-SQL's an Excel. Das funktioniert so weit auch ganz gut. Nur mit den DateTime-Feldern habe ich Probleme. Wie muss ich die an Excelübergeben, damit Excel sie ebenfalls als DateTime-Feld erkennt?
<PRE>
Excel:=CreateOleObject('Excel.Application');
while not DataSet.EOF do
begin
for iSpalte:=1 to DataSet.FieldCount do
begin
sWert:=DataSet.Fields[iSpalte-1].AsString;
{ Alle Typen : ftUnknown, ftString, ftSmallint, ftInteger, ftWord, ftBoolean, ftFloat, ftCurrency, ftBCD, ftDate, ftTime, ftDateTime, ftBytes, ftVarBytes, ftAutoInc, ftBlob, ftMemo, ftGraphic, ftFmtMemo, ftParadoxOle, ftDBaseOle, ftTypedBinary, ftCursor }
{ unbehandelte Typen: ftUnknown, ftString, ftSmallint, ftInteger, ftWord, ftBoolean, ftBCD, ftDate, ftTime, ftDateTime, ftBytes, ftVarBytes, ftAutoInc, ftBlob, ftMemo, ftGraphic, ftFmtMemo, ftParadoxOle, ftDBaseOle, ftTypedBinary, ftCursor }
if DataSet.Fields[iSpalte-1].DataType in [ftFloat, ftCurrency] then
if pos(',', sWert)>0 then sWert[pos(',', sWert)]:='.'
else if DataSet.Fields[iSpalte-1].DataType in [ftString] then
sWert:=#39+sWert;
Excel.Cells[iZeile+1, iSpalte].Value:=sWert; *)
Excel.Cells[iZeile+1, iSpalte].Value:=DataSet.Fields[iSpalte-1].AsString;
end;
DataSet.next;
inc(iZeile);
end;
</PRE>
Wer kann helfen?
Danke Gerd
Comment