Skip to main content

AccessTr.neT


Verileri Süzmede Ve Hesaplamada Hata Var

Verileri Süzmede Ve Hesaplamada Hata Var

#11
çalışmada bazı değişiklikler yaptım bu haliyle daha jızlı gibi geldi
1 - referanslara Microsof AcriveX Data Objects x.x library eklendi
2 - form modülünün en başına
Option Compare Database
Dim tplCksSure, KytCksSure, tplCksMsf, KytCksMsf, tplVrsSure, KytVrsSure As Double
3 - form yüklenirken Olayı (Form_Load) değişti:
Private Sub Form_Load()
    Me.BİRİMKutusu.SetFocus
    TmListeGncl
End Sub
4 - TmListeGncl fonksiyonu değişti
Private Sub TmListeGncl()

Dim RsLstS As Recordset
Dim RsLst As Recordset

Dim MtnSql, MtnKosul, MtnBirim, MtnMadde1, MtnMadde2, MtnMadde3, MtnSureByk, MtnSureKck, MtnBasTrh, MtnBitTrh As String
Dim MtnKosulDlk, MtnBirimDlk, MtnMadde1Dlk, MtnMadde2Dlk, MtnMadde3Dlk, MtnSureBykDlk, MtnSureKckDlk, MtnBasTrhDlk, MtnBitTrhDlk As String
Dim ImYr As Long

ImYr = Me.ActiveControl.SelStart
Me.ActiveControl.Value = Me.ActiveControl.Text
Me.ActiveControl.SelStart = ImYr
  
   MtnBirim = IIf(Len(BİRİMKutusu & "") < 1, "", " and ([İlkgrup_adi] Like '*" & BİRİMKutusu & "*')")
MtnMadde1 = IIf(Len(MADDE1Kutusu & "") < 1, "", " and ([olay_turu] Like '*" & MADDE1Kutusu & "*')")
MtnMadde2 = IIf(Len(MADDE2Kutusu & "") < 1, "", " and ([olay_cins] Like '*" & MADDE2Kutusu & "*')")
MtnMadde3 = IIf(Len(MADDE3Kutusu & "") < 1, "", " and ([vardiya] Like '*" & MADDE3Kutusu & "*')")
     MtnSureByk = IIf(Len(SureUst & "") < 1, "", " and ([CikisSure]>=" & Me.SureUst & "*60)")
     MtnSureKck = IIf(Len(SureAlt & "") < 1, "", " and ([CikisSure]<=" & Me.SureAlt & "*60)")
     MtnBasTrh = IIf(Len(ilk_tarih & "") < 1, "", " and ([olay_tarihi]>=clng(CDate('" & Me.ilk_tarih & "')))")
     MtnBitTrh = IIf(Len(son_tarih & "") < 1, "", " and ([olay_tarihi]<=clng(CDate('" & Me.son_tarih & "')))")

MtnKosul = MtnBirim & MtnMadde1 & MtnMadde2 & MtnMadde3 & MtnSureByk & MtnSureKck & MtnBasTrh & MtnBitTrh

Set RsLst = CurrentDb.OpenRecordset("sorgu1Krt", dbOpenDynaset) 'Me.TümListe.Recordset.OpenRecordset
MtnKosul = Mid(MtnKosul, 5)
RsLst.Filter = MtnKosul

Set RsLstS = RsLst.OpenRecordset
If RsLstS.RecordCount = 0 Then
    Metin1 = ""
    Metin2 = ""
    Metin85 = ""
    Metin92 = ""
    Exit Sub
End If
RsLstS.MoveLast

Set Me.TümListe.Recordset = RsLstS.OpenRecordset
'Hesaplamalar________________________________________________
tplVrsSure = Dsum ("Nz([CikisSure],0)", RsLstS.Name, MtnKosul)
KytVrsSure = RsLstS.RecordCount
Metin2.Value = KytVrsSure
If KytVrsSure <> 0 Then Me.Metin92 = Sny2Sure(tplVrsSure / KytVrsSure) Else Metin92 = ""

'hy varış süre ortalaması 'sadece değer olan kayıtlar için
tplCksSure = Dsum ("Nz([VarisSure],0)", RsLstS.Name, MtnKosul)
KytCksSure = DCount("*", RsLstS.Name, MtnKosul)
If KytCksSure <> 0 Then Me.Metin1 = Sny2Sure(tplCksSure / KytCksSure) Else Metin1 = ""

'hy mesafe ortalaması sadece değer olan kayıtlar için
tplCksMsf = Dsum ("Nz([mesafe],0)", RsLstS.Name, MtnKosul)
KytCksMsf = DCount("*", RsLstS.Name, MtnKosul)
If KytCksMsf <> 0 Then Me.Metin85 = tplCksMsf / KytCksMsf Else Metin85 = ""

'dsum("[mar]",rst.Name) 'recordseti Dsum ile kullanma

End Sub
hesapla ve HesaplaOrt fonksiyonları silinip doğrudan TmListeGncl fonksiyonunun içine alındı
arada gözümden kaçmış bir şeyler olmuş olabilir istatistik formunda hesaplanmamış alan yada çalışmayan bir fonksiyona rastlarsanız düzeltmeye çalışırım.
Not: tablolara dokunmadım yükleyeceğim örnekteki Tabloları silip kendi tablolarınızı eklerseniz sorunsuz çalışması gerek.

Not2: kapatırken sıkıştırma özelliğini aktifleştirdiğim için kapanması zaman alabiliyor isterseniz devre dışı bırakabilirsiniz
.rar BURSA İTFAİYESİ VAKA GİRİŞ PROGRAMI_hy3BosVt.rar (Dosya Boyutu: 2,64 MB | İndirme Sayısı: 1)
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da

Bu Konudaki Yorumlar
RE: Verileri Süzmede Ve Hesaplamada Hata Var - Yazar: berduş - 23/07/2020, 14:14
Task