Merhaba Arkadaşlar,
Bakım uygulaması yapmak için uğraşıyorum ve bir noktada yardımınıza ihtiyacım var. Sorunum; "bakım kayıtları" tablosuna form ile kayıt ekliyorum ve "sonraki bakım" için aynı tabloda "bakım periyodu" kadar gün ekleyip hesaplatıyorum. Ayrıca makinelerin kayıtlı olduğu "makineler" tablosunda en son yapılan bakım tarihini de görmek istiyorum. Yani bakım kayıtlarında spesifik bir makine için yapılan tüm bakımlardan, en sonuncusunu (en yakın tarihlisini); "makineler" formundaki ilgili makine kaydının "en son bakım" alanında görmek istiyorum. Nasıl bir yol izlemeliyim?
Access dosyasını ekler kısmında belirttim. Yardımlarınızı rica ederim.
forma ekleyeceğiniz bir metin kutusunun denetim kaynağına aşağıdaki kodu yazmayı dener misiniz
Kod:
=DLast("[bakım tarihi]";"[bakım kayıtları]";" [makine id] =" & [makine_id])
makineleri tanımlayan alanın "makine_id" olduğunu varsayarak söylüyorum "bakım kayıtları" tablosunda makine adı ve makine modeli alanlarına gerek var mı?
o alanlar zaten makine tablosundaki, makine_id alanına bağlı, yani bakım tablosundaki makine_id'ini biliyorsak zaten ad ve modeli de biliyoruz demektir
tabloyu boş yere şişirmiş oluyorsunuz
iyi çalışmalar
Söylediğiniz çözümü uyguladım ve ekran görüntülerini eklerde belirttim. Yeni kayıtlarda #hata, önceki kayıtları seçtiğimde ise tamsayı değeri veriyor. Biçim 'i kısa tarih yapmayı denedim. Fakat saçma tarihler atıyor bu seferde. Ayrıca bakım kayıtları tablosunda makine adı ve modeline ihtiyacım var. Çünkü daha sonra bunlardan rapor oluşturmalıyım ve DLast fonksiyonu sanırım form üzerinde sadece görüntülemekte kullanılıyor. En son bakım tarihini, makineler formunda da kayıt ettirmeliyim. Bu şekilde bir çözüm önerebilir misiniz acaba?
[dlast
] köşeli parantez içinde olmayacak aynen aşağıdaki gibi olacak
=DLast("[bakım tarihi]";"[bakım kayıtları]";" [makine id] =" & [makine_id])
yeni kayıtta boş olmasını istiyorsanız aşağıdaki kodu deneyebilirsiniz
Kod:
=IIf(Not [NewRecord];DLast("[bakım tarihi]";"[bakım kayıtları]";" [makine id] =" & [makine_id]);Null)
En son yapılan bakım tarihini metin kutusuna getiriyor. Fakat "bakım kayıtları" tablosunda kayıtlı kalıyor. Ben bu en son bakım yapılan tarihi "makineler" tablosuna aktarıp kaydedemiyorum hocam.
Yeni kayıtta boş olması için denetim kutusuna
=IIf(Not [NewRecord];DLast("[bakım tarihi]";"[bakım kayıtları]";" [makine id] =" & [makine_id]);Null)
yazdım. Bu sefer, makine id seçsem dahi boş kalıyor
o zaman eski kodu kullanıp
Kod:
=DLast("[bakım tarihi]";"[bakım kayıtları]";" [makine id] =" & [makine_id])
"makine_id" güncelleştirme olayına
yapın
(03/10/2019, 08:13)sipuasfaf yazdı: Ayrıca bakım kayıtları tablosunda makine adı ve modeline ihtiyacım var. Çünkü daha sonra bunlardan rapor oluşturmalıyım
aslında gerek yok çünkü rapor oluştururken zaten makine idini kullanarak bu alanları çağırabiliyoruz aynı şey son bakım tarihi için de geçerli, sorgular yada formda kullanacağımız ilişkiler aracılığıyla verileri görebiliriz