Formda bilgi girisinde kayitlari okuma

1 2
21/10/2009, 08:44

cuneyt

sayın seruz.
Her ofice sürümünde malesef farklı çalışıyor. Güncellemelere göre.
verdiğim formül sorunsuz ve benim Access ile çalışıyor.
Benim kullandığım 2007 .
Hatta bununla ilgili birde arkadaşımız bir soru eklemiş.
https://accesstr.net/konu-versiyonlar.html
tamda bu konuya değiniyor.
selamlar
21/10/2009, 09:55

Seruz

Sn. Cuneyt,
Ben Access XP kullanıyorum ve maalesef onda bu şekilde düzgün çalışmadığını bildiğim için öncelikle dosyayı açıp acaba çalışıyor mu,
ben mi yanlış biliyorum diye bir test ettim.
Baktım düzgün çalışmıyor, onun için bu şekilde yazma ihtiyacı duydum.

Lütfen yanlış anlamayın.

Sizin verdiğiniz şekilde Access XP'de tüm tablonun toplamını veriyor, kriteri gözardı ediyordu.
Kod:
=DSum("[adet]";"tablo1";"[kodu]= [kodu]")
Aslında koda dikkatle baktığımda yanlış çalışması normal gibi.
Hem tabloda hemde formda [kodu] adlı bir alan var ve kritere baktığınızda
[kodu]=[kodu] şeklinde olduğu için, formdaki [kodu] adlı alanı değil tablodaki [kodu] adlı alanı kullanıyor access.
Bu sayede syntax hatası da vermiyor tabii.
Yani şu scripti çalıştırıyor gibi
Kod:
Select Sum([adet]) from tablo1 Where [kodu]=[kodu]
Bu şekilde de kriter tüm kayıtlarda doğru olduğu için tüm tablonun toplamını getiriyor.
Merak ettim şimdi, Access 2007'de tekrar kontrol edebilir misiniz?



Diğer konuda ki problem Date() fonksiyonundan kaynaklanıyor gibi.
Bende sık sık Date() fonksiyonu nedeniyle sıkıntılar yaşıyorum kullanıcılarımda.
Sp3 yükleyince sorun kalkıyor normalde, ama düzelmediği de oluyor bazen.
O zaman da bildiğim OCX, DLL'leri kopyalıyorum sorun gideriliyor.
Şimdi tam emin değilim ve alakasız gibi ama Dao360.dll veya MSCOMCT2.OCX çözüyordu sanırım.


Sn. Quad,

Alıntı:Peki bu toplama islemini bir kriter daha kullanarak nasil yapabilirim?
DSum("[adet]";"tablo1";"[kodu]='" & [Kodu] & "'") koduna ilave olarak ne yazmam gerekir?
tabloda [bas_tarihi] ve [bitis_tarihi] adli alanlar olsa.
formda kodu, baslangic tarihini ve bitis tarihini girdikten sonra o aralıktaki adetleri toplasa?

Dsum ve Dlookup için yazılmış olan konuları okuyun.
Orada kriterlerin nasıl kullanılabileceğini güzelce anlatıyor.
DSum ve Sum İşlevi
DLookup İşlevi

Dsum fonksiyonunun kriterinde tarih alanlarını kullanmak yerine,
formdaki tarihleri kriter olarak kullanan yeni bir sorgu yapıp,
Dsum fonksiyonunda o sorguyu kullanmayı tercih ederim.

Mesela Sorgu1 adında bir sorgu yapıp,
Kod:
=DCount("*";"Sorgu1";"[kodu]='" & [Kodu] & "'")

şeklinde kullanabilirsiniz.
21/10/2009, 11:19

quad

tesekkurler..
1 2