"Dcount" bazen boş hücreleri de neden sayıyor ki!
Tarih
24/03/2009 21:26
Konu Sahibi
pupil
Yorumlar
14
Okunma
4129
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 5
  • 4
  • 3
  • 2
  • 1

Derecelendirme: 0/5 - 0 oy



pupil
Üye
Kullanici Avatari
Üye
37
7
08/11/2008
16
İstanbul
Ofis 2003
08/02/2012,12:27
Çözüldü 
merhaba arkadaşlar...

"dcount" ile veri sayfası görünümündeki alt forumdan sayma işlemi yaptırıyorum. Bunu -sorgu üzerinden- açılan kutunun güncelleme sonrası olayına eklediğim kodla yapıyorum. sayın tdsharun'dan öğrendiğim ve kullandığım örnek kodlardan biri şöyle;

Metin9 = DCount("adsoyad", "Kadro_sorgusu", "adsoyad")

s o r u n i s e ş u ; bazen boş hücreler de sayıma dahil oluyor. sadece dolu alanları sayması gerekirken boş alanları da sayıyor ve yanlış sonuç veriyor. işin ilginç yanı, boş hücrelere rastgele veri girip tekrar sildiğimde ise düzgün çalışıyor ve sadece dolu alanları sayıyor. veri tabanının her açıp kapadığımda aynı hatayı yine yapıyor.

yukarıdaki koda nasıl bir ekleme yapmalıyım ki; boş hücreleri asla saymasın.

sağlıcakla...
Cevapla


okileturc
Aktif Üye
Kullanici Avatari
Aktif Üye
O.... V....
966
18/03/2009
459
İzmir
Ofis 2003
23/05/2016,13:38
Çözüldü 
Gelişmiş DCount olarak tavsiye edilen ECount u
bir denermisiniz ?
Bu kodu modüle olarak kayıt edin sonra DCount
yerine kodunuzda ECoun kullanın

Kod:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
Public Function ECount(Expr As String, Domain As String, Optional Criteria As String, Optional bCountDistinct As Boolean) As Variant
On Error GoTo Err_Handler
    'Purpose:   Enhanced DCount() function, with the ability to count distinct.
    'Return:    Number of records. Null on error.
    'Arguments: Expr           = name of the field to count. Use square brackets if the name contains a space.
    '           Domain         = name of the table or query.
    '           Criteria       = any restrictions. Can omit.
    '           bCountDistinct = True to return the number of distinct values in the field. Omit for normal count.
    'Notes:     Nulls are excluded (whether distinct count or not.)
    '           Use "*" for Expr if you want to count the nulls too.
    '           You cannot use "*" if bCountDistinct is True.
    'Examples:  Number of customers who have a region: ECount("Region", "Customers")
    '           Number of customers who have no region: ECount("*", "Customers", "Region Is Null")
    '           Number of distinct regions: ECount("Region", "Customers", ,True)
    Dim DB As DAO.Database
    Dim rs As DAO.Recordset
    Dim strSql As String

    'Initialize to return Null on error.
    ECount = Null
    Set DB = DBEngine(0)(0)

    If bCountDistinct Then
        'Count distinct values.
        If Expr <> "*" Then             'Cannot count distinct with the wildcard.
            strSql = "SELECT " & Expr & " FROM " & Domain & " WHERE (" & Expr & " Is Not Null)"
            If Criteria <> vbNullString Then
                strSql = strSql & " AND (" & Criteria & ")"
            End If
            strSql = strSql & " GROUP BY " & Expr & ";"
            Set rs = DB.OpenRecordset(strSql)
            If rs.RecordCount > 0& Then
                rs.MoveLast
            End If
            ECount = rs.RecordCount     'Return the number of distinct records.
            rs.Close
        End If
    Else
        'Normal count.
        strSql = "SELECT Count(" & Expr & ") AS TheCount FROM " & Domain
        If Criteria <> vbNullString Then
            strSql = strSql & " WHERE " & Criteria
        End If
        Set rs = DB.OpenRecordset(strSql)
        If rs.RecordCount > 0& Then
            ECount = rs!TheCount        'Return the count.
        End If
        rs.Close
    End If

Exit_Handler:
    Set rs = Nothing
    Set DB = Nothing
    Exit Function

Err_Handler:
    MsgBox Err.Description, vbExclamation, "ECount Error " & Err.Number
    Resume Exit_Handler
End Function


Selamlar

okileturc, 18-03-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla


pupil
Üye
Kullanici Avatari
Üye
37
7
08/11/2008
16
İstanbul
Ofis 2003
08/02/2012,12:27
Çözüldü 
sayın okileturc,
güzel bir modül ama benim örneğimde çalıştıramadım(kod ile veya denetim kaynağına yazarak), ["ecount error 3061", "çok az parametre. 2 bekleniyor"] şeklinde bir hata veriyor!
Cevapla


ozanakkaya
sledgeab
Kullanici Avatari
Kurucu
O.... A....
9.029
29/01/2008
Denizli
Polis Memuru
Ofis 2010 32 Bit
Çözüldü 
sn pupil, uygulamanızın ilgili form tablo ve sorgusunu ekleyebilirmisiniz.
Cevapla


okileturc
Aktif Üye
Kullanici Avatari
Aktif Üye
O.... V....
966
18/03/2009
459
İzmir
Ofis 2003
23/05/2016,13:38
Çözüldü 
Metin9 = DCount("adsoyad", "Kadro_sorgusu", "adsoyad")
bu dizeyede dikkat ettim hatalı gibi
Dcount("[adsoyad]","Kadro_sorgusu","[adsoyad]='oktay'")
gibi olmalı yani köşeli parantez olmalı bir de son bölümde
kriter yoksa "" olmalı
Dcount("[adsoyad]","Kadro_sorgusu","")
gibi
okileturc, 18-03-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla


akd
Aktif Üye
Kullanici Avatari
Aktif Üye
272
04/11/2008
35
Gaziantep
Ofis 2003
04/09/2016,23:08
Çözüldü 
Arkadaşlar bende çalışan DCount formül aşağıdaki gibi
istersenizn birde böyle deneyin,
Me.T3 = DCount("Kalan", "TlfDevir", "Cinsi='" & [T2] & "'")
sizin koda uygulamak gerekirse
Dcount("adsoyad","Kadro_sorgusu","adsoyad='" & [oktay] & "'")

"[adsoyad]" böyle hiç olmaz, hem köşeli parantez hemde tırnak hiç çalışmaz.
Cevapla







Konuyu Okuyanlar: 1 Ziyaretçi


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Tarih Son Yorum
  Tıklandığında ifadesi hataya neden oldu kadirdursun 5 103 19/10/2016, 12:54 kadirdursun
Çözüldü Tür uyuşmazlığı neden ates2014 6 821 11/01/2016, 09:50 ates2014
Çözüldü Access 2010 İle Accde Yapılan Uygulama Başka Pc'de 2010 Yüklü Neden Çalışmaz?? mehami 10 875 30/11/2015, 01:50 mehami
Çözüldü tablodaki görünüm neden farklı? alpertunga65 4 563 22/03/2015, 15:02 atoz112
Çözüldü DCount tarih parametresi hakkında mengene2 3 1.406 02/12/2014, 08:14 mengene2


Türkçe Çeviri: MCTR, Forum Yazılımı: MyBB, © 2002-2016 MyBB Group.
DMCA.com Protection Status
© Desing by XSTYLED| Develops by ozanakkaya