Kayıt, Değişterme Aynı Tuş ile edit çıkışında

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
delphist
Üye
Mesajlar: 595
Kayıt: 05 Oca 2005 04:34

Kayıt, Değişterme Aynı Tuş ile edit çıkışında

Mesaj gönderen delphist »

S.a. yaptığım yazılımda kullanıcıların accesslerinin tuttuğum bir tablo var her tablo çin ve her modül için parametre gönderiyorum buralarla ilgili bir problemim yok çok şükür....Yanlız yapmak istediğim şu...Son edit kutusunun en exitinda çıkışında Acaba kişinin insert mü yaptığını yoksa başka bir kaydı alıp değişiklik yapıp kayıt mı yaptığını nasıl anlayabilirim çünkü o editin on exitinda yeni kayıtsa ona göre kayıt yaptırmak istiyorum ve kaydı editlediyse yani girilmiş bir kayıtta değişiklik yapacaksa onu bilmem gerekiyor....Umarım anlatabilmişimdir...Teşekkür ederim .....Yani Kaydet ve Değiştir gibi buton yerine en son editin on exitinda bu olayı yapmak istiyorum....Yardımlarınız için şimdiden teşekkür ediyorum...
ylmz
Üye
Mesajlar: 110
Kayıt: 18 Mar 2005 02:32
Konum: Antalya

Mesaj gönderen ylmz »

Problemi bir değişken yardımı ile datasetin afterinsert ve afteredit olaylarında çözebilirsin.Aslında problemini tam olarak anliyamadım eğer bu yöntem yanlış ise problemini biraz daha açık yaz.O zaman daha net bişeyler söylenebilir. Kolay gelsin.
Kullanıcı avatarı
delphist
Üye
Mesajlar: 595
Kayıt: 05 Oca 2005 04:34

Mesaj gönderen delphist »

Bu yapmak istediğim bir olay....Şöle söyleyim.....dbaware componentlerini kullanıyorum...Şimdi söyle söleyim ben sadece en son dbeditin on exitini bir kod yazmalıyım veya başka bir yöntemi varsa artık ben öyle düşündüm...Kişi sırayla dbeditleri dolduruyor örneğin bu bir yeni kayıt olmuş oluyor mesela ama başka bir kayıt seçtiği zaman bu kaydı değiştirdiği zaman editlemiş oluyor mesela bundada tabla son edite kadar gittiği zaman editse edit yapıp post etmiş olacak umarım anlatabilmişimdir...
Kullanıcı avatarı
vedatkaba
Kıdemli Üye
Mesajlar: 866
Kayıt: 06 Oca 2004 06:50
Konum: DARICA/GEBZE

Mesaj gönderen vedatkaba »

Eğer tablonda değişken bir veri ( kayda özel verilen) varsa bunu kontrol ettirerek yaptırabilirsin,eğer o kayıt yoksa yeni bir kayıt açtırarak post ettir eğer varsa edit post yap gibi.sorunu birazdaha açarsan fikir yürütülebilir.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.

***********************************
Kullanıcı avatarı
altunway
Üye
Mesajlar: 217
Kayıt: 11 Haz 2003 09:16
Konum: İstanbul
İletişim:

Mesaj gönderen altunway »

S.A

Ben bu işlem için tablonun o anki durumunu kontrol ediyorum..

Mesela

if Tablo1.State = DsInsert Then
Begin
// Ekleme işlemi yapılıyor..Gerekli kodlar
End;

if Tablo1.State = DsEdit Then
Begin
// Duzeltme işlemi yapılıyor..Gerekli kodlar
End;

Yani bu sekilde tablonun durumunu anlayabilirsin..Bu işlemleri Tablonun BeforePost metodunda kullanabilirsin..Umarım sorunu yanlıs anlamamısımdır..
Kullanıcı avatarı
delphist
Üye
Mesajlar: 595
Kayıt: 05 Oca 2005 04:34

Mesaj gönderen delphist »

yani o zaman şöle yapmak lazım gibi geldi yanlışsa düzeltin en son dbeditin onexitinde procedure tanımlayıp o procedure table before post olayında tanımlayıp dsinsert ve edit olaylarını kontrol etmek lazım
yanlışsa lütfen düzeltirmisiniz
Kullanıcı avatarı
vedatkaba
Kıdemli Üye
Mesajlar: 866
Kayıt: 06 Oca 2004 06:50
Konum: DARICA/GEBZE

