table'daki verileri aynı anda bir diğerine daha aktarma
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 28
- Kayıt: 30 Haz 2004 02:24
table'daki verileri aynı anda bir diğerine daha aktarma
Arkadaşlar benim sorunum şu table 1'de sadece mesela ad, soyad alanı var table2'de de ad, soyad alanı var benim istediğim mesela table1 üzerinden işlem yaptığımda kaydet dedikten sonra table2'ye de aynı verileri atması bir ayna görevi görmesi. Bunu nasıl yapabilirim. Bana yardımcı olabilirseniz memnun olurum. HErkese iyi çalışmalar
Databaseniz nedir?
ib/fb ise bir query içine
diyerek table1 i table 2 ye atabilirsiniz.
Kolay gelsin...
ib/fb ise bir query içine
Kod: Tümünü seç
insert into table2 select * from table1
Kolay gelsin...
-
- Üye
- Mesajlar: 28
- Kayıt: 30 Haz 2004 02:24
S.A.
Tablonun before post olayını kullanabilirsin.
after insert ve after edit olaylarında tanımladığın global bir değişkeni set et.
tablodurumu değişkeninin durumunu iyi kontrol etmen lazım. aynı işlemi dataset.state ile de öğrenebilirsin ama afterpost sırasında edittenmi geldi yoksa inserttenmi geldi bilmen lazım. ona göre ikinci tabloda edit veya insert yapacaksın.
daha sonra table1 in after post olayında
yeni kayıt ilaveyi ve güncellemeyide sql ilede yapabilrsin.
mantık olarak böle bişi olabilir.
kolay gelsin.
Tablonun before post olayını kullanabilirsin.
after insert ve after edit olaylarında tanımladığın global bir değişkeni set et.
Kod: Tümünü seç
Procedrue table1afterinsert.....
begin
tablodurumu:=1;//1=insert modunda
end;
procedure table1afteredit....
begin
tablodurumu:=2//2=edit modunda 3=browse modunda vs.
end;
daha sonra table1 in after post olayında
Kod: Tümünü seç
procedure table1afterpost....
var
i:byte;
begin
if tablodurumu=1 then
begin
//ikinci tabloya insert et
table2.insert;
for i:=0 to table1.fields.count-1//yanlış hatırlamıyorsam böle bişi olacaktı
begin
table2.fields[i].value:=table1.fields[i].value;
end;
table2.post;
end; //insert durumunda
if tablodurumu=2 then
begin
//ikinci tablo edit edilecek
table2.locate({table2 de table1deki kayıtı bulduracaksın});
table2.edit;
//kayıtları güncelle
table2.post;
end;
end;
mantık olarak böle bişi olabilir.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
merhaba arkadaşlar,
arkadaşımızın yapmak istediği uygulamayı bende yapmak istiyorum.
fb/ibx ve delphi 7 kullanıyorum.
yukarıdaki cevapları uygulamaya çalıştım ama başarılı olamadım.
iki tablom var table1 de sp yok, table2 de sp ler oluşturdum. harcamalar tablosu bu table2 ile ilişkili artırma azaltma işlemini yapıyorum.
table1 i veri giriş tablosu olarak tutmak ve kayıtlarını saklamak istiyorum. bu amaçla oluşturdum. burada aynı alanlar ve pk lerle oluşmuş olan tablo2 ye verilerin otomatik girmesini istiyorum. yani tek veri giriş formundan iki tabloya aynı anda veri girişi yapılacak. tablolar delphi tarafında birbiri ile bağlantılı, görsel açıdan table1 de dönem olarak 20041 dönemi görünüyorsa table2 de de aynı dönem görünüyor. bunu sql de where donemi=:donemi olarak atayarak ve table2 nin datasourcesini table1 in datasource sine yönlendirerek yaptım.
beforepost olayına
şeklinde alanları belirterek yazdım ama not in edit mode hatası aldım.
ve forumda arama yaparak cevap bulmaya çalıştım ama verilen örnekleri uygulayıp çözüm bulamadım. yardımcı olabilirmisiniz
not her iki tabloda IDNO ve DONEMI PK,NOT NULL. IDNO alanları autoinc dir. DONEMI alanını ortak kullanıyorum
teşekkürler.
kolay gelsin
arkadaşımızın yapmak istediği uygulamayı bende yapmak istiyorum.
fb/ibx ve delphi 7 kullanıyorum.
yukarıdaki cevapları uygulamaya çalıştım ama başarılı olamadım.
iki tablom var table1 de sp yok, table2 de sp ler oluşturdum. harcamalar tablosu bu table2 ile ilişkili artırma azaltma işlemini yapıyorum.
table1 i veri giriş tablosu olarak tutmak ve kayıtlarını saklamak istiyorum. bu amaçla oluşturdum. burada aynı alanlar ve pk lerle oluşmuş olan tablo2 ye verilerin otomatik girmesini istiyorum. yani tek veri giriş formundan iki tabloya aynı anda veri girişi yapılacak. tablolar delphi tarafında birbiri ile bağlantılı, görsel açıdan table1 de dönem olarak 20041 dönemi görünüyorsa table2 de de aynı dönem görünüyor. bunu sql de where donemi=:donemi olarak atayarak ve table2 nin datasourcesini table1 in datasource sine yönlendirerek yaptım.
beforepost olayına
Kod: Tümünü seç
ibdataset2.fieldbyname('donemi').asinteger:=ibdataset1.fieldbyname('donemi').asinteger;
............
ve forumda arama yaparak cevap bulmaya çalıştım ama verilen örnekleri uygulayıp çözüm bulamadım. yardımcı olabilirmisiniz
not her iki tabloda IDNO ve DONEMI PK,NOT NULL. IDNO alanları autoinc dir. DONEMI alanını ortak kullanıyorum
teşekkürler.
kolay gelsin
merhaba arkadaşlar;
sorunumu şu şekilde hallettim;
değerli vaktinizi aldığım için özür diler, kolaylıklar dilerim.
sorunumu şu şekilde hallettim;
Kod: Tümünü seç
ibdataset2.Append;
ibdataset2.Edit;
ibdataset2.FieldByName('DONEMI').AsInteger:=ibdataset1.fieldbyname('DONEMI').AsInteger;
..............
ibdataset2.Post;
ibdataset1.Transaction.CommitRetaining;