Dmax Hesaplama Sorunu

27/02/2018, 18:44

mehmetb84

MErhaba arkadaşlar,
Veritabanımda bulunan f_tarih formunun alt formu olan f_dokumasayac formunun, asayac1 alanına ait kutucuğa tıkladığımda, şimdiye kadar ilgili makinada girilmiş en yüksek asayac2 değerinin asayac1 alanına atanmasını istiyorum.

Örneğin 1 nolu makina için girilmiş en yüksek asayac2 değeri 650. asayac1 kutusuna tıkladığımda yazdığım kod gereği 650nin getirilmesi gerek yalnız hiç anlayamadığım bir şekilde 300 sayısı çağırılıyor.

Yardımcı olursanız sevinirim. 
teşekkürler
28/02/2018, 10:56

ozanakkaya

Merhaba,

DD = [Forms]![f_tarih].[Form]![t_dokumasayac].[Form]![dokuma_makno]

dokuma_asayac1 = DMax("dokuma_asayac2", "t_dokumasayac", "dokuma_makno=" & DD)


kodunu deneyiniz.
28/02/2018, 13:32

mehmetb84

Çalıştı çok teşekkür ederim.
Benim yazdığım koddaki sorun ne onu anlayamadım. 
Dmax kullanırken illa kriter mi yazmamız lazım?
28/02/2018, 14:20

ozanakkaya

Merhaba,

sizin eklediğiniz kod:

DD = [Forms]![f_tarih].[Form]![t_dokumasayac].[Form]![dokuma_makno]
ID = Dlookup ("dokuma_asayac2", "t_dokumasayac", "dokuma_makno=" & DD)
Me.dokuma_asayac1 = DMax(ID, "t_dokumasayac")

DD değişkeni ile dokuma_makno değerini buluyorsunuz

DD değeri 1 iken, ID Değişkeni ise, dokuma_makno=1 olan veriyi buluyor, yani tablodaki dokuma_makno değeri 1 olan ilk satırı buluyor. Bu satırın dokuma_asayac2 alanındaki veri 300 olduğu için bu veriyi buluyor. DMax(ID, "t_dokumasayac") kodunda kriter olmadığı için alana yine 300'ü aktarıyor. 

dokuma_makno'ya göre veri alacaksanız kriter kullanmanız gerekiyor.
28/02/2018, 14:41

mehmetb84

Şimdi anladım, çok çok teşekkürler.