Access Kod birleştirme İki ayrı tablo denetleme
Tarih
02/02/2009 13:10
Konu Sahibi
Puletin
Yorumlar
5
Okunma
3044
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
24/12/2016,00:18
Çözüldü 
Sponsor Reklam
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.546
7
30/10/2008
804
Tekirdağ
Ofis XP
Dün,15:04
Çö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
24/12/2016,00:18
Çözüldü 
Sponsor Reklam
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.750
30/10/2008
Samsun
Ofis 2013 Tr. 32 Bit
13/02/2017,02:22
Çö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
24/12/2016,00:18
Çözüldü 
Sponsor Reklam
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.750
30/10/2008
Samsun
Ofis 2013 Tr. 32 Bit
13/02/2017,02:22
Çö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
  ÜRETİM TAKİP PROGRAMI TABLO GİRİŞİ FAZLA YARDIM LÜTFEN cturkyilmaz 11 333 12/01/2017, 18:27 ozanakkaya
  Tablo kilitlenemedi uyarısı kemal.karadoğan 7 169 03/01/2017, 15:54 kemal.karadoğan
  Birleştirme sorgusunda sayı formatı hatası Mecnun24 8 317 15/12/2016, 16:39 atoz112
  iki tablo arasında girilen veriyi ikinci tabloda alan olarak oluşturma yardım bilservisci 8 287 15/12/2016, 11:49 atoz112
  Tablo kayıtlarının başka tablolardaki kayıt durumuna göre çaprazlanması uguruygar 4 241 11/12/2016, 21:03 uguruygar


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