Alt Forma Otomatik Kayıdı Engelleme

1 2 3
09/04/2016, 23:14

yorum70

İyi akşamlar.

Ana formdan(Frm_calisma)  seçilen bilgilerin alt forma(Calisma_alt_formu)  gelmesiyle alt forma gerekli bilgilerin girilmesiyle tbl_calisma tablosuna kayıt oluyor.

Ancak, ekleme sorgularıyla çalışan bu olayda kullanıcı hatasını engellemek için, alt forma GÖREVİ (mtn_görevi) alanına bilgi girilmeden tabloya kayıt olmasın istiyorum.

Bununla ilgili bir iki kod denedim ancak, birinde DELETE sorgusu ile evet komutuyla ya tablonun tamamını siliyor, yada kod hatası veriyor.

calisma_alt_formunun kapandığında olayında bir kod denedim...hali hazırda örnekte mevcut.

Frm_calisma formunun KAYDET butonuna DELETE sorgusu çalışırdım..banamısın demedi.

Kısaca, mtn_görevi alanına bilgi girilmezse tabloya hiç kayıt yapmasın.

Tşk.
09/04/2016, 23:31

direnist

Merhaba yorum70 abi;
Kaydet butonuna aşağıdaki kodu yazarak deneyebilir misin? 
Saygılar.
Kod:
If IsNull([Forms]![Frm_Calisma]![Ürünler Alt Formu].[Form]![mtn_gorevi]) Or Len(Trim([Forms]![Frm_Calisma]![Ürünler Alt Formu].[Form]![mtn_gorevi])) = 0 Then
    MsgBox "Görev bilgisini girmeden kayıt yapamazsınız."
    Exit Sub
End If
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
09/04/2016, 23:40

yorum70

Sn. direnist, ilgi ve katkınız için teşekkür ediyorum.

Denedim, uyarıyı aldım-tamam dedim...ve formdan çıktım.

Gördüm ki, tabloya kayıt yapmış.

GRUPSEC açılan kutusundan veya personelsec açılan kutusundan seçim yaparak denenebilir.

Velhasıl, yine kayıt etti.

Saygılarımla.
10/04/2016, 00:32

direnist

Merhaba;
 Tbl_calisma tablonuza KayitKontrol adında yeni bir alan eklemek durumunda kaldım. Çünkü grup olarak eklenenlerin tablodan silinmesi için bana bir kontrol kriteri gerekiyordu. Bende KayitKontrol adında bu alanı ekledim. Bu alan seçili olmayanları sil şeklinde görevi girilmeyen kayıtlar siliniyor.
Umarım istediğiniz gibi olmuştur.
Not: Sorunsuz şekilde eklenen tüm kayıtlarda KayitKontrol alanı tikli olmasına dikkat edin. Bu alana kullanıcı dokunmasın yani. isterseniz o alan özelliklerden kilitleyin
İyi çalışmalar.
10/04/2016, 00:54

yorum70

Sn.direnist, sabah ilk olarak deneyip bilgi aktaracağım.cepten bağlandım. Teşekkür ediyorum. İyi geceler. 
Merhaba,

Sn.Direnist, uygulamada ki katkınızı inceledim, denedim.. Tek personel için görevi girilmediği zaman tablodan siliyor, kayıt etmiyor. Bu tek personel seçince geçerli.

Ancak, diyelim GRUPSEC'den grup-1'i çağırdık ve o gruba dahil 10 kişi geldi..9'una tüm bilgileri girdik, 1 personele ise sadece görevi alanını girmeyerek kaydet dedik...işte o zaman, tüm 10 personelin girişlerini siliyor.

Burada sadece hangi personele eksik girilmişse o kayıt silinmeli.

Saygılarımla.
10/04/2016, 21:23

atoz112

Sayın yorum70,

(burada yazılı açıklamalar gerek yazan olarak beni bağlamakta olduğunu ve gerekse de naçizane kendi düşüncelerim olduğunu bu nedenle de geçersizlik söz konusu olursa katılmak durumunda olmadığınızı beyan etmek yerinde olacaktır kanısındayım.)

Konunuzda yazılı mesajları tekrar okudukça ve çalışmaları inceledikçe,bazı hususlarda anlam kargaşası ya da sorunlu işlem gerçekleştirme girişimlerinin olduğu anlaşılmakta veya bu düşünceye yön vermekte.

Tarafınızdan yapılan açıklamalar nezdinde,sanırım yapmak istediğiniz veya talebiniz şu olsa gerek:

- Özellikle grup seçimi akabinde alt formda seçilen gruba göre kayıtların getirilmesi.
- Mevcut kayıtlarda yeni verilerin girilmesi.
- Yeni bilgilerin,ilgili tabloda yeni kayıt olarak kaydedilmesi fakat görev denetimine herhangi bir değer girilmediği takdirde bu kayıt için tabloya kaydetme (ekleme) işleminin yapılmasının engellenmesi.
- Ayrıca,yeni bilgilerin alt formda listelendiğinde önceki kayıtların üzerine güncelleme yapmaksızın direkt yeni kayıt olarak eklenmesi.
- Ve ayrıca,görev bilgisi girilmeyen kayıt ya da kayıtların bir sonraki grup seçiminde bir önceki seçimde görev verilmese dahi yeni bir görev tanımlama imkanı sağlayacak şekilde alt formda yer alması.

ANLAŞILMAYAN HUSUS (kendime dair)
1)
Alıntı:Burada sadece hangi personele eksik girilmişse o kayıt silinmeli.

İfadenize yönelik olarak;
Alt forma kayıt ekleme işlemlerinde;neden görev denetimine bir değer girilmeyen kayıt ya da kayıtlar için DELETE Sql sorgusu kullanılmak isteniyor?

Çözüm önerisi olarak;INSERT INTO…SELECT Sql sorgusu kullanımı ile kriter alanı olarak da tabloya bir Evet/Hayır alan eklemesi ile kayıt kontrol onay denetimi gösterilmek sureti ile eğer onay işaretli ise tabloya yeni kayıt eklemesi yapılabilir.(sayın direnist bey de bu düşünceden hareketle bunu denemek istemişler,ekledikleri örnek uygulamada zaten.kendilerine konulara katılımlarından dolayı teşekkür eder bu katılımlarının daim olmasını temenni ederim,bu arada).

2)
Eğer srg_altform adlı sorgudaki caltarih adlı alanın kriter satırında [Forms]![Frm_Calisma]![mtn_tarih] ifadesini gösterecek olursanız,o zaman;günün tarihinden önceki kayıtları göremezsiniz.bunu açıklamamın nedeni;eğer önceki kayıtları da her grup seçiminde görmek isterseniz diyedir.

Şimdilik olmak üzere paylaşmak istediklerim bunlardır.ayrıca,paylaşılan örnek uygulama üzerinde;SADECE grup seçimlerine yönelik işlemler ile ilgili çalışmalar yapılmıştır.haricinde,herhangi başka çalışma yapılmamıştır.

EK'te;
bahsettiğiniz talebinize yönelik olarak GEÇİCİ OLMAK ÜZERE hazırlanmış örnek uygulama mevcuttur.inceleyebilirsiniz.bilginize...iyi çalışmalar,saygılar.
1 2 3