formdan gelen tarih verileriyle sorgu yapmak

Katılım
21 Ağustos 2007
Mesajlar
12
Excel Vers. ve Dili
2003 tükçe
Merhaba ekli dosyada ortalama isimli bir form bulunmakta mevcut haliyle hesapla dugmesine basinca nem ve basinc alanlarinin tum degerleri icin ortalama degerleri, sicaklik icinse verilen tarih araligi icin ortalama degeri alip formda ilgili alana yaziyor. benim istedigim ise formdan girilen tarih degerleriyle bu hesabin yapilmasi. fakat hem davg fonksiyonuna tarih parametrelerini geciremedim hem de benim tablomda tarih formatim gg.aa.yyyy oldugu davg fonksiyonu ise benden aa/gg/yyyy istedigi icin bu isi yapamadim. dosyayi da ekte yolluyorum. forma bakinca sanirimne yapmak istedigim daha acik olarak anlasilacaktir.
ilgilenebilirseniz cok sevinirim.
:???::yardim::yardim::???:
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın aanniill,

Hesapla düğümesinin kodlarını şöyle değiştirin:

Kod:
Private Sub butHesapla_Click()
Dim ortS, ortB, ortN
Dim strWhere As String
Dim Date1, Date2 As String
    Date1 = Format(Me.basTarihi, "\#mm\/dd\/yyyy\#;;;\N\u\l\l")
    Date2 = Format(Me.bitTarihi, "\#mm\/dd\/yyyy\#;;;\N\u\l\l")
    
    strWhere = "tarih Between " & Date1 & " And " & Date2
    
    ortS = DAvg("[sıcaklık]", "tablo1", strWhere)
    Me.ortSıcaklık.Value = ortS
    ortB = DAvg("[basınç]", "tablo1")
    Me.ortBasınç.Value = ortB
    ortN = DAvg("[nem]", "tablo1")
    Me.ortNem.Value = ortN
End Sub
İyi çalışmalar:)
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Bende hata vermiyor

Başka birşey var arada. Tarih alanlarını boş geçmemeniz gerekiyor.


İyi çalışmalar
 
Katılım
30 Ocak 2006
Mesajlar
937
Excel Vers. ve Dili
Access 2003
Tamam. Referansta önemsemediğim veya ondan değildir dediğim bir kayıp (Missing) vardı. Bir modül oluiturup referanstan sildim. Hata gitti. Ama bu kez de sıcaklık metin kutusu boş kaldı. Herneyse ... Bilginiz olsun diye yazdım. Kolay gelsin. Asıl soruyu soran arkadaşta mutlaka iş görür.
 
Son düzenleme:
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Yukarıdaki kodlarda bildirimlerden sonra bu kodu eklerseniz, tarih alanı boş ise en küçük ve en büyük tarihleri ekler.

Kod:
  If IsNull(Me.basTarihi) Then
    
        Me.basTarihi = DMin("tarih", "tablo1")
    End If
    
    If IsNull(Me.bitTarihi) Then
        Me.bitTarihi = DMax("tarih", "tablo1")
    End If
İyi çalışmalar:)
 
Katılım
21 Ağustos 2007
Mesajlar
12
Excel Vers. ve Dili
2003 tükçe
cok tesekkur ederim. emegine saglik. ayrica bu kadar cabuk cevap verdigin icin extra tesekkurler.
:icelim:
 
Üst