نمایش نتایج 1 تا 6 از 6

نام تاپیک: انتخاب کوئری

  1. #1

    انتخاب کوئری

    سلام
    من چند تا جدول انجام کارهای مختلف دارم برای هر کدوم یک کوئری درست کردم که بازدن یک دکمه تاریخی رو که توی فرم مشخص کردم رو میگیرن و کارهایی که در اون روز انجام شده رو لیست میکنن حالا من وقتی میزنم دکمه رو تمام کوئری ها باز میشن ولی من میخوام فقط کوئری هایی باز بشن که در حداقل یک نتیجه رو دارن و مابقی باز نشن
    خودم با Dlookup نوشتم ولی بعضی وقتا بعضی جدولها رو باز نمیکنه میخوام از یه روش دیگه امتحان کنم
    ممونومن میشم اگه راه نماییم کنین

  2. #2

    نقل قول: انتخاب کوئری

    کسی نیست کمک کنه
    میبخشید بزارید کاملتر بگم
    من تعدادی جدول دارم که هر کدام قسمتی از یک گزارشکار هستند
    برای نشان دادن همه کارهایی که در یک روز ساخته شده برای هر کدوم از جدول یک کوئری ساختم که بر اساس تاریخی توی فرم هست کارهای انجام شده در یک تاریخ رو نشون میده
    حالا مشکلم این بود که وقتی دکمه رو میزدم تمام کوئری ها باز میشن ولی من میخواستم فقط اونهایی باز شن که رکوردی در اون تارخ دارن برای همین هم از این کدها استفاده کردم
    If DLookup("date", "Tbl_boiler_M") = Date Then    DoCmd.OpenQuery "Q_boiler_M_today"
    Else

    End If


    If DLookup("date", "Tbl_boiler_S") = Date Then
    DoCmd.OpenQuery "Q_boiler_S_today"
    Else

    End If


    If DLookup("date", "Tbl_chiller_M") = Date Then
    DoCmd.OpenQuery "Q_chiller_M_today"
    Else


    End If


    If DLookup("date", "Tbl_chiller_S") = Date Then
    DoCmd.OpenQuery "Q_chiller_S_today"
    Else


    End If


    If DLookup("date", "Tbl_Disel_M") = Date Then
    DoCmd.OpenQuery "Q_Disel_M_today"
    Else


    End If


    If DLookup("date", "Tbl_Disel_S") = Date Then
    DoCmd.OpenQuery "Q_Disel_S_today"
    Else


    End If


    If DLookup("date", "Tbl_exust_M") = Date Then
    DoCmd.OpenQuery "Q_exust_M_today"
    Else


    End If


    If DLookup("date", "Tbl_exust_S") = Date Then
    DoCmd.OpenQuery "Q_exust_S_today"
    Else


    End If


    If DLookup("date", "Tbl_Heat exchanger_M") = Date Then
    DoCmd.OpenQuery "Q_Heat exchanger_M_today"
    Else


    End If


    If DLookup("date", "Tbl_Heat exchanger_S") = Date Then
    DoCmd.OpenQuery "Q_Heat exchanger_S_today"
    Else


    End If
    If DLookup("tarikh", "Tbl_housekeeping") = Date Then
    DoCmd.OpenQuery "Q_housekeeping_today"
    Else




    End If


    If DLookup("date", "Tbl_Pump_M") = Date Then
    DoCmd.OpenQuery "Q_Pump_M_today"
    Else




    End If


    If DLookup("date", "Tbl_Pump_S") = Date Then
    DoCmd.OpenQuery "Q_Pump_S_today"
    Else




    End If


    If DLookup("date", "Tbl_Softener_S") = Date Then
    DoCmd.OpenQuery "Q_Softener_S_today"
    Else




    End If


    If DLookup("Date", "Tbl_split") = Date Then
    DoCmd.OpenQuery "Q_Spilet_today"
    Else




    End If


    If DLookup("date", "Tbl_Softener_M") = Date Then
    DoCmd.OpenQuery "Q_Softener_M_today"
    Else




    End If


    If DLookup("date", "Q_other_today") = Date Then
    DoCmd.OpenQuery "Q_other_today"
    Else


    End If



    حالا مشکل اینجاست که بعضی از کوئریها که مقدار هم دارن باز نمیشن و اینکار هم بر اساس هیچ قاعده ای نیست مثلا امروز باز میشن و فردا باز نمیشن!!
    من احتمال میدم در طریقه نوشتن کد اشتباه شده باشه چون من زبان وژوال بیسیک رو یاد ندارم

    در ضمن در اینجا Date همون تاریخی هست که توی فرم نوشته میشه

  3. #3
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,044

    نقل قول: انتخاب کوئری

    1- اسم Date جزو reserved words های اکسس هست و نباید برای فیلد استفاده بشه
    2- اگر تاریخ رو بصورت string ذخیره کرده باشین از این اتفاقها ممکنه پیش بیاد - فرضا فیلد خالی نیست و کارآکتر فاصله داره

  4. #4

    نقل قول: انتخاب کوئری

    نقل قول نوشته شده توسط mazoolagh مشاهده تاپیک
    1- اسم Date جزو reserved words های اکسس هست و نباید برای فیلد استفاده بشه
    2- اگر تاریخ رو بصورت string ذخیره کرده باشین از این اتفاقها ممکنه پیش بیاد - فرضا فیلد خالی نیست و کارآکتر فاصله داره
    ممنون از پاسختون
    اسمه رو عوض کردم هم در جداول و هم در فرم باز هم درست نشد
    تاریخ رو به صورت short text معرفی کردم و یک فرم calender شمسی رو باهاش توی فرم لینک کردم تا تاریخ رو بنویسه و احتمال اینکه کاراکتر خالی بزاره خیلی ضعیف هست
    جالب اینجاست که و وقتی توی فرم مقدار دارم و کوئری که باید باز نمیکنه به صورت دستی باز میکنم مشکلی نیست ولی داستان اونجاست که روی تابع dlookup میره و تشخیص نمیده و ازش رد میشه
    به نظرتون از روش دیگه ای هم میشه استفاده کرد؟
    آخرین ویرایش به وسیله the_hint : چهارشنبه 19 دی 1397 در 01:12 صبح

  5. #5
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,044

    نقل قول: انتخاب کوئری

    غیر از فیلد date متغیر Date هم دارین که در واقع تابع Date میشه که به این شکل که استفاده کردین تاریخ جاری میلادی رو برمیگردونه
    اصلا چه شکلی بهش مقدار دادین که بخواین با نتیجه dlookup مقایسه کنین؟

    برنامه نمونه بگذارین
    یا
    با dcount رکوردها رو بشمارین

  6. #6

    نقل قول: انتخاب کوئری

    نقل قول نوشته شده توسط mazoolagh مشاهده تاپیک
    غیر از فیلد date متغیر Date هم دارین که در واقع تابع Date میشه که به این شکل که استفاده کردین تاریخ جاری میلادی رو برمیگردونه
    اصلا چه شکلی بهش مقدار دادین که بخواین با نتیجه dlookup مقایسه کنین؟

    برنامه نمونه بگذارین
    یا
    با dcount رکوردها رو بشمارین
    تمامی date ها رو تغییر نام دادم ولی بازم درست نشد
    الان با تابع dcount که گفتید نوشتم و جواب گرفتم
    ممنون

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •