AccessTr.neT

Tam Versiyon: Uyarı Mesajı Ekleme
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
hocam, ben aynı işlemi form yoluyla değilde, ekleme sorgusu vasıtasıyla yapmak istiyorum. Çünkü başka hesaplamalar var.
Neticede alınacak mesaj aynı: Tabloda mükerrer kaydı kabul etmeyen fiş numarası var.

Bu durumda sizin "Yeni kayıt ekle" butonuna eklediğiniz komut, nasıl olmalı?
Yani ben butona bastığımda, ekleme sorgusu çalışacak, tabloda mükerrer kayıt olup olmadığına bakacak. Varsa "mükerrer kayıt var" uyarısı verecek. Yoksa "x adet kayıt eklendi" uyarısı verecek.
Örneği inceleyin. SeriNOsu kaçtan başlayacağı ve kaç adets satır ekleneceğini belirtin, mükerrer kayıtta ve kaç kayıt eklendiği bilgisi versin.
Hocam, teşekkür ederim. Ancak tam olarak yapmak istediğim bu değil. Ekte gönderdiğim database de, Form2 den girdiğinizde ünite ve tarih seçildikten sonra, ekleme sorgusu çalıştırılıyor. Burada "mesaikontrol" alanında "yineleme yok" kısıtı var. Dolayısıyla mükerrer kayıt durumunda uyarı mesajı geliyor.
Ben,
-Mükerrerlik yok ise ilk 2 kayıt ekleme uyarı mesajı yerine "X adet kayıt eklenmiştir." şeklinde mesaj gelmesini,
-Mükerrerlik var ise 3.uyarı yerine "Mükerrer Kayıt Var" şeklinde kayıtların eklenmediğini gösteren mesaj gelmesini istiyorum.

Database ve resimler ekte.
Sn preconti;
Öncelikle Araçlar/Seçenekler tıkla ve açılan pencerede Düzen/Bul sekmesindeki Onayla çerçevesindeki EylemSorgularını kutucuğundaki işareti kaldır.

Gelelim çözüme.
Ölçüt olarak Form2 ('deki ölçütleri:UNITEKODU ve TARIH) 'yi alan ve kayıt kaynağı PERMESAI olan bir sorgu oluştur. PMSorgu diyelim buna.
Yine ölçüt olarak Form2yi alan, kaynağı PERSONEL olan ve kayıtları sayan bir sorgu daha oluştur. SQL:""SELECT Count(PERSONEL.TCNO) AS SayTCNO FROM PERSONEL WHERE (((PERSONEL.UNITESI)=[Formlar]![Form2]![UniteKodu])); Bu sorgunun adı da MTEklencekler olsun.
Komut4 (PERSONELİ LISTEYE EKLE) 'ün OlayYordamına:

Kod:
Private Sub Komut4_Click()
On Error GoTo Err_Komut4_Click 'Bu satır hata durumunda gidilecek satır
'Koşulumuz;
If IsNull(DLookup("Kimlik", "PMSorgu")) Then 'PMSorguda listelenmiş kayıt var mı yok mu?? ve
'IsNull ise yani yoksa kayıt eklemeye uygundur demektir ,
'Kaç personel eklendiğini bulmak ve mesaj olarak göstermek için;
    MsgBox (DLookup("SayTCNO", "MTEklenecekler") & " personel eklendi")
'Ekleme Sorgusunu çalıştırmak için;
    DoCmd.OpenQuery "MESAITABLOSUNAEKLE", acNormal, acEdit
Else    'Şimdi koşulumuz olumsuz ise yani aynı ölçütlerde kayıt var ise;
'Hata için mesajımız;
    MsgBox "Mükerrer kayıt hatası" & ChrW(13) & _
           "Lütfen UNITEKODU ve TARIH kutularını kontrol ediniz."
'UniteKodu kutusuna yeniden odaklanması için kodumuz;
    UniteKodu.SetFocus
End If

Exit_Komut4_Click:   'ÇIKIŞ satırı
    Exit Sub

Err_Komut4_Click:
    MsgBox Err.Description ' Accessin hata iletisi
    Resume Exit_Komut4_Click     'ÇIKIŞ satırına dön
    
End Sub

Acaba oldu mu ? Img-grin

Ben yaptım oldu Img-grin