Mesaj gönderen vedatkaba »

sen tabloyu o modlara almazsan nasıl olcak bu iş ya tablo browse modunda ise.bir şekilde insert veya edit moduna alman lazımki onu kontrol edebilesin gibi geldi yanlış anlama yoksa eğer.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.

***********************************
Kullanıcı avatarı
delphist
Üye
Mesajlar: 595
Kayıt: 05 Oca 2005 04:34

Mesaj gönderen delphist »

Şimdi hocam ben anlatamadım özür dilerim kusura bakmayın...Şimdi örneğin stok kodunun yazıldığı bir dbedit düşün buraya kişi bir stok adı yazdığı zaman bu yazdığı stok adının database de olup olmadığını kontrol ettirerek insert moduna mı almalıyım yani tam çözemedim edit moduna almak için de bi rrehber içinde bi rkayıt seçildiği zaman o zamanda edit moduna almam gerekecek diye düşünüyorum.....
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Konuyu tam anlayamadım ama sanırım aktif olan kayda başka tablodan alan a veri aktarmak istiyorsun şayet öğleyse

Dataset in before Scroll eventine aşağıdaki gibi örnek kod yazman yeterli olacaktır.

Kod: Tümünü seç

procedure TCariHesapAcilisIslemFrm.IBDataSet1BeforeScroll(
  DataSet: TDataSet);
var
    DateTime : TDateTime;
    CariKodu:String;
begin
    CariKodu := DBGrid1.Columns[0].Field.Text;
    if CariKodu <> '' Then
    Begin
        with IBQuery1 do
        Begin
            Close;
            Sql.Clear;
            Sql.Add('Select * From CARIKART Where CARIKOD = '''+cariKodu+'''');
            Open;
        End;
        if IBQuery1.RecordCount > 0 Then
        Begin
            IBDataSet1.Edit;
            IBDataSet1ISLEMTURU.AsString := 'ACILIS';
            IBDataSet1.Post;
        End
        Else
        Begin
            ShowMessage('Cari Hesap Kodu Yanlış');
            Abort;
            DBGrid1.SelectedIndex := 0;
        End;
    End;
end;
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.
Kullanıcı avatarı
vedatkaba
Kıdemli Üye
Mesajlar: 866
Kayıt: 06 Oca 2004 06:50
Konum: DARICA/GEBZE

Mesaj gönderen vedatkaba »

ya tabondaki verileri vs. alanları vs ne gibi işlem yaptıkalarını vs. bilmediğim için ancak bu şekilde söylüyorum.

mesala şöle düşün türkiyedeki illeri düşün il adının olduğu kısımda tablodaki il adı görünür ilk etapta ama kullanıcı başka bir işl girdi buraya demekki yeni bir kayıt ne bilim başka türlü aklıma gelmiyor.ama riskli gibi geldi bana
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.

***********************************
Kullanıcı avatarı
delphist
Üye
Mesajlar: 595
Kayıt: 05 Oca 2005 04:34

Mesaj gönderen delphist »

Çok özür dilerim ben anlatamıyorum....cahililiğime veriniz lütfen.....

1. Şimdi Kaydet veya Değiştir diye butonumuz yok

2. Bu kaydet ve değiştir olayı bir sürü formda dbedit var en son girilecek olan dbeditin on exit eventında

3. Kişinin Yeni kayıt mı girdiğini veya rehberden önceki kayıtlı olan kaydı seçip edit mi yaptığını anlamam gerekiyor çünkü....

4. bu dbeditin on exitinda datasource kontrol ediyorum eğer dsinsert ise veya dsedit ise diye...

5. Dbeditlere girilen veri dbye veri girildiği zaman datasource edit moduna mı geçer yoksa insert moduna mı

6. Eğer böle bir ihtimalim yoksa 5. seçenekteki gibi benim hangi hallerde table insert moduna veya edit moduna geçirmem lazım ki kayıtları düzgün olarak yapabileyim....
Cevapla