Query de Otomatik Artan Kayıt

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
Karinca
Üye
Mesajlar: 239
Kayıt: 25 Ağu 2004 07:06
Konum: http://localserver/
İletişim:

Query de Otomatik Artan Kayıt

Mesaj gönderen Karinca »

Merhabalar.

Query kullanarak kayıt işlemi için Firma ID yi otomatik atmak için Şöyle bir dizilim yaptıma ama hata veriyor.

Kod: Tümünü seç

   var q,d,id:Integer;
begin
   Query1.Last;
   q:= 'Firma_ID';
   d:= copy(q, 0, 4); //Firma_ID nin görünemsini istediğim hali "2004-029"
   id:= copy(q, 5, 3); 
   Query1.Insert(d+' '-' '+id+1);
   Query1.Edit;
   FI.SetFocus;
end;

Yardım Edebilirmisiniz?


Selamlar...
En son Karinca tarafından 03 Ara 2004 04:24 tarihinde düzenlendi, toplamda 2 kere düzenlendi.
cihana hakan olmak bir kuru kavga imiş
bir mürşide bende olmak cümleden evla imiş
h.z. Fatih


Resim
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

Bu kodda başka problemler de var bence....
Verdigi hata normal zira... integer bir degiskene stringe deger atanamadigi gibi stirng bir deger de bir integer ile toplanamaz...
Gerekli tip donusumlerini uygun yerlerde yapmalisiniz. StrToInt veya IntToStr gibi fonksiyonlar isinizi gorecektir.

Yalniz....

Kod: Tümünü seç

Query1.Insert(d+' '-' '+id+1); 
satiri ile amaciniz nedir?
d degiskeninde 'Firm' stringi var.
id de ise 'a_I' stringi

ki galiba burada da temel hatlar var...
Hal boyle iken

Kod: Tümünü seç

Query1.Insert(d+' '-' '+id+1); 
kodu pek anlamlı gorunmuyor....
* http://www.fahrettin.org Manzara Fotoğraflarım... :)
* http://delphiturkiye.gunduz.info Seminerler... ;)
* http://www.hakmar.com.tr Kalite bir haktır... 8)
Kullanıcı avatarı
Karinca
Üye
Mesajlar: 239
Kayıt: 25 Ağu 2004 07:06
Konum: http://localserver/
İletişim:

Mesaj gönderen Karinca »

@Query Hocam ın İlgilenmesi ile Kodu Tekrar Düzenledik.
Şimdi Bu hali Aldı. Burda Kaç Fırın Ekmek Yemem Gerekiyo Anladım.
Neyse Yeni Başlayanlar gibi deyip geçeyim.
İlerde Bu Foruma Bakarak Kahkaha Atarız Belki :)

Kod: Tümünü seç

procedure TForm1.YENIClick(Sender: TObject);
 var
   q, d, id : string;
   gun, ay, yl: word;
   yid, yil  : String;
   aa  : Integer;
begin
   Query1.Last;
   q  := Query1.FieldByName('Firma_ID').AsString;
   d  := Copy(q, 1, 4);
   id := Copy(q, 6, 4);
   DecodeDate(Date,yl,ay,gun);
   yil := IntToStr(yl);
   if yil = d then yid := yil + '-' else yid := yil + '-';
   aa := StrToIntDef(id, 0) + 1;
   q := IntToStr(aa);
   Case Length(q) of
   1 : yid := yid + '000' + q;
   2 : yid := yid + '00' + q;
   3 : yid := yid + '0' + q;
   4 : yid := yid + q;
   end;
   Query1.Insert;
   Query1.Edit;
   Query1.FieldByName('Firma_ID').AsString := yid;
   FA.SetFocus;
end;
Tekrar Tşk Ederim Hocam.



Selamlar...
cihana hakan olmak bir kuru kavga imiş
bir mürşide bende olmak cümleden evla imiş
h.z. Fatih


Resim
Kullanıcı avatarı
calvan
Üye
Mesajlar: 119
Kayıt: 16 Haz 2003 05:10

Mesaj gönderen calvan »

Query1 in sql inde ne yazıyor?
Kullanıcı avatarı
Karinca
Üye
Mesajlar: 239
Kayıt: 25 Ağu 2004 07:06
Konum: http://localserver/
İletişim:

Mesaj gönderen Karinca »

calvan yazdı:Query1 in sql inde ne yazıyor?

Kod: Tümünü seç

Select * From TS1.db
Nolduki?



Selamlar...
cihana hakan olmak bir kuru kavga imiş
bir mürşide bende olmak cümleden evla imiş
h.z. Fatih


Resim
Kullanıcı avatarı
calvan
Üye
Mesajlar: 119
Kayıt: 16 Haz 2003 05:10

Mesaj gönderen calvan »

Query yerine table kullan, en son kaydı query ile aratıp +1 yap. bu değeri table a ata.
Kullanıcı avatarı
Karinca
Üye
Mesajlar: 239
Kayıt: 25 Ağu 2004 07:06
Konum: http://localserver/
İletişim:

Mesaj gönderen Karinca »

calvan yazdı:Query yerine table kullan, en son kaydı query ile aratıp +1 yap. bu değeri table a ata.
Forumu Tam Okumadınız Galiba. yukarda Çözümü Yazılmıştı. ;)


Selamlar...
cihana hakan olmak bir kuru kavga imiş
bir mürşide bende olmak cümleden evla imiş
h.z. Fatih


Resim
Cevapla