Access Kod birleştirme İki ayrı tablo denetleme
Tarih
02/02/2009 13:10
Konu Sahibi
Puletin
Yorumlar
5
Okunma
2963
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 5
  • 4
  • 3
  • 2
  • 1

Derecelendirme: 0/5 - 0 oy



Puletin
Uzman
Kullanici Avatari
Uzman
1.716
01/11/2008
416
Ülke Dışı
Ofis 2003
29/10/2016,20:35
Çözüldü 
Merhabalar arkadaşlar..
Sorun şu Alt form üzerinden ceza girişi yapılmaktadır.
Girilen ceza maddeleri ise tblİPTALMADDELERİ ve tblMENNEDENLERİ adlı iki tablodan denetlenerek bu tablolarda olan maddeler varsa bana uyarı vererek gereken tablolara ayrıca altform üzerinden kayıt yapılmaktadır.
Ancak Kodlar da da göreceğiniz üzere sadece birini denetlemekte diğerini es geçiyor.
Or işlecini kullanmayı denedim ozaman ikisine de uyarı veriyor ancak sadece bir tabloya kayıt giriyor.Ben uyarı hangi yönde ise o tabloya kayıt yapmak istiyorum...
Şuan sadece tblİPTALMADDELERİ ni denetliyor tblMENNEDENLERİ ni denetlemiyor...

İnşallah anlata bilmişimdir...


Ek Dosyalar
.rar   Deneme.rar (Dosya Boyutu: 66,35 KB / İndirme Sayısı: 27)
Kaplumbağa ya dikkat et...
Sadece başını çıkartıp risk aldığında ilerleyebiliyor...
Cevapla


Seruz
Uzman
Kullanici Avatari
Uzman
S.... U....
1.544
7
30/10/2008
804
Tekirdağ
Ofis XP
Dün,15:18
Çözüldü 
Bu şekilde deneyin;
Önce tblİPTALMADDELERİ kontrol ediliyor ve varsa sorularak yazılıyor.
Sonra tblMENNEDENLERİ kontrol ediliyor ve varsa sorularak yazılıyor.

Kod:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Private Sub Maddesi_AfterUpdate()
TL = DLookup("[Miktarı]", "tblMADDELER", "[Maddesi]='" & Me.Maddesi & "'")
Puani = DLookup("[Puanı]", "tblMADDELER", "[Maddesi]='" & Me.Maddesi & "'")

DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70

Dim SD, C As String
Dim stringCliteria As String

SD = Me.Maddesi.Value

stringCliteria = "[Maddesi]=" & "'" & SD & "'"

If DCount("*", "tblİPTALMADDELERİ", "Maddesi='" & Me.Maddesi & "'") > 0 Then
    C = MsgBox("DİKKKAT *" & SD & " * ADINDA *" & vbCr & " DEVAM ", vbYesNo + _
        vbQuestion, "DİKKAT")
    If C = vbYes Then
        DoCmd.RunSQL _
            "insert into tblBELGEİPTAL SELECT * from tblVERİLER where (tblVERİLER.Ceza_ID=Forms![frmCEZALAR]![frmCEZAGİR].form.[Ceza_ID])"
        MsgBox "İPTAL KAYDI YAPILDI"
    End If
End If

If DCount("*", "tblMENNEDENLERİ", "Maddesi='" & Me.Maddesi & "'") > 0 Then
    C = MsgBox("DİKKKAT *" & SD & " * ADINDA *" & vbCr & " DEVAM ", vbYesNo + _
        vbQuestion, "DİKKAT")
    If C = vbYes Then
        DoCmd.RunSQL _
            "insert into tblARACMEN SELECT * from tblVERİLER where (tblVERİLER.Ceza_ID=Forms![frmCEZALAR]![frmCEZAGİR].form.[Ceza_ID])"
        MsgBox "KAYIT YAPILDI"
    End If
End If
End Sub


Eğer siz önce tblİPTALMADDELERİ ni kontrol etsin ve varsa sorularak yazsın, yoksa gidip tblMENNEDENLERİ ni kontrol etsin istiyorsanız,
aşağıdaki şekilde yapın.

Kod:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Private Sub Maddesi_AfterUpdate()
TL = DLookup("[Miktarı]", "tblMADDELER", "[Maddesi]='" & Me.Maddesi & "'")
Puani = DLookup("[Puanı]", "tblMADDELER", "[Maddesi]='" & Me.Maddesi & "'")

DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70

Dim SD, C As String
Dim stringCliteria As String

SD = Me.Maddesi.Value

stringCliteria = "[Maddesi]=" & "'" & SD & "'"

If DCount("*", "tblİPTALMADDELERİ", "Maddesi='" & Me.Maddesi & "'") > 0 Then
    C = MsgBox("DİKKKAT *" & SD & " * ADINDA *" & vbCr & " DEVAM ", vbYesNo + _
        vbQuestion, "DİKKAT")
    If C = vbYes Then
        DoCmd.RunSQL _
            "insert into tblBELGEİPTAL SELECT * from tblVERİLER where (tblVERİLER.Ceza_ID=Forms![frmCEZALAR]![frmCEZAGİR].form.[Ceza_ID])"
        MsgBox "İPTAL KAYDI YAPILDI"
    End If
