procedure TfrmBetriebstaettenInstallation.cmdFillClick(Sender: TObject);
var
I,J,K : Integer;
arrTab:
Array[1..100]
of string;
begin
arrTab[1] := '
sd_abteilung';
arrTab[2] := '
sd_bild';
arrTab[3] := '
sd_mitarbeiter';
arrTab[4] := '
sd_werk';
arrTab[5] := '
pd_abmahnung';
arrTab[6] := '
sd_plz';
arrTab[7] := '
sd_schulabschluss';
cmdFill.Enabled := False;
cmdSync.Enabled := False;
for K := 1
to 7
do begin
if (K=3)
then continue;
ShowSqlString('
Übertrage Tabelle '+arrTab[K]+'
...');
// Hinweis
qrwZentrale.SQL.Clear;
// SQL-Befehl leeren
// =====================================================================
// Werkspezifische Daten
// =====================================================================
if (K<6)
then begin
qrwZentrale.SQL.Add('
SELECT '+arrTab[K]+'
.*');
qrwZentrale.SQL.Add('
FROM `'+arrTab[K]+'
`,`cfg_transfer`');
qrwZentrale.SQL.Add('
WHERE LAND_ID=''
'+tblMySql['
LAND_ID']+'
''
');
qrwZentrale.SQL.Add('
AND `'+arrTab[K]+'
`.WERK_ID=cfg_transfer.WERK_ID');
qrwZentrale.SQL.Add('
AND cfg_transfer.SERVER_ID=''
'+tblMySql['
SERVER_ID']+'
''
;');
end else begin
qrwZentrale.SQL.Add('
SELECT * FROM `'+arrTab[K]+'
` WHERE LAND_ID=''
'+tblMySql['
LAND_ID']+'
''
;');
end;
ShowSql(qrwZentrale.SQL);
// SQL-Befehl anzeigen
qrwZentrale.Open;
// SQL-Befehl ausführen
for I := 0
to qrwZentrale.RecordCount - 1
do begin
qrwExtern.SQL.Clear;
// SQL-Befehl leeren
qrwExtern.SQL.Add('
REPLACE INTO `'+arrTab[K]+'
` VALUES (');
for J := 0
to qrwZentrale.FieldCount - 1
do begin
if (J <> qrwZentrale.FieldCount - 1)
then begin
if (qrwZentrale.Fields[J].Value=NULL)
then begin
qrwExtern.SQL.Add('
NULL,');
end else begin
if (qrwZentrale.Fields[J].DataType=ftDate)
then begin
qrwExtern.SQL.Add('
''
'+Copy(qrwZentrale.Fields[J].Value,7,4)+'
-'+Copy(qrwZentrale.Fields[J].Value,4,2)+'
-'+Copy(qrwZentrale.Fields[J].Value,1,2) +'
''
,');
end else begin
qrwExtern.SQL.Add('
''
'+qrwZentrale.Fields[J].AsString +'
''
,');
end;
end;
end else begin
if (qrwZentrale.Fields[J].Value=NULL)
then begin
qrwExtern.SQL.Add('
NULL');
end else begin
if (qrwZentrale.Fields[J].DataType=ftDate)
then begin
qrwExtern.SQL.Add('
''
'+Copy(qrwZentrale.Fields[J].Value,7,4)+'
-'+Copy(qrwZentrale.Fields[J].Value,4,2)+'
-'+Copy(qrwZentrale.Fields[J].Value,1,2) +'
''
');
end else begin
qrwExtern.SQL.Add('
''
'+qrwZentrale.Fields[J].AsString +'
''
');
end;
end;
end;
end;
qrwExtern.SQL.Add('
);');
ShowSql(qrwExtern.SQL);
// SQL-Befehl anzeigen
qrwExtern.Execute;
qrwZentrale.Next;
end;
end;
Send_SuchTabellen;
// Alle Suchtabellen frisch übertragen
Send_Stammdaten;
dbExtern.Disconnect;
// Verbindung trennen
ShowMessage('
Ready...');
end;