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

نسخة كاملة : تعديل جملة الإستعلام للبحث بين تاريخين
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
الاساتذة الافاضل:



الحمد لله وبفضله وبفضل معاونتكم فى هذا المنتدى الرائع - استطعت تحويل قاعدة البيانات اكسيس الى سكول سيرفر 2012 واستطعت بمساعدتكم ايضا  الوصول لقاعدة البيانات واجراء كافة العمليات عليها - باستخدام فيجوال بيسك6  
المشكلة :
وجدت  حقل التاريخ بالشكل التالى :
'2017-02-22 00:00:00.000
وعند قيامى بالاستعلام عن التاريخ بالكود التالى  :

If rs.State = adStateOpen Then rs.Close
rs.Open " Select * From table_name where date between #" & date1 & "# and #" & date2 & "#", db, adOpenKeyset, adLockPessimistic

يعطى رسالة خطأ كالتالى :
               '# ' incorrect syntax near 
 اذن هل الخطأ فى ان التاريخ بهذا الشكل :   2017-02-22 00:00:00.000 وكيف يمكن التعديل فى data type فى سكول ؟
ام الخطأ فى الكود نفسه 

اسف للاطالة واعذرونى لانى مازلت مبتدأ فى سكول سيرفر 
لكم جميعا تحياتى
أهلا أخي الكريم ، بالنسبة للإستعلام عن التاريخ في الإسكيوإل سيرفر فهو ليس كما الأكسس بالنسبة للتاريخ فقط ، في الأكسس إستخدم علامتي الـ # حول التاريخ في جملة الإستعلام ولكن في الإسكيوإل إستخدم علامة التنصيص المفرد ' يعني كأن حقل التاريخ حقل نصي وليس تاريخ ، جري وإن شاء الله خير .
(24-04-17, 03:16 AM)ahmed_egypt كتب : [ -> ]الاساتذة الافاضل:



الحمد لله وبفضله وبفضل معاونتكم فى هذا المنتدى الرائع - استطعت تحويل قاعدة البيانات اكسيس الى سكول سيرفر 2012 واستطعت بمساعدتكم ايضا  الوصول لقاعدة البيانات واجراء كافة العمليات عليها - باستخدام فيجوال بيسك6  
المشكلة :
وجدت  حقل التاريخ بالشكل التالى :
'2017-02-22 00:00:00.000
وعند قيامى بالاستعلام عن التاريخ بالكود التالى  :

If rs.State = adStateOpen Then rs.Close
rs.Open " Select * From table_name where date between #" & date1 & "# and #" & date2 & "#", db, adOpenKeyset, adLockPessimistic

يعطى رسالة خطأ كالتالى :
               '# ' incorrect syntax near 
 اذن هل الخطأ فى ان التاريخ بهذا الشكل :   2017-02-22 00:00:00.000 وكيف يمكن التعديل فى data type فى سكول ؟
ام الخطأ فى الكود نفسه 

اسف للاطالة واعذرونى لانى مازلت مبتدأ فى سكول سيرفر 
لكم جميعا تحياتى

شكرا على التوضيح وقمت بالتعديل التالى:
   rs.Open " Select * From table_name where date between  'date1' and  'date2' ", db, adOpenKeyset, adLockPessimistic
  اعطى رساله خطأ كالتالى :
                                                       '& ' incorrect syntax near 
أهلا أخي الكريم ، هذا تعديل جملة الإستعلام :

PHP كود :
If rs.State adStateOpen Then rs.Close
rs
.Open " Select * From table_name where date between '" date1 "' and '" date2 "'"dbadOpenKeysetadLockPessimistic 
رسالة خطأ Run time erro
the conversation of a varchar data type to a datetime data type resulted in an out-of-range value
تظهر تلك الرسالة عند تنفيذ التعديل الجديد والذى تفضلت حضرتك بارساله لى -
واذكر حضرتك اننى محول قاعدة البيانات من اكسيس الى سيكول سيرفر وان التاريخ يظهر فى السكول بتلك الصورة :
2017-02-22 00:00:00.000
فهل data type فى اكسيس ( date time) غير متوافقة مع data type فى سكول ؟
وكيف اجعل التاريخ يظهر بشكل عادى بدون 00:00:00.000
اشكر تعاونكم وسعه صدوركم
أهلا أخي الكريم , الرسالة تقول تحويل النص إلى تاريخ جاب نتيجة خارج النطاق , لذلك تقدر تتحكم في تنسيق التاريخ عن طريق الدالة Convert من داخل جملة الإستعلام نفسها , جرب هذا التعديل حيث سيتم تحويل القيم الذي تبحث بها إلى نوع تاريخ داخل جملة الإستعلام حيث الرقم 121 يحول التاريخين الذي ستبحث بها إلى تواريخ بتنسيق YYYY-MM-DD .

PHP كود :
If rs.State adStateOpen Then rs.Close
rs
.Open " Select * From table_name where date between convert(datetime,'" date1 "',121)  and convert(datetime,'" date1 "',121)"dbadOpenStaticadLockPessimistic 
(25-04-17, 09:14 AM)Ahmed_Mansoor كتب : [ -> ]أهلا أخي الكريم , الرسالة تقول تحويل النص إلى تاريخ جاب نتيجة خارج النطاق , لذلك تقدر تتحكم في تنسيق التاريخ عن طريق الدالة Convert من داخل جملة الإستعلام نفسها , جرب هذا التعديل حيث سيتم تحويل القيم الذي تبحث بها إلى نوع تاريخ داخل جملة الإستعلام حيث الرقم 121 يحول التاريخين الذي ستبحث بها إلى تواريخ بتنسيق YYYY-MM-DD .

PHP كود :
If rs.State adStateOpen Then rs.Close
rs
.Open " Select * From table_name where date between convert(datetime,'" date1 "',121)  and convert(datetime,'" date1 "',121)"dbadOpenStaticadLockPessimistic 

للأسف اعطتنى نفس الرسالة 
للأسف نفس الرسالة :
                                                     Run time erro 

the conversation of a varchar data type to a datetime data type resulted in an out-of-range value
استاذنا الفاضل :
 وضع علامات التنصيص المفردة حول حقل التاريخ هذا يعنى اننا قمنا بتحويل التاريخ الى نص والان لماذا نحاول العكس  تحويل النص الى تاريخ ؟ والله انا فى غايه الحرج من حضرتك -لأنى تعبك معايا فارجو المعذرة - لانى اريد الاستفادة من حضرتك .
ضع date1 وdate2 في دالة CDate لتحويلها من نص الى تاريخ
وذلك لتتأكد من أن صيغتها مقبولة كتاريخ
واذا ظهر فيها خطأ التحويل فحينها تعرف سبب المشكلة وتتخذ الاجراءات اللازمة لتلافيها.
اولا: جزاكم الله كل خير ويكفينى ان حضرتكم متابعين معى المشكلة وخاصة من الاستاذ المحترم / احمد منصور
ثانيا : بخصوص المشكله للاسف لم اصل لحل لها - ولا استطيع ان اطالبكم باكثر من ذلك -
اشكركم جميعا منتدى فعلا محترم بمشرفيه واعضائه
للاسف حصل معايا نفس المشكلة ومش لاقى حل
الصفحات : 1 2