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

نسخة كاملة : هل يمكن اسناد جملة في حال وجود حقل في الجدول او عدمه
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
السلام عليكم
عندي جدول   table1
فيه عدة حقول       t1    ,  t2 ,  t3
 اريد اسند جملة كالتالي
  في حال وجود   t3    اجعل   " العنوان"  =  MSFlexGrid1.TextMatrix(0, 3)   
وفي حال عدم وجوده         " "  =  MSFlexGrid1.TextMatrix(0, 3)          
 

مع الشكر والتقدير
وعليكم السلام ورحمة الله وبركاته

أهلا بك أخي الكريم , إذا كانت قاعدة البيانات أكسس وتريد من خلال جملة الإستعلام فحص ما إذا كان حقل موجود في الجدول أم لا فعلى حد علمي أعتقد لايمكن ذلك لكن تستطيع بالكود أن تفحص وجود الحقل من عدمه وعلى النتيجة تنشئ جملة الإستعلام التي تناسب وجود الحقل أو عدمه , مثلا تعمل دالة تفحص وجود الحقل في الجدول وترجع لك قيمة True إن كان موجود و False إن لم يكن موجود , مثال :

PHP كود :
Dim SQL As String

If CheckField("t3") = True Then
    SQL 
"Select t1,t2,t3 From table1"
    
MSFlexGrid1.TextMatrix(03) = "العنوان"
Else
    
SQL "Select t1,t2,'' From table1"
    
MSFlexGrid1.TextMatrix(03) = ""
End If 
(08-12-19, 02:24 AM)Ahmed_Mansoor كتب : [ -> ]وعليكم السلام ورحمة الله وبركاته

أهلا بك أخي الكريم , إذا كانت قاعدة البيانات أكسس وتريد من خلال جملة الإستعلام فحص ما إذا كان حقل موجود في الجدول أم لا فعلى حد علمي أعتقد لايمكن ذلك لكن تستطيع بالكود أن تفحص وجود الحقل من عدمه وعلى النتيجة تنشئ جملة الإستعلام التي تناسب وجود الحقل أو عدمه , مثلا تعمل دالة تفحص وجود الحقل في الجدول وترجع لك قيمة True إن كان موجود و False إن لم يكن موجود , مثال :

PHP كود :
Dim SQL As String

If CheckField("t3") = True Then
    SQL 
"Select t1,t2,t3 From table1"
 
   MSFlexGrid1.TextMatrix(03) = "العنوان"
Else
 
   SQL "Select t1,t2,'' From table1"
 
   MSFlexGrid1.TextMatrix(03) = ""
End If 

السلام عليكم
لم اوفق في تطبيق الدالة التي تكرمت وتفضلت بها ولهذا ارفقت تطبيقا  اذا سمح لك الوقت
كرمك علينا كثيرا
جزاك الله خيرا
وعليكم السلام ورحمة الله وبركاته

أهلا بك أخي الكريم , تم تعديل المثال , بالتوفيق .
احسنت اخي واشتاذنا الطيب احمد
جزاك الله خيرا اسال الله لك التوفيق وقضاء الحوائج
الشكر والتقدير لك ببيان لا ينقطع عطره وذكرك الطيب
السلام عليكم اخي احمد
اريد اسند هذه الدالة الى تكست بوكس للكشف عن اسم الحقل الثالث
Text1.Text = Data2.Recordset.Fields(3).Name
لكن المشكلة انه في حال عدم وجود الحقل ( محذوف من الجدول ) فانه يعطي رساله خطا
المطلوب :
اذا كان موجود يعرض الاسم في التكست ولكن في حال عدم وجوده يكون
Text1.Text = ""
وعليكم السلام ورحمة الله وبركاته

أهلا بك أخي الكريم , إستخدم الطريقة التالية :

PHP كود :
If Data2.Recordset.Fields.Count >= 3 Then
   Text1
.Text Data2.Recordset.Fields(3).Name
Else
   
Text1.Text ""
End If 

بالتوفيق .
شكرا لك اخي احمد على اهتمامك ورعايتك الكريمة ومتابعتك لنا جميعا
انا استخدمت سابقا عدة جمل يمكن ان يستخرج منها اسم الحقل ولكن المشكلة تكمن في ان الحقل يفترض موجود بالفعل حتى يمكن اسناد الجملة له
وما اريده هو
استخراج الاسم في حال الحقل موجود او لم يكن موجودا بحيث يصفر التكست بلا اي رسالة خطا
ففي هذا المثال
Text1.Text = Data2.Recordset.Fields(3).Name
لو كان الحقل 3 محذوفا لا يمكن تشغيل هذه الجملة وتعطي رسالة خطا
تحياتي لك
أهلا بك أخي الكريم , أخي لاحظ الكود التالي :

PHP كود :
Data2.DatabaseName App.Path "\sari.mdb"
Data2.RecordSource "Select Top 1 * From table1" 
Data2.Refresh

If Data2.Recordset.Fields.Count >= 3 Then
   Text1
.Text Data2.Recordset.Fields(3).Name
Else
   
Text1.Text ""
End If 

في هذا الجزء من الكود :

PHP كود :
Data2.DatabaseName App.Path "\sari.mdb"
Data2.RecordSource "Select Top 1 * From table1" 
Data2.Refresh 

نقوم بفتح الجدول بجميع الحقول الموجودة فيه , وفي هذا الجزء من الكود :

PHP كود :
If Data2.Recordset.Fields.Count >= 3 Then
   Text1
.Text Data2.Recordset.Fields(3).Name
Else
   
Text1.Text ""
End If 

نقوم بفحص ما إذا كان عدد الحقول أكبر من أو يساوي رقم الحقل الذي تريد معرفة إسمه فإذا كان عدد الحقول أكبر أو يساويه فمعناته أن الحقل بهذا الرقم موجود في الجدول أما إذا كان عدد الحقول الموجودة في الجدول أصغر فمعناته أن الحقل بهذا الرقم غير موجود ولايمكن جلب إسمه , بالتوفيق .
احسنت اخي واستاذي الطيب احمد منصور
اجدد الشكر والتقدير لك واسال الله تعالى ان يوفقك ويقضي حوائجك للدنياوالاخرة وييسر امورك كلها ويرحم والديك في الدنيا والاخرة
تحياتي لك
انا عملت سابقا فكرة مشابهة لما تفضلت به ولكن ماتجود به انت من الكرم هو اجود وافضل ماعندنا طريقتك في الوصول الى المطلوب احترافي ودقيق
الله يوفقك
الصفحات : 1 2