Arkadaşlar;
İki DB var ve bu DB lerde birinde SISEVADR ve SISEVTLF alanları var diğer DB de ise ROMUSADR ve ROMUSTLF alanı var ben bu alanları SISEVADR>ROMUSADR ye
SISEVTLF>ROMUSTLF ye aktarmak istiyorum şöyle yaptım ;
procedure TForm1.Button1Click(Sender: TObject);
begin
table1.first;
while not table1.eof do
begin
table2.Append;
table2SISEVADR.value:=table1ROMUSADR.value;
table2sSISEVTLF.value:=table1ROMUSTLF.value;
table1.next;
end;
table2.post;
end;
Fakat ROMUSKODU ve SISKODU birbirine nasıl eşitlerim yoksa adresler kayabilir karışabilir yardım ederseniz sevinirim.
İki DB de bir alanı birbirine Aktarma
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Hocam diğer alanları aktardığın gibi ROMUSKODU'nı SISKODU'na aktar.
eğer bu şekilde olmazsa değişmesini istemediğin alanları tipi ne, ayrıca daha önceki numaraları mı vereceksin yoksa müşteri tablondaki id'ye göre mi vermek istiyorsun. Bunlarını belirtirseniz daha iyi olur...
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
begin
table1.first;
while not table1.eof do
begin
table2.Append;
table2SISKODU.value:=table1ROMUSKODU.value;
table2SISEVADR.value:=table1ROMUSADR.value;
table2sSISEVTLF.value:=table1ROMUSTLF.value;
table2.post;
table1.next;
end;
end;
Var olmaya değer her şey bilinmeye de değerdir. Çünkü bilgi varlığın bir imgesidir. Onda iyi ve kötü aynı anda bulunmaktadır...
Aslında konu şu ;
İlk giriş formu ve diğer bir form daha var ilk giriş formunda herşey giriliyor ve kaydediliyor sonra diğer forma geçildiğinde ilk giriş formundaki alanları koda göre bu diğer forma aktarıyorum kullanıcı tekrar girmemesi için ve kaydet diyince ikinci alana kaydoluyor.Fakat kullanıcı iş adresi değilde ev adresini ve telefonunu isteyince bu sefer alan ismini değiştirdim ama ikinci alanda iş adresleri kaldı ben şimdi bu kodla iş adrseleri yerine birindi formdaki ev adreslerini kaydedecem.Kodları eşitlemekteki amacım buydu yoksa adres telefon birbirine girer.
İlk giriş formu ve diğer bir form daha var ilk giriş formunda herşey giriliyor ve kaydediliyor sonra diğer forma geçildiğinde ilk giriş formundaki alanları koda göre bu diğer forma aktarıyorum kullanıcı tekrar girmemesi için ve kaydet diyince ikinci alana kaydoluyor.Fakat kullanıcı iş adresi değilde ev adresini ve telefonunu isteyince bu sefer alan ismini değiştirdim ama ikinci alanda iş adresleri kaldı ben şimdi bu kodla iş adrseleri yerine birindi formdaki ev adreslerini kaydedecem.Kodları eşitlemekteki amacım buydu yoksa adres telefon birbirine girer.
-
- Üye
- Mesajlar: 508
- Kayıt: 30 Oca 2004 10:49
O zaman hocam query ile yapacaksın olayın;
Bu tarz bir olayla aktarmak istediğin tablonun id'lerini birbirine eşitleyerek aktarabilirsin. Yani anynı tablonun id'lerini kontrol ettireceksin. Bu şekilde kaymak olmadan istediğin gibi aktarabilirsin...
Kod: Tümünü seç
query1.First;
with query2 do
begin
close;
sql.Clear;
sql.add('UPDATE tabloadın SET SISKODU=:SISKODU,SISEVADR=:SISEVADR,SISEVTLF=:SISEVTLF where id=:id');
parambyname('id').AsInteger:=Query1id.AsCurrency
parambyname('SISKODU').Value:= Query1SISKODU.Value;
parambyname(SISEVADR').Value:= Query1SISEVADR.Value;
parambyname('SISEVTLF').Value:= Query1SISEVTELF.Value;
ExecSQL;
end;
Query1.Next;
Var olmaya değer her şey bilinmeye de değerdir. Çünkü bilgi varlığın bir imgesidir. Onda iyi ve kötü aynı anda bulunmaktadır...
aynı tablo değil ama iki ayrı tablom var benim.
query1.First;
with query2 do
begin
close;
sql.Clear;
sql.add('UPDATE tabloadın SET SISKODU=:ROMUSKODU,SISEVADR=:ROMUSADR,SISEVTLF=:ROMUSTLF where id=:id');
parambyname('id').AsInteger:=Query1id.AsCurrency
parambyname('SISKODU').Value:= Query1ROMUSKODU.Value;
parambyname(SISEVADR').Value:= Query1ROMUSADR.Value;
parambyname('SISEVTLF').Value:= Query1ROMUSTLF.Value;
ExecSQL;
end;
Query1.Next;
query1.First;
with query2 do
begin
close;
sql.Clear;
sql.add('UPDATE tabloadın SET SISKODU=:ROMUSKODU,SISEVADR=:ROMUSADR,SISEVTLF=:ROMUSTLF where id=:id');
parambyname('id').AsInteger:=Query1id.AsCurrency
parambyname('SISKODU').Value:= Query1ROMUSKODU.Value;
parambyname(SISEVADR').Value:= Query1ROMUSADR.Value;
parambyname('SISEVTLF').Value:= Query1ROMUSTLF.Value;
ExecSQL;
end;
Query1.Next;