تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
حساب عدد الحقول الفارغة في السجلات
#1
السلام عليكم ورحمة الله وبركاته

كيف احسب عدد الخانات الفارغة في حقل معين لكل السجلات
الرد }}}
تم الشكر بواسطة:
#2
تفضل الكود
PHP كود :
Dim str As String "provider=microsoft.ace.oledb.12.0;data source=|datadirectory|\db.accdb"
    
Dim con As New OleDbConnection(str)
    Private 
Sub Button1_Click(sender As System.ObjectAs System.EventArgsHandles Button1.Click
        Dim cm 
As New OleDbCommand("select count(tid) from tb where tn is null"con)
        If 
con.State ConnectionState.Closed Then
            con
.Open()
        
End If
        
MsgBox(cm.ExecuteScalar)
        If 
con.State ConnectionState.Open Then
            con
.Close()
        
End If
    
End Sub 
الرد }}}
تم الشكر بواسطة: aftfm , عابر سبيل
#3
بارك الله فيك اخي العزيز سعود
الرد }}}
تم الشكر بواسطة:
#4
-
منقول

هناك نوعان من محتوى الحقل يكون فارغ:
:: محتوى غير منشأ وبالتالي يكون Null. (وهذا النوع يحدث خطأ عند محاولة قراءته)
:: محتوى منشأ ولكن ليس به بيانات.

ولمعرفة النوعين استخدم الطريقة التالية
كود :
SELECT COUNT(*) AS c FROM table1 WHERE (column1 IS NULL) OR (TRIM(column1) = '')
الرد }}}
تم الشكر بواسطة: aftfm
#5
جزاك الله خير اخي العزيز vbnet

لكن معنى AS c في الكود ممكن تشرحه
وهل المحتوى المنشأ تقصد به مثلا كمسافة فارغة مثلا
الرد }}}
تم الشكر بواسطة:
#6
(03-05-14, 01:01 PM)aftfm كتب : وهل المحتوى المنشأ تقصد به مثلا كمسافة فارغة مثلا
المقصود هنا النص الفارغ مثل "" لا توجد مسافة،
في حبن استخدمت TRIM لإجبار البحث بعدم اعتبار المسافات بياناً في حال احتوى الحقل عليها فقط.

(03-05-14, 01:01 PM)aftfm كتب : لكن معنى AS c في الكود ممكن تشرحه
منقول
معنى AS c هو وضع الناتج في عمود مؤقت بإسم c وهذا مفيد فقط عند قراءة الحقل من خلال اسمه،
في حين لو لم تضع له اسماً سيختار له محرك البيانات اسماً يبدأ بـ Expr1000،
ولكن لن تكون ذات أهمية في حالة قراءة الناتج من خلال استخدام الأمر المباشر ExecuteScalar.
الرد }}}
تم الشكر بواسطة: aftfm
#7
جزاك الله الف خير

انا قمت بكتابة الكود هكذا

كود :
SELECT COUNT(*) AS Name FROM table1 WHERE (Num IS NULL) OR (TRIM(Num) = '')

ولم يعطين خطأ هل هذا صحيح
الرد }}}
تم الشكر بواسطة:
#8
(03-05-14, 03:41 PM)aftfm كتب : جزاك الله الف خير

انا قمت بكتابة الكود هكذا

كود :
SELECT COUNT(*) AS Name FROM table1 WHERE (Num IS NULL) OR (TRIM(Num) = '')

ولم يعطين خطأ هل هذا صحيح

منقول

لا ينبغي استخدام اسماء مشابهة للكلمات المحجوزة حتى لو لم يظهر خطأ،
وإذا كان لابد فيتم وضعها بين أقواس مربعة [] جرب استخدام COUNT كإسم كالتالي
كود :
SELECT COUNT(*) AS COUNT FROM table1 WHERE (Num IS NULL) OR (TRIM(Num) = '')
كود :
SELECT COUNT(*) AS [COUNT] FROM table1 WHERE (Num IS NULL) OR (TRIM(Num) = '')
الرد }}}
تم الشكر بواسطة: aftfm
#9
الف شكر على التوضيح
زادك الله علماً
الرد }}}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم