Skip to main content

AccessTr.neT


Sonraki Kayıtta Veri Değişikliği

Sonraki Kayıtta Veri Değişikliği

Çözüldü #1
Formumda txtSutunno ve txtDurumu adında hücrem var. Bu hücrelerdeki veri değişikliğine göre bir sonraki kayıtta şarta değişiklik yapılmasını istiyorum. Değişiklik cümlesini nasıl yazabilirim.

txtSutunno "A" ve txtDurumu "Aktif" olduğu zaman
bir sonraki kayıtın Sutunnosu "B" ise Sayfadurumu değerinin "BOŞ" olmasını istiyorum.


If txtSutunno = "A" Then
If txtDurumu = "Aktif" Then
If Dlookup ("Sutunno", "tblKayitbilgileri", "[KayitID]=" & [KayitID] + 1) = "B"
Then
"Sayfadurumu", "tblKayitbilgileri", "[KayitID]=" & [KayitID] + 1) = "Boş"
txtDurumuiki = "Boş"
End If
End If
End If

Yukarıda yazdığım kodu düzeltebilirmisiniz. Teşekkür ederim.
Cevapla
#2
Merhaba, örnek uygulama eklerseniz örnek üzerinde inceleme yapılabilir.
Cevapla
#3
1 - ya zaten son kayıtta ise?
2 - KayitID birer birer artıyor görünüyor ya aradaki 1 kayıt silindiyse ve bir sonraki KayitID + 2 ise?
Cevapla
#4
Sizin dediğinizin kurgusunu tasarladım ama benim boyumu aşıyor. Bu iş tamamen size kalır çok şey istemiş olurum. Gerçi diğer işlerde sizin emeğiniz.Img-grin) Şimdilik kısım kısım öğrenmeye çalışıyorum. Sonra tekrar başlarım.

Aynı sayfanosuna ait A,B,C,D,E sütunlarından herhangi birine Öğrenci yazıldığında sütundurumu ([Durum]) "Aktif" oluyor. (Kaydet butonuna basınca).

Dolayısı ile Sayfanosu kullanıldığı için ilgili sayfanosunun [Sayfadurumu] nunda "Aktif" olması lazım. Yani işlem yapılan Sütunun Sayfano suna sahip diğer ID lerin bulunup bu IDlerin sayfadurumlarının da "Aktif" olması gerekiyor.
Kodlar (Defter durumları butonunda denemeye çalıştım)
Örnek ektedir.
Teşekkür ederim.
.rar dENEME.rar (Dosya Boyutu: 95,97 KB | İndirme Sayısı: 4)
Cevapla
#5
ilk mesajınızla son mesajınız farklı şeyler söylüyor o nedenle soruyu tam olarak anlamadım,
şimdi diyelim ki kayıtID=10 olan kaydın SutunDurumunu aktif yaptık bu kaydın SayfaNosu =2 ise sayfanosu 2 olan tüm kayıtların mı SutunDurumunu Aktif yapacağız? örnek kayıtlar üzerinden açıklar mısınız?
  If Defterdurumu = "Aktif" Then
CurrentDb.Execute "Update tblKayitbilgileri set [Sayfadurumu]='Aktif' where [Sayfano]='" & txtSayfano & "'"
End If
Cevapla
#6
Öncesinde
ID =1 Defterno=1 Defeterdurumu="Boş" Sayfano=1 Sayfadurumu=Boş Sutunno=A Durumu="Ayrıldı"
ID=2 Defterno=1 Defeterdurumu="Boş" Sayfano=1 Sayfadurumu=Boş Sutunno=B Durumu="Ayrıldı"
ID=3 Defterno=1 Defeterdurumu="Boş" Sayfano=1 Sayfadurumu=Boş Sutunno=C Durumu="Boş"
ID=4 Defterno=1 Defeterdurumu="Boş" Sayfano=1 Sayfadurumu=Boş Sutunno=D Durumu="Boş"
ID=5 Defterno=1 Defeterdurumu="Boş" Sayfano=1 Sayfadurumu=Boş Sutunno=E Durumu="Boş"

Sayfano=1 de C,D,E sütunları boş olduğu için Sayfadurumu="Boş" durumdadır. C,D,E sütunlarından birine öğrenci kaydedebilirim. "C" sütununa öğrenci kaydedersem; Kayıt butonuna basınca "Durumu" alanı "Aktif" oluyor. Dolayısı ile başka bir öğrenci kaydederken Sayfano=1 in kullanımda olduğunu belirtmek için, Defterdurumları butonuna basınca Sayfano=1 lerin durumunun "Aktif olması gerekiyor. Butona basınca aşağıdaki gibi gibi olacak.
ID =1 Defterno=1 Defeterdurumu="Boş" Sayfano=1 Sayfadurumu=Aktif Sutunno=A Durumu="Ayrıldı"
ID=2 Defterno=1 Defeterdurumu="Boş" Sayfano=1 Sayfadurumu=Aktif Sutunno=B Durumu="Ayrıldı"
ID=3 Defterno=1 Defeterdurumu="Boş" Sayfano=1 Sayfadurumu=Aktif Sutunno=C Durumu="Aktif"
ID=4 Defterno=1 Defeterdurumu="Boş" Sayfano=1 Sayfadurumu=Aktif Sutunno=D Durumu="Boş"
ID=5 Defterno=1 Defeterdurumu="Boş" Sayfano=1 Sayfadurumu=Aktif Sutunno=E Durumu="Boş"
İlk durum ile son durum arasındaki fark
C sütununun Durumu "Aktif"
Sayfano=1 lerin Sayfadurumu="Aktif"

Teşekkür ederim.

İlk yazdığım mesaj kendi çalışmamdı. Belki farklı ve daha anlaşılır bir yolu vardır. Diye ne yapmak istediğimi yazdım 2. mesajda.
Teşekkürler.
Son Düzenleme: 18/11/2020, 00:19, Düzenleyen: fenerli6774.
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da
Task