منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
خطا بالاستعلام داخل داتا بيز اكسس - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : خطا بالاستعلام داخل داتا بيز اكسس (/showthread.php?tid=26784)



خطا بالاستعلام داخل داتا بيز اكسس - hatem555 - 04-10-18

استفسار بخصوص جملة الاستعلام select column from table access where name like()
كل لما اعمل الكود ده
PHP كود :
DataAdapter1 = New OleDbDataAdapter("select qnt,price1 from store_1 Where name_1 like'%" Trim(DataGridView1.CurrentRow.Cells(1).Value) & "%'"conn)
            
Dim dt As New DataTable
            DataAdapter1
.Fill(dt)
            
MsgBox(dt.Rows(dt.Rows.Count 1).Item("price1")) 

كل لما اعمل الاستعلام ده بيكون قيمة (DataGridView1.CurrentRow.Cells(1).Value) هي (علبة مربي)
بيجيب بيانات صنف اخر مشابه للاسم (علبة مربي 1/2)
حاولت ابدل كلمة like ب = مش نفع
حد يفيدني


RE: خطا بالاستعلام داخل داتا بيز اكسس - ay.alhaj - 04-10-18

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


يجب ان يكون هنالك للاصناف رقم فريد برايمري كي بحيث عندما تستدعي صنف معين تستدعيه بشرط ان الرقم الفريد (priamary key)  يكون هو الشرط لانه لا يتكرر وهو رقم فريد 

على سبيل المثال 

علبة المربى تأخذ رقم فريد ١ ويجب ان لا يتكرر يكون خاص بالمربى 

علبة قشطة مثلا تأخذ الرقم ٢ 

عندما تستدعي الكود ضع الشرط ان الكود مساوي للمفتاح الفريد مثلا اذا اردت ان اظهر علبة المربى يجب ان يكون الشرط ان كود الصنف يساوي ١

واذا اردت اظهار علبة القشطة يجب ان يكون الشرط كود الصنف يساوي ٢

وهكذا

ايضا تعقيبا على الكود الخاص بك في حالة الاستدعاء لا تستخدم like وانما استخدم = وقم بازالة % 

Like تستخدم في البحث عندما يكون لديك داتاجرد وتريد ان تبحث في الاصناف عن صنف معين تستخدم like لانها عبارة عن فلتر للاسم تقرا حسب الاتجاه المطلوب منها اما من اليمين لليسار او من اليسار لليمن او من الجهتين فالافضل ان تستخدم =


RE: خطا بالاستعلام داخل داتا بيز اكسس - hatem555 - 04-10-18

تسلم ay.alhaj تم الحل بحذف %
الف شكر


RE: خطا بالاستعلام داخل داتا بيز اكسس - elgokr - 05-10-18

حتى توضح الصورة كاملاً لمن لديه نفس الاستفسار
او اتى للموضوع من خلال البحث كل الامر لاتمام حل المشكلة هو عمل التالى

الجزء التالى من سطر الكود
كود :
name_1 like'%" & Trim(DataGridView1.CurrentRow.Cells(1).Value) & "%'

يستبدل بهذا الجزء
كود :
name_1 ='" & Trim(DataGridView1.CurrentRow.Cells(1).Value) & "'

كما يمكنك ايضاً استخدام الامر بهذه الطريقة
كود :
name_1 like'" & Trim(DataGridView1.CurrentRow.Cells(1).Value) & "'


تحياتى للجميع
وتمنياتى لكم التوفيق



RE: خطا بالاستعلام داخل داتا بيز اكسس - ay.alhaj - 05-10-18

(04-10-18, 10:54 PM)hatem555 كتب : تسلم  ay.alhaj  تم الحل بحذف  %
الف شكر

عفوا اخي