Else
    If DCount("*", "tblMENNEDENLERİ", "Maddesi='" & Me.Maddesi & "'") > 0 Then
        C = MsgBox("DİKKKAT *" & SD & " * ADINDA *" & vbCr & " DEVAM ", vbYesNo + _
            vbQuestion, "DİKKAT")
        If C = vbYes Then
            DoCmd.RunSQL _
                "insert into tblARACMEN SELECT * from tblVERİLER where (tblVERİLER.Ceza_ID=Forms![frmCEZALAR]![frmCEZAGİR].form.[Ceza_ID])"
            MsgBox "KAYIT YAPILDI"
        End If
    End If
End If
End Sub

Bildiğini bilenin arkasından git, bildiğini bilmeyeni uyar, bilmediğini bilene öğret, bilmediğini bilmeyenden kaç.
Konfüçyüs
Cevapla


Puletin
Uzman
Kullanici Avatari
Uzman
1.716
01/11/2008
416
Ülke Dışı
Ofis 2003
29/10/2016,20:35
Çözüldü 
Sayın Seruz hocam , ilginiz için çok çok teşekkürler
İkiside işimi görüyor..
İki gündür uğraşıyordum..
Anladığım kadarı ile benim hatam "End if" olayını yanlış yerde kullanmamdan kaynaklanmış galiba..

Hocam birde Alt forma veri girişini 3 adet le sınırlama yapa bilirmiyiz.
Herceza için maksimumu 3 adet giriş olacak şekilde

Tekrar teşekkürler
Kaplumbağa ya dikkat et...
Sadece başını çıkartıp risk aldığında ilerleyebiliyor...
Cevapla


mehmetdemiral
.
Kullanici Avatari
Uzman
M.... D....
4.732
30/10/2008
Samsun
Ofis 2013 Tr. 32 Bit
Bugün,02:10
Çözüldü 
Alt forma metin15 adında bir metin kutusu ekledim. Bu metin kutusuna

Kod:
=say(Ceza_ID)

yazarak alt formdaki toplamı aldım. Ve bu formun geçerli olduğunda olayına aşağıdaki kodları yazdım:

Kod:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
If Metin15 >= 3 Then
Me.Ceza_ID.Locked = True
Me.Türü.Locked = True
Me.Maddesi.Locked = True
Me.TL.Locked = True
Me.Puani.Locked = True


Else

Me.Ceza_ID.Locked = False
Me.Türü.Locked = False
Me.Maddesi.Locked = False
Me.TL.Locked = False
Me.Puani.Locked = False

End If


Böylece metin15=3 veya daha fazlası olursa veri girişi kitlenmiş oluyor. Tabii çok basit bir yöntem ama geliştirebilirsiniz.

Kolay gelsin.. Örneği de ekledim..


Bu arada eğer kodu şu şekle dönüştürürseniz

Kod:
Form.AllowAdditions = False
Form.AllowDeletions = False
Form.AllowEdits = False


o zaman da teker teker değil topyekün olarak forma yeni kayıt eklemek, silmek veya düzenlemek mümkün olmayacaktır. Ama mesela düzenleme yapmak istersiniz ama yeni eklenmesin ve silinmesin isterseniz son satırı kullanmayın. İlk satır yeni kayıt ortadaki satır ise silme içindir.

Kolay gelsin.



Ek Dosyalar
.rar   Deneme22.rar (Dosya Boyutu: 83,92 KB / İndirme Sayısı: 62)
İnadına, ille de Accesstr.net...
Cevapla


Puletin
Uzman
Kullanici Avatari
Uzman
1.716
01/11/2008
416
Ülke Dışı
Ofis 2003
29/10/2016,20:35
Çözüldü 
Teşekkür Ediyorum Sayın mehmetdemiral ...
Elinize sağlık.....
Kaplumbağa ya dikkat et...
Sadece başını çıkartıp risk aldığında ilerleyebiliyor...
Cevapla


mehmetdemiral
.
Kullanici Avatari
Uzman
M.... D....
4.732
30/10/2008
Samsun
Ofis 2013 Tr. 32 Bit
Bugün,02:10
Çözüldü 
Rica ederim. Benim için zevkti..
İnadına, ille de Accesstr.net...
Cevapla







Konuyu Okuyanlar: 1 Ziyaretçi


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Tarih Son Yorum
  Tablo dan Açılır Kutu ya alınan verilerek Sabit Ekleme yapma ask200075 7 266 21/11/2016, 18:49 ask200075
  Ayrı butonlardaki farklı işlevleri tek buton ile gerçekleştirmek murat dikme 9 338 20/11/2016, 16:06 murat dikme
  3 comboboxtan 1 listboxa ayrı ayrı veri süzme? prtkl 10 178 14/11/2016, 22:33 prtkl
  Access Veritabanında Tablo Şifreleme ve Formdan Tabloya Bağlanma Nasıl Yapılır?? mehami 11 305 09/11/2016, 23:35 mehami
  Devir işlemi ve tablo güncelleme ates2014 2 132 01/09/2016, 15:40 ates2014


Türkçe Çeviri: MCTR, Forum Yazılımı: MyBB, © 2002-2016 MyBB Group.
DMCA.com Protection Status
© Desing by XSTYLED| Develops by ozanakkaya