1.ayarlar adında bir tablo oluşturdum.
2.tabloya stok_kodu(double),stok_hrk_simge(varchar(2)),stok_hrk_durumu(Varchar(5))(EVET,HAYIR için) alanları açtım
3.
if data.ayarlarST_KODU_GELME_DURUMU.AsString='EVET' then begin
data.ayarlar.edit;
data.ayarlarSTOK_KODU.AsFloat:=data.ayarlarSTOK_KODU.AsFloat+1;
data.ayarlar.Post;
data.stok_kayit.Edit;
data.stok_kayitSTOK_KODU.AsString:=data.ayarlarSTOK_KODU_SIMGE.AsString+dbtext1.Caption;
end;
kodu ile STOK_KAYIT tablosundaki STOK_KODU varchar(10) olan alana isteğe bağlı olarak eklettirdim.
4.Ayarlar diye bir form hazırladım ve oradan kontrolü sağladım.
Benim 1,000 civarı stok kartım var bunun 750'si aktif.250'si de hergün işlem yapılan stoklar..Bu kod otomatik veriliyorsa örneğin ST000371 nolu stoğun hangisi olduğu ben nasıl hatırlayabilirim?Eğer filtreleme ve arama kullanacaksam o kodu niye tanımlıyorum.Bu durumda manuel olarak gir derseniz o zaman otomatik kod vermemin maksadı ne?Eğer filtre kriterleri için kullanılacaksa Özel Kod adlı icadın icat edilme amacı ne?
bLue aLonE yazdı:derseniz o zaman otomatik kod vermemin maksadı ne?Eğer filtre kriterleri için kullanılacaksa Özel Kod adlı icadın icat edilme amacı ne?
Hardcopy olarak belgeyi tutuyorsan arşivlemede ihtiyaç olabilir o numaraya. Belki etiket bastırıyorsun. Mamüllere numara verdiriyorsun vs. Bu gibi sebeplerle gerekli olabilir.
O zaman da manuel girişe izin vermenin maksadı ne gibi bi soru çıkıyor karşımıza...
Nefret ediyorum bu zihniyetten..Güya kullanıcıyı serbest bırakıyoruz.Doğru tektir, bunun tartışması olmaz.Aynı şeyin tartışmasını biz de yaptık arkadaşlarla ve istedikleri şey de aynen bu şekilde.Böyle saçmalıkları kim icat ediyor yahu
Evet Hayır için 5 hane mi ayırıyorsun Haydı bilemedin Evet için E Hayır için H. Fakat ideali en iyi perfomansı/sonucu karşındakinin dilinden konuşarak alabilirsin. Yani (0 veya 1) sayısal bir alan ve Hayır için 0 (sıfır) Evet için 1 (bir)
procedure TFrmFotTsh.BitBtn4Click(Sender: TObject);
begin
tshnoveribqry.Close;
tshnoveribqry.SQL.Clear;
tshnoveribqry.SQL.Add('select max(TESHIS_NO) as TSH_NO FROM FOTO_TESHIS');
tshnoveribqry.SQL.Add('where TESHIS_YILI=:tesyili');
tshnoveribqry.ParamByName('tesyili').AsInteger:=strtoint(copy(datetostr(date),7,10));
tshnoveribqry.Open;
dm1.TshIBDSet.Append;
dbedit20.Text:=inttostr(tshnoveribqry.fieldbyname('TSH_NO').AsInteger+1);
dbedit21.Text:=inttostr(strtoint(copy(datetostr(date),7,10)));
dbedit1.SetFocus;
end;
yukarıdaki kod ile tablomda ilgili yıla ait en büyük değeri bulduruyor ve sonra o değere bir ekleterek dbeditler içine yazdırıyorum. veriler ilgili alanlara girildikten sonra post işlemi yapılıyor. buraya kadar normal gibi görünüyordu ve çalışıyordu taki veri girişinde ard arda giriş yapmak icap edene kadar. gördüm ki program ilk çalıştığında kod çalışıyor ve bir arttırarak veriyor ama hemen arkasından yeni bir kayıt girmek isteyince sayıyı arttırmıyor son girilen sayı kalıyor ve haliyle pk olan bu yıl ve no alanı hata veriyor aynı sayılar girilmek istendiğinden. sanırım kayıt commit olmuyor. bu yüzden aynı sayıyı üretiyor diyeceğim ama son girilen sayıyı nasıl buluyor. kayıt düğmelerine data setin post eventine transaction.commit komutlarını koymama ve dataseti değişik durumlarda ve post durumunda kapatıp açmama karşın sayı yinede artmıyor taki programı kapatıp açana kadar. böyle bırakırsam şu anlama geliyor her kayıtta kullanıcı programı kapatıp açması gerekecek buda programın patlaması demek. ne yapmalıyım neye dikkat etmeliyim çözemedim bir türlü
teşekkür ve saygılarımla.
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.
Sorun çözüldü ustalarım. No verme işlemini query ve ona bağlı transaction ile yapıyordum. bugün başka işle uğraşsamda bu sorunu nasıl geçerim diye düşünürken niye sorgunun transactionu nu ilgili tablonun dataset transactionu na bağlamıyorum diye aklıma geldi ve uyguladım böylelikle sorun çözüldü
saygılarımla
kolay gelsin
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.