View Full Version : سوال: ارور dlookup
bemilove
سه شنبه 05 مرداد 1395, 00:11 صبح
سلام
در هنگامی که کنترل سورس تکست باکس یک فرم فرمول dlookup می گذاریم....خطا می دهد....تصویر پیوست می باشد
نمونه برنامه آپلود شده
141649141650
mazoolagh
سه شنبه 05 مرداد 1395, 09:52 صبح
جداکننده لیست باید ; باشه - اینجا ظاهرا : هست
بطوز کلی تو regional settings ویندوز کاراکتر list separator رو هم چک کنین یک وقت سمی کالن فارسی ؛ نباشه
bemilove
یک شنبه 17 مرداد 1395, 18:46 عصر
علامت درست شد.....ولی dlookup کار نمی کنه؟؟؟؟؟؟؟؟
mazoolagh
دوشنبه 18 مرداد 1395, 13:39 عصر
با اجازه تون برنامه رو یک نگاه انداختم ، دو راه پیش رو دارین:
رفع سریع مشکل و با حفظ وضعیت موجود
بازنگری طراحی
اگر فقط میخواین که سریع نتیجه بگیرین کافی هست که تکست باکس رو به کمبوباکس unbound تبدیل کنین و row source رو هم tbl-day بگذارین و مابقی تنظیمات
و بعد از گرفتن تاریخ با کد مقدار day رو جستجو کنین:
Private Sub Command26_Click()
DoCmd.OpenForm "f_Calendar", acNormal, , , , acDialog
Me.txtcode = strDate
Me.Text33 = DLookup("[day]", "[tbl-calendar]", "[tarikh2]=" & Format(strDate, "'0000/00/00'"))
End Sub
طراحی جداول و کدها بیش از حد پیچیده است و بهینه هم نیست.
چون datepicker یکبار مصرف نیست و قرار هست که در همه برنامه ها استفاده بشه باید یک دستی به سروروی اینها بکشین:
در جدول tbl-calendar مقدار id بیهوده است. همون tarikh رو به شکل long ذخیره کنین و کلید هم همون باید باشه
مقادیر سال و ماه و روز همه باید integer باشن
فقط مقادیری که واقعا متن هستن باید string باشن
یک user data type بسازین و یک متغیر گلوبال هم از همین نوع تعریف کنین که مقدار انتخاب شده توسط datepicker رو در اون نگهداری کنین :
TYPE PERSIAN_CALENDAR
PDATE AS LONG
PYEAR AS INTEGER
PMONTH AS INTEGER
....
....
WEEKDAY AS INTEGER
PWEEKDAY_NAME AS STRING
....
PMONTH_NAME AS STRING
....
GDATE AS DATE
....
END TYPE
PUBLIC SELECTED_DATE AS PERSIAN_CALENDAR
در همون فرم datepicker و نه در فرمی که اون رو صدا میزنه پس از انتخاب تاریخ همه این مقادیر رو آپدیت کنین
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.