Kayıt, Değişterme Aynı Tuş ile edit çıkışında
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Kayıt, Değişterme Aynı Tuş ile edit çıkışında
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...
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...
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.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
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..
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..
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.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
Ş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.....
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.
Kolay Gelsin...
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;
Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
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
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.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
Ç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....
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....