Skip to main content

AccessTr.neT


KOD DESTEĞİ - YILA GÖRE KONTROL

KOD DESTEĞİ - YILA GÖRE KONTROL

Çözüldü #1
Herkese Merhabalar,

Aşağıda Kod:
[Açılan_Kutu30], [Metin31], [Metin32], [Açılan_Kutu33] ve [Metin34] alanlarına yazılan bilgileri kontrol ederek;
[Tbl_Evrak_Girisi_Ana] tablosunda kayıt oluşturmaktadır.

Kayıt oluşturulurken de, [Metin31] ve [Metin32] alanlarına yazılan veiler (numaralar) arasındaki değerler kadar kayıt oluşturmakta ve bu numaraları [Muhabere_No] alanına yazmaktadır.

Buna göre;
Bir tablo içinde [Evrak_Dairesi] ve [Muhabere_no] alan değerleri aynı kayıtla yinelenemez. Örneklemek gerekirse;
[Evrak Dairesi]: "Bakırköy"     [Muhabere_No]:3                  olabilir.
[Evrak Dairesi]: "İstanbul"      [Muhabere_No]:3                  olabilir.
[Evrak Dairesi]: "Bakırköy"     [Muhabere_No]:3                  varolduğu için, bir daha olamaz.
l
Benim yapamadığım ise; Yıl kriteri eklemek.
Aynı takvim yılı içinde kullanılmamalı. Örneklemek gerekirse;

[Yıl]: 2015        [Evrak Dairesi]: "Bakırköy"     [Muhabere_No]:3           olabilmeli.
[Yıl]: 2015        [Evrak Dairesi]: "İstanbul"      [Muhabere_No]:3           olabilmeli.
[Yıl]: 2015        [Evrak Dairesi]: "Bakırköy"     [Muhabere_No]:3           olmamalı, çünkü kayıtlar arasında var.
[Yıl]: 2016        [Evrak Dairesi]: "Bakırköy"     [Muhabere_No]:3           olabilmeli.
[Yıl]: 2016        [Evrak Dairesi]: "İstanbul"      [Muhabere_No]:3           olabilmeli.

Sonuçta,
kod mu yazılmalı, ki ben bunu başaramadım.
ya da tablodan evdak dairesi, muhabere no ve yıl alanlarına aynı anda index koymam yeterli mi?
not: yıl alanı yok, sadece tarih alanı var. sanki kod yazılması gerekiyor diye düşünüyorum.

Zaman ayıran herkes şimdiden teşekkürler.


Kod:
Private Sub Komut36_Click()
Dim rs As Recordset
Dim rs2 As Recordset

Set rs = CurrentDb().OpenRecordset("Tbl_Evrak_Girisi_Ana")
Set rs2 = CurrentDb().OpenRecordset("SELECT MAX(Muhabere_No) AS ENBUYUK FROM Tbl_Evrak_Girisi_Ana WHERE Muhabere_No>=" & Val(Me![Metin31]) & " AND Muhabere_No <= " & Val(Me![Metin32]) & " AND Evrak_Dairesi = '" & Me![Açılan_Kutu30] & "'")

Text13 = rs2!ENBUYUK
If Not IsNull(Text13) Then
MsgBox "Bu aralıkta Muhabere Numarası var. En son kullanılan Evrak Dairesi ve Muhabere Numarası: " & Me![Açılan_Kutu30] & " " & rs2!ENBUYUK, vbCritical, "Sistem Kurye"
Metin31.Value = rs2!ENBUYUK + 1
Metin32.Value = rs2!ENBUYUK + 1
Exit Sub
End If

For I = Me![Metin31] To Me![Metin32]
   rs.AddNew
  rs!Muhabere_No = I
   rs!Evrak_Dairesi = Me![Açılan_Kutu30]
   rs!Gonderici = Me![Açılan_Kutu33]
   rs!Esas_No = "2015/##########"
   rs!Gidecegi_Yer = "##########"
   rs!Tarih = Me![Metin34]
   rs.Update
Next I
   rs.Close
   rs2.Close
   
'DoCmd.RunMacro "Show_All_Records_M"
   
   DoCmd.ShowAllRecords
   DoCmd.ApplyFilter "", "[Forms]![Frm_Evrak_Girisi_Ana]![Evrak_Dairesi]=[Forms]![Frm_Evrak_Girisi_Ana]![Açılan_Kutu30]And[Muhabere_No]>=Val([Forms]![Frm_Evrak_Girisi_Ana]![Metin31]) And[Muhabere_No]<=Val([Forms]![Frm_Evrak_Girisi_Ana]![Metin32])"

End Sub

Teşekkürler,
Saygılarımla,

Power BI İş Analitiği Danışmanı

Ali Yüzen
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da

Bu Konudaki Yorumlar
KOD DESTEĞİ - YILA GÖRE KONTROL - Yazar: aliyuzen - 30/06/2015, 09:23
Task