(08/02/2017, 00:52)hknct yazdı: [ -> ]sayın ozanakkaya, kayıtları azalttım. tabloda elle tarihleri değiştirdim ki notlar bölümündeki yazı değişiyor mu diye, değiştirmedi. aynı şekilde önceki kayıt kalıyor. benim için önemli olan yer burası çünkü burda yazan yazıya göre raporlama yapıyorum. işlem tamamlandı. diye uyarı veriyor. sonrasında da msgbox kısmında hata verdi.
Merhaba, benim düzenlediğim kodlar, önceki örneğinizdeki "bitimtarih" metin kutusunun güncelleştirme sonrasında olayına yazılı kodlara göre düzenlenmişti.
Son örneğinizde bu kod yapısını değiştirmiş, mevzuya "DEVİR" olayını eklemişsiniz.
Kod bu yüzden çalışmıyor olabilir.
Butonun tıklandığında olayındaki kodu aşağıdaki ile değiştirerek deneyiniz.
Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("SELECT * FROM Tliste")
If Not (rs.EOF And rs.BOF) Then
rs.MoveFirst
Do Until rs.EOF = True
rs.Edit
If rs!brmarsvsklmsure = "SÜRESİZ" Or rs!brmarsvsklmsure = "DEVİR" Then
GeciciMetin35 = "0"
Else
GeciciMetin35 = Abs(rs!brmarsvdvryil) + Abs(rs!brmarsvsklmsure)
End If
If rs!brmarsvsklmsure = "SÜRESİZ" Or rs!brmarsvsklmsure = "DEVİR" Then
GeciciMetin37 = "0"
Else
GeciciMetin37 = Abs(rs!brmarsvdvryil) + Abs(rs!krmarsvsklmsure)
End If
If Abs(rs!brmarsvdvryil) > 0 And rs!brmarsvsklmsure = "SÜRESİZ" Then
rs!notlar = "İmha Edilemez"
ElseIf Abs(rs!brmarsvdvryil) > 0 And rs!brmarsvsklmsure = "DEVİR" Then
rs!notlar = "Devir Edildi."
ElseIf Abs(rs!brmarsvdvryil) > 0 And rs!brmarsvsklmsure = "SÜRESİZ" Then
rs!notlar = "İmha Edilemez"
ElseIf Format(Now(), "yyyy") >= Abs(rs!brmarsvdvryil) And Format(Now(), "yyyy") <= Val(GeciciMetin35) Then
rs!notlar = "Birim Arşivinde Saklanacak"
ElseIf Format(Now(), "yyyy") >= Val(GeciciMetin35) And Format(Now(), "yyyy") <= Val(GeciciMetin37) Then
rs!notlar = "Kurum Arşivinde Saklanacak"
ElseIf rs!brmarsvsklmsure = "SÜRESİZ" And rs!krmarsvsklmsure = "SÜRESİZ" Then
rs!notlar = "İmha Edilemez"
Else
rs!notlar = "İmha Edilecek"
End If
rs.Update
rs.MoveNext
Loop
End If
rs.Close
Set rs = Nothing
MsgBox ("işlem tamamlandı")
(08/02/2017, 03:12)ozanakkaya yazdı: [ -> ] (08/02/2017, 00:52)hknct yazdı: [ -> ]sayın ozanakkaya, kayıtları azalttım. tabloda elle tarihleri değiştirdim ki notlar bölümündeki yazı değişiyor mu diye, değiştirmedi. aynı şekilde önceki kayıt kalıyor. benim için önemli olan yer burası çünkü burda yazan yazıya göre raporlama yapıyorum. işlem tamamlandı. diye uyarı veriyor. sonrasında da msgbox kısmında hata verdi.
Merhaba, benim düzenlediğim kodlar, önceki örneğinizdeki "bitimtarih" metin kutusunun güncelleştirme sonrasında olayına yazılı kodlara göre düzenlenmişti.
Son örneğinizde bu kod yapısını değiştirmiş, mevzuya "DEVİR" olayını eklemişsiniz.
Kod bu yüzden çalışmıyor olabilir.
Butonun tıklandığında olayındaki kodu aşağıdaki ile değiştirerek deneyiniz.
Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("SELECT * FROM Tliste")
If Not (rs.EOF And rs.BOF) Then
rs.MoveFirst
Do Until rs.EOF = True
rs.Edit
If rs!brmarsvsklmsure = "SÜRESİZ" Or rs!brmarsvsklmsure = "DEVİR" Then
GeciciMetin35 = "0"
Else
GeciciMetin35 = Abs(rs!brmarsvdvryil) + Abs(rs!brmarsvsklmsure)
End If
If rs!brmarsvsklmsure = "SÜRESİZ" Or rs!brmarsvsklmsure = "DEVİR" Then
GeciciMetin37 = "0"
Else
GeciciMetin37 = Abs(rs!brmarsvdvryil) + Abs(rs!krmarsvsklmsure)
End If
If Abs(rs!brmarsvdvryil) > 0 And rs!brmarsvsklmsure = "SÜRESİZ" Then
rs!notlar = "İmha Edilemez"
ElseIf Abs(rs!brmarsvdvryil) > 0 And rs!brmarsvsklmsure = "DEVİR" Then
rs!notlar = "Devir Edildi."
ElseIf Abs(rs!brmarsvdvryil) > 0 And rs!brmarsvsklmsure = "SÜRESİZ" Then
rs!notlar = "İmha Edilemez"
ElseIf Format(Now(), "yyyy") >= Abs(rs!brmarsvdvryil) And Format(Now(), "yyyy") <= Val(GeciciMetin35) Then
rs!notlar = "Birim Arşivinde Saklanacak"
ElseIf Format(Now(), "yyyy") >= Val(GeciciMetin35) And Format(Now(), "yyyy") <= Val(GeciciMetin37) Then
rs!notlar = "Kurum Arşivinde Saklanacak"
ElseIf rs!brmarsvsklmsure = "SÜRESİZ" And rs!krmarsvsklmsure = "SÜRESİZ" Then
rs!notlar = "İmha Edilemez"
Else
rs!notlar = "İmha Edilecek"
End If
rs.Update
rs.MoveNext
Loop
End If
rs.Close
Set rs = Nothing
MsgBox ("işlem tamamlandı")
dediğiniz gibi devir kısmını başkabir yedek üzerinde denedim sıkıntı çıkmadı. daha sonra kayıtları 50 ye kadar düşürdüm. ondan sonra hata vermeye başladı. orjinalinde de aynı şekilde hata verdi. o nedenle tekrar hata veriyor diye dönüş yaptım. şu anda sorunum düzeldi. elinize sağlık
(06/02/2017, 04:06)ozanakkaya yazdı: [ -> ]Merhaba,
Forma "btn_tumukontrol" adında buton ekledim, tıklandığında olayında
Private Sub btn_tumukontrol_Click()
On Error GoTo hata
Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("SELECT * FROM Tliste")
If Not (rs.EOF And rs.BOF) Then
rs.MoveFirst
Do Until rs.EOF = True
rs.Edit
If IsNull(rs!brmarsvdvryil) Then
GeciciDeviryil = 0
Else
GeciciDeviryil = rs!brmarsvdvryil
End If
If IsNull(rs!brmarsvsklmsure) Or rs!brmarsvsklmsure = "SÜRESİZ" Then
Gecicibrmarsvsklmsure = "0"
Else
Gecicibrmarsvsklmsure = rs!brmarsvsklmsure
End If
Exit Sub
If Gecicibrmarsvsklmsure = "SÜRESİZ" Then
GeciciMetin35 = "0"
Else
GeciciMetin35 = Abs(GeciciDeviryil) + Abs(Gecicibrmarsvsklmsure)
End If
If Gecicibrmarsvsklmsure = "SÜRESİZ" Then
GeciciMetin37 = "0"
Else
GeciciMetin37 = Abs(GeciciDeviryil) + Abs(rs!krmarsvsklmsure)
End If
rs!notlar = IIf(Abs(GeciciDeviryil) > 0 And Gecicibrmarsvsklmsure = "SÜRESİZ", "İmha Edilemez", IIf(Format(Now(), "yyyy") >= Abs(GeciciDeviryil) And Format(Now(), "yyyy") <= Val(GeciciMetin35), "Birim Arşivinde Saklanacak", IIf(Format(Now(), "yyyy") >= Val(GeciciMetin35) And Format(Now(), "yyyy") <= Val(GeciciMetin37), "Kurum Arşivinde Saklanacak", IIf(Gecicibrmarsvsklmsure = "SÜRESİZ" And rs!krmarsvsklmsure = "SÜRESİZ", "İmha Edilemez", "İmha Edilecek"))))
rs.Update
rs.MoveNext
Loop
End If
rs.Close
Set rs = Nothing
MsgBox ("işlem tamamlandı")
hata:
MsgBox (rs!listeno & " numaralı kayıtta boş olmaması gereken veri var kontrol ediniz.")
End Sub
Kodu yazılı,
Formdaki Metin35 ve Metin37 için geçici tanımlama yaptım,
Ancak,
brmarsvsklmsure, brmarsvdvryil alanlarının dolu olması gerektiği, bazı kayıtlarda boş olduğundan dolayı üstteki kodda bu alanlar boş ise 0 olarak sayması için kod eklendi.
Buton tıklandıktan sonra, Karışık 5-10 kaydı inceleyin, kodun doğru çalışıp çalışmadığını test edin.
sayın ozanakkaya, yukarıdaki kodda hata denetimi olayı var. burada ki hata denetiminde hata bulamadığı zaman
Kod:
MsgBox (rs!listeno & " numaralı kayıtta boş olmaması gereken veri var kontrol ediniz.")
burada hata veriyor. hata vermeden bu kısımın aktif olarak çalışması için nasıl bir yol izlemeliyim.
Ekledim
Merhaba, buton tıklandığında bahsettiğiniz hatayı veren örnek uygulamanızı ekleyiniz.
Merhaba, örnek uygulamanızı önceki mesajınızı düzenlemek yerine yeni mesaj olarak eklerseniz örneğinizi eklediğinizi anlayabiliriz
Butonun tıklandığında olayındaki kodları aşağıdaki ile değiştirerek deneyiniz.
Private Sub btn_tumukontrol_Click()
On Error GoTo Hata
Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("SELECT * FROM Tliste")
If Not (rs.EOF And rs.BOF) Then
rs.MoveFirst
Do Until rs.EOF = True
rs.Edit
If rs!brmarsvsklmsure = "SÜRESİZ" Or rs!brmarsvsklmsure = "DEVİR" Or rs!brmarsvsklmsure = "BİRLESTİ" Then
GeciciMetin35 = "0"
Else
GeciciMetin35 = Abs(rs!brmarsvdvryil) + Abs(rs!brmarsvsklmsure)
End If
If rs!brmarsvsklmsure = "SÜRESİZ" Or rs!brmarsvsklmsure = "DEVİR" Or rs!brmarsvsklmsure = "BİRLESTİ" Then
GeciciMetin37 = "0"
Else
GeciciMetin37 = Abs(rs!brmarsvdvryil) + Abs(rs!krmarsvsklmsure)
End If
If Abs(rs!brmarsvdvryil) > 0 And rs!brmarsvsklmsure = "SÜRESİZ" Then
rs!notlar = "İmha Edilemez"
ElseIf Abs(rs!brmarsvdvryil) > 0 And rs!brmarsvsklmsure = "DEVİR" Then
rs!notlar = "Devir Edildi."
ElseIf Abs(rs!brmarsvdvryil) > 0 And rs!brmarsvsklmsure = "SÜRESİZ" Then
rs!notlar = "İmha Edilemez"
ElseIf Abs(rs!brmarsvdvryil) > 0 And rs!brmarsvsklmsure = "BİRLESTİ" Then
rs!notlar = "Birleştirildi."
ElseIf Format(Now(), "yyyy") >= Abs(rs!brmarsvdvryil) And Format(Now(), "yyyy") <= Val(GeciciMetin35) Then
rs!notlar = "Birim Arşivinde Saklanacak"
ElseIf Format(Now(), "yyyy") >= Val(GeciciMetin35) And Format(Now(), "yyyy") <= Val(GeciciMetin37) Then
rs!notlar = "Kurum Arşivinde Saklanacak"
ElseIf rs!brmarsvsklmsure = "SÜRESİZ" And rs!krmarsvsklmsure = "SÜRESİZ" Then
rs!notlar = "İmha Edilemez"
Else
rs!notlar = "İmha Edilecek"
End If
rs.Update
GeciciSiraNo = rs!listeno
rs.MoveNext
Loop
End If
Me.notlar.Requery
rs.Close
Set rs = Nothing
MsgBox ("işlem tamamlandı")
Cikis:
Exit Sub
Hata:
MsgBox (GeciciSiraNo & " numaralı kayıtta boş olmaması gereken veri var kontrol ediniz.")
Dim rsa As Object
Set rsa = Me.Recordset.Clone
rsa.FindFirst "[listeno] = " & str(Nz(GeciciSiraNo, 0))
If Not rsa.EOF Then Me.Bookmark = rsa.Bookmark
Resume Cikis
End Sub
(09/02/2017, 18:52)ozanakkaya yazdı: [ -> ]Merhaba, örnek uygulamanızı önceki mesajınızı düzenlemek yerine yeni mesaj olarak eklerseniz örneğinizi eklediğinizi anlayabiliriz
Butonun tıklandığında olayındaki kodları aşağıdaki ile değiştirerek deneyiniz.
Private Sub btn_tumukontrol_Click()
On Error GoTo Hata
Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("SELECT * FROM Tliste")
If Not (rs.EOF And rs.BOF) Then
rs.MoveFirst
Do Until rs.EOF = True
rs.Edit
If rs!brmarsvsklmsure = "SÜRESİZ" Or rs!brmarsvsklmsure = "DEVİR" Or rs!brmarsvsklmsure = "BİRLESTİ" Then
GeciciMetin35 = "0"
Else
GeciciMetin35 = Abs(rs!brmarsvdvryil) + Abs(rs!brmarsvsklmsure)
End If
If rs!brmarsvsklmsure = "SÜRESİZ" Or rs!brmarsvsklmsure = "DEVİR" Or rs!brmarsvsklmsure = "BİRLESTİ" Then
GeciciMetin37 = "0"
Else
GeciciMetin37 = Abs(rs!brmarsvdvryil) + Abs(rs!krmarsvsklmsure)
End If
If Abs(rs!brmarsvdvryil) > 0 And rs!brmarsvsklmsure = "SÜRESİZ" Then
rs!notlar = "İmha Edilemez"
ElseIf Abs(rs!brmarsvdvryil) > 0 And rs!brmarsvsklmsure = "DEVİR" Then
rs!notlar = "Devir Edildi."
ElseIf Abs(rs!brmarsvdvryil) > 0 And rs!brmarsvsklmsure = "SÜRESİZ" Then
rs!notlar = "İmha Edilemez"
ElseIf Abs(rs!brmarsvdvryil) > 0 And rs!brmarsvsklmsure = "BİRLESTİ" Then
rs!notlar = "Birleştirildi."
ElseIf Format(Now(), "yyyy") >= Abs(rs!brmarsvdvryil) And Format(Now(), "yyyy") <= Val(GeciciMetin35) Then
rs!notlar = "Birim Arşivinde Saklanacak"
ElseIf Format(Now(), "yyyy") >= Val(GeciciMetin35) And Format(Now(), "yyyy") <= Val(GeciciMetin37) Then
rs!notlar = "Kurum Arşivinde Saklanacak"
ElseIf rs!brmarsvsklmsure = "SÜRESİZ" And rs!krmarsvsklmsure = "SÜRESİZ" Then
rs!notlar = "İmha Edilemez"
Else
rs!notlar = "İmha Edilecek"
End If
rs.Update
GeciciSiraNo = rs!listeno
rs.MoveNext
Loop
End If
Me.notlar.Requery
rs.Close
Set rs = Nothing
MsgBox ("işlem tamamlandı")
Cikis:
Exit Sub
Hata:
MsgBox (GeciciSiraNo & " numaralı kayıtta boş olmaması gereken veri var kontrol ediniz.")
Dim rsa As Object
Set rsa = Me.Recordset.Clone
rsa.FindFirst "[listeno] = " & str(Nz(GeciciSiraNo, 0))
If Not rsa.EOF Then Me.Bookmark = rsa.Bookmark
Resume Cikis
End Sub
teşekkürler kod hata vermiyor. çözüm için teşekkürler. ancak çalışırken hatalı kayıtı 1 eksik gösteriyor..