منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : حساب عدد الحقول الفارغة في السجلات
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله وبركاته

كيف احسب عدد الخانات الفارغة في حقل معين لكل السجلات
تفضل الكود
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 
بارك الله فيك اخي العزيز سعود
-
منقول

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

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

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

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

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

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

ولم يعطين خطأ هل هذا صحيح
(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) = '')
الف شكر على التوضيح
زادك الله علماً