بمجرد أن يكون اليوم أكبر من أو يساوي 12 غالبا تنتهي مشاكل التاريخ بسبب الخلط بين اليوم والشهر متأثرا بتنسيق نظام التشغيل.
ولكن إذا قل اليوم عن 12 وهو القيمة الكبرى للشهور تبدأ أحيانا مشاكل الخلط وبالتالي اختلاف قيمة التاريخ وخصوصا إذا كتب التاريخ على شكل نص وحصره بعلامتي الرقم #.
طريقتي في الاحتراز:
تحويل التاريخ إلى رقم باستخدام أربع دوال كالتالي:
- إذا كان التاريخ بدون وقت يمكن استخدام دالة CLng.
- إذا كان التاريخ يحتوي على وقت ينصح باستخدام دالة CDbl.
- إذا كان التاريخ على شكل
لم أتعود على كتابة الأمثلة وهذه مقدرتي ، من يمتلك هذه الملكة فليقوم بالاختبارات وعمل أمثلة أكثر وضوحا.
من أهم ما أشدد على الالتزام به هو أن تستخدم دالة تحويل التاريخ إلى رقم لجهتي المقارنة أي حقل الجدول و قيمة البحث.
Sub Test4()
Dim TestDate As Date
Dim SearchText As String
'-----------------------------------------------------------
'المعتاد
SearchText = "Birthdate=" & #10/4/2020#
'الاحترازي
TestDate = DateSerial(2020, 4, 10)
SearchText = "CLng