Field daki bilgiyi başka bir fielda kopyalama

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Armani
Üye
Mesajlar: 104
Kayıt: 18 Mar 2004 05:32
Konum: Ankara

Field daki bilgiyi başka bir fielda kopyalama

Mesaj gönderen Armani »

Arkadaşlar merhaba
aşşağıdaki kod da neyi yanlış yapıyorum. yardımcı olursanız sevinirim.

teşekkürler

Kod: Tümünü seç

var
toplam :  Extended;
begin
toplam := 0;
Adotable1.first ;
while not Adotable1.eof do
begin
toplam := TOPLAM + (Adotable1.fieldbyname ('PRODUCT_ID').asfloat ) ;
Adotable1.next;
end;
Adotable1.fieldbyname('UPC').value := FloatToStr(Toplam); 
end;

end;
burdaki amacım field lardan PRODUCT_ID de hangi değer var ise o değeri UPC kısmına yazacak. Aslında birde buna ek olarak değer 5 rakamlı ise değerin başına 20030, değer 4 rakamlı ise 200300 rakamlarını koyup UPC kısmına yazacak.

Biliyorum burdaki amacınız program yapmak değil yol göstermek.
Bu seferlik bir istisna olursa sevinirim

Saygılar
En son Armani tarafından 13 Nis 2004 02:21 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Merhaba,

lütfen forum kurallarını okuyun ve mesajın başlığını konu ile alakalı bir başlıkla düzeltin.
- Mesajınıza uygun ve konuyu özetleyen kısa bir başlık yazın. Acil, Çok Acil, Önemli gibi ifadeler veya konuyla alakasız bir başlık kullanmayın.
Kolay gelsin.
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Re: Yardım Lütfen

Mesaj gönderen mussimsek »

Armani yazdı:burdaki amacım field lardan PRODUCT_ID de hangi değer var ise o değeri UPC kısmına yazacak.
ne yapmak istediğiniz tam anlaşılmıyor. Kodda toplam alıp yazdırmışsınız ve kodunuz doğru gözüküyor. Burda aynısını yazdırmak istiyorum diyorsunuz. Eğer bir alanın değerinin başka bir alanla aynı olmasını istiyorsanız, Datasetin (burda AdoTable1) BeforePost olayında eşitleyin.

Dataset.fieldByName('UPC').AsFloat := Dataset.fieldByName('PRODUCT_ID').AsFloat;

gibi. Eğer amacınız başka birşeyse lütfen biraz daha açık yazın, hata veriyorsa hatayı da yazmanız çözümü kolaylaştıracaktır.

Kolay gelsin.
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

alanları birbirine kopyalayacak isen

Kod: Tümünü seç

 
  var
    toplam: Extended;
    pid: string;
  begin
      Adotable1.first;
      while not Adotable1.eof do
      begin
        pid := Adotable1.fieldbyname('PRODUCT_ID').AsString;
        if length(pid) = 4 then
          Adotable1.fieldbyname('UPC').AsString := '200300' + pid
        else if length(pid) = 5 then
          Adotable1.fieldbyname('UPC').AsString := '20030' + pid
        else
          ; //iki sarta da uymayınca yapacagın sey
        Adotable1.next;
      end;
  end;
ÜŞENME,ERTELEME,VAZGEÇME
Armani
Üye
Mesajlar: 104
Kayıt: 18 Mar 2004 05:32
Konum: Ankara

Mesaj gönderen Armani »

Planım şuydu.
Dbgridde kolonlarımdan PRODUCT_ID deki datayı Aynı yerde boş olan UPC kısmına yazdırmak istiyorum.
Ör:
Product_id Upc
2523 2523
......
Buna artı olarak nasıl bir kod yazılacagına dair hiç bir fikrim olmadıgı bir konuda Upc kısmına yazılan product_id kısmındaki bilginin başına rakam 5 rakamlı ise 20030 sabit rakamını, 4 rakamlı ise 20030 rakamını koyması

Ör:
2523 2003002523
gibi
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

o zaman Gökmen'in verdiği kod işini görür.

Kolay gelsin.
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Merhaba

Id Alanında ki değer tahminime göre Sayı tipinde ilk önce onu Stringe çevir. ve + operatürü ile başına rakamı ekle; tekrar Sayı tipine dönüştür ve alana kaydet.

Kolay Gelsin...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Armani
Üye
Mesajlar: 104
Kayıt: 18 Mar 2004 05:32
Konum: Ankara

Mesaj gönderen Armani »

evet rakamsal değerler var
ben bu bilgilerle denemeler yapayım

ilginize teşekkür ederim.
Armani
Üye
Mesajlar: 104
Kayıt: 18 Mar 2004 05:32
Konum: Ankara

Mesaj gönderen Armani »

Malesef olmadı.
kopyalama yapamadım
yaptıgım şey DBGrid1DrawColumnCell kısmına bu kodu yazdım
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Gökmen'in koduna Adotable1.Edit ve Adotable1.Post eklenmiş hali.
var
toplam: Extended;
pid: string;
begin
Adotable1.first;
while not Adotable1.eof do
begin
pid := Adotable1.fieldbyname('PRODUCT_ID').AsString;
Adotable1.Edit;
if length(pid) = 4 then
Adotable1.fieldbyname('UPC').AsString := '200300' + pid
else if length(pid) = 5 then
Adotable1.fieldbyname('UPC').AsString := '20030' + pid
else
; //iki sarta da uymayınca yapacagın sey
Adotable1.Post;
Adotable1.next;
end;
end;
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Armani
Üye
Mesajlar: 104
Kayıt: 18 Mar 2004 05:32
Konum: Ankara

Mesaj gönderen Armani »

teşekkür ederim rsimsek
şimdi istedigim şey tam oldu :)
Cevapla