dlookup ile bir öncekini çekebiliyorsanız gerisi 4 işleme kalmış demektir
30 dan çıkaracağınız 10 rakamının id değeri var mı
yoksa tek kriteriniz sondan bir öncekisi olması mı
eğer her satırın bir id değeri varsa o id değerine göre
Dlookup ile eski değeri getirip yenisinden çıkarıp istediğiniz yere yazdırırsınız
eğer id numarası otomatik ise ve hiç kesintisiz bir önceki kaydın id si
bir sonrakinden bir eksik ise problem yok
eğer id ler birbirini düzenli takip etmiyor ise hangi kritere göre bir öncekini bulacaksınız
eğer kaydı oluştururken o anda bu işlemi yapacaksanız Dlast Dmax kullanabilirsiniz
(20/04/2020, 14:02)accessman yazdı: dlookup ile bir öncekini çekebiliyorsanız gerisi 4 işleme kalmış demektir
30 dan çıkaracağınız 10 rakamının id değeri var mı
yoksa tek kriteriniz sondan bir öncekisi olması mı
eğer her satırın bir id değeri varsa o id değerine göre Dlookup ile eski değeri getirip yenisinden çıkarıp istediğiniz yere yazdırırsınız
eğer id numarası otomatik ise ve hiç kesintisiz bir önceki kaydın id si
bir sonrakinden bir eksik ise problem yok
eğer id ler birbirini düzenli takip etmiyor ise hangi kritere göre bir öncekini bulacaksınız
eğer kaydı oluştururken o anda bu işlemi yapacaksanız Dlast Dmax kullanabilirsiniz
Yanıtınız için teşekkürler,
Tablodaki TarihSaat alanı birincil anahtar (aynı tarih ve saat için yalnızca tek bir veri girilebilmesi için). Yani her satırın ID değeri tarihsaat alanıdır ve sürekli olarak bir saatte bir veri çekmektedir. Dmax ve Dmin komutu ile ilk ve son kayıtlar arasında işlem yaptırabildim, son ve birönceki kayıtla işlem yaptıramadım. Amacım yazılacak bir kod ile bunu sadece son kayıt çekildiğinde hesaplatmak ve forma yazdırmak.
eğer saatler birbirini düzenli takip ediyorsa
"Hour (#19/04/2020 22:00:00#)" - 1
gibi bir formulde kullanabilirsiniz
tabiki bu anlattıklarım
Dlookup için kriter olarak kullanılacak yani
dlookup("alanadı","tabloadı","where=" & Format(tarih, "\#19\/04\/2020 22\:00\:00\#")
gibi bir şeyler olması lazım
Kod:
"Hour (#19/04/2020 22:00:00#)" - 1
bir saat öncesi böyle olsa gerek
Kod:
DATEADD(hour,-1,zaman)
kodu ile de bir saat öncesine gidebilirsin
ama bu kadar uğraşmak yerine bir otomatik id koyun
tarih alanını özelliklerden benzersiz yapın daha kolay olur
bir önceki id e gidip ilgili alandan değeri alırsınız
üstelik aynı tarih ve saatten sadece bir tane olur
yineleme yok seçin
Iç içe 2 sorguyla olabilir, 2. sorgu icin max(tarih) where tarih < kaydın tarihi gibi bir sorgu aktif kayittan onceki en büyük tarihli kaydın değerlerini getirebilir. Ama ancak fonksiyonla olur gibi geliyor bana