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

نام تاپیک: استفاده درست از عملگر like در متد Ado و Dao

  1. #1

    استفاده درست از عملگر like در متد Ado و Dao

    سلام
    برای فیلترکردن رکورست با استفاده از عملگر like در متد Ado در یک Continuous Forms بصورت زیر عمل می کنم ولی خطای تصویر ضمیمه صادر میشود


    Set rst = New ADODB.Recordset
    With rst
    .ActiveConnection = Con
    .CursorLocation = adUseClient
    .CursorType = adOpenKeyset
    .LockType = adLockOptimistic
    .Open sql, Con, adCmdText
    .Filter = "[IDNum] like '*" & Me.TxtNum & "*'"
    End With
    Set Me.Recordset = rst


    بجای * از % استفاده می کنم ولی همین خطا صادر میشود
    ممنون میشوم راهنمائی بفرمائید
    عکس های ضمیمه عکس های ضمیمه

  2. #2
    کاربر دائمی آواتار mohammadsaleh
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    تهران
    پست
    592

    نقل قول: استفاده درست از عملگر like در متد Ado و Dao

    اگر داده فیلد IDNum عددی است لازم نیست از علامت ' استفاده کنید

  3. #3

    نقل قول: استفاده درست از عملگر like در متد Ado و Dao

    نقل قول نوشته شده توسط mohammadsaleh مشاهده تاپیک
    اگر داده فیلد IDNum عددی است لازم نیست از علامت ' استفاده کنید
    لازم بودنش که حتمی

  4. #4
    مدیر بخش آواتار amirzazadeh
    تاریخ عضویت
    مهر 1386
    محل زندگی
    تبريز
    پست
    1,838

    نقل قول: استفاده درست از عملگر like در متد Ado و Dao

    Like N'" & "%" & Me.TxtNUM.Text & "%"

    با سلام به اين شكل امتحان كنيد.

    DON'T START;OTHERWISE DON'T STOP
    .................................................
    قوانين سايت

  5. #5

    نقل قول: استفاده درست از عملگر like در متد Ado و Dao

    نقل قول نوشته شده توسط amirzazadeh مشاهده تاپیک
    Like N'" & "%" & Me.TxtNUM.Text & "%"

    با سلام به اين شكل امتحان كنيد.
    سلام جناب استاد amirzazadeh

    امتحان کردم جواب نداد
    راستش من از بکار بردن این یک خط کد مربوط به فیلتر کردن در اون قسمت کدها که در پست 1 درج کرده ام منصرف شده و آنرا در قسمت شرط کد اسکیول در داخل متغیر sql قرار دادم
    و حالا برای فیلتر کردن رکوردست در ایونت ON Change وقتی سابروتین را صدا میزنم فیلتر انجام میشه ولی کرسر به تکست باکس مربوط به فیلتر کردن بر نمی گردد هر چند در خط آخر کد مربوطه را نوشته ام


    با این کد عمل فیلتر انجام نمیشه

    Dim s As String, z As Integer
    Dim vSearchString As String
    vSearchString = TxtSearcher1.Text
    z = TxtSearcher1.SelStart
    TxtSearcher1 = vSearchString

    me.Refresh


    TxtSearcher1.SelStart = z


    با این کد عمل فیلتر با درج اولین عدد در تکست باکس انجام میشه ولی کرسر برای درج بقیه عدد ناپدید میشود باتوجه به اینکه فوکوس بر روی تکست باکس TxtSearcher1 می باشد .


    Dim s As String, z As Integer
    Dim vSearchString As String
    vSearchString = TxtSearcher1.Text
    z = TxtSearcher1.SelStart
    TxtSearcher1 = vSearchString

    call ........

    TxtSearcher1.SelStart = z


    در جلوی Call نام سابروتینی که مربوط به باز کردن رکوردست است و در پست اول نوشتم وارد میکنم
    درواقع
    آخرین ویرایش به وسیله atf1379 : دوشنبه 12 خرداد 1399 در 07:50 صبح

  6. #6

    نقل قول: استفاده درست از عملگر like در متد Ado و Dao

    نقل قول نوشته شده توسط atf1379 مشاهده تاپیک



    و حالا برای فیلتر کردن رکوردست در ایونت ON Change وقتی سابروتین را صدا میزنم فیلتر انجام میشه ولی کرسر به تکست باکس مربوط به فیلتر کردن بر نمی گردد هر چند در خط آخر کد مربوطه را نوشته ام
    سلام
    مطمئناً اگر کدها را در جای خودشان بدرستی بکار برده باشید نباید مشکل خاصی ایجاد شود . بالاخره وقتی شما سابروتین مربوطه را فرا میخوانید بعد از آن باید کرسر در همان کنترل فعال ظاهر شود و اگر ظاهر نمی شود با بکار بردن قطعه کد MsgBox Screen.ActiveControl.Name بعد از همان تیکه کدی که برای فراخوانی سابروتین درج کرده اید امتحان کن که کنترل فعال کدام است
    اگر همچنان مشکلت بقوت خود باقی بود میتوانید بعد از همان کد پیغام خالی ایجاد و با با عبارت SendKeys "{enter}"
    از ظاهر شدن پیغام جلوگیری کنید .
    اجرای پیغام در واقع کرسر را وادار به نمایش می کند


    Dim s As String, z As Integer
    Dim vSearchString As String
    vSearchString = TxtSearcher1.Text
    z = TxtSearcher1.SelStart
    TxtSearcher1 = vSearchString

    call ........

    TxtSearcher1.SelStart = z
    SendKeys "{enter}"
    MsgBox ""








    موفق باشی

  7. #7

    نقل قول: استفاده درست از عملگر like در متد Ado و Dao

    نقل قول نوشته شده توسط eb_1345 مشاهده تاپیک
    سلام
    مطمئناً اگر کدها را در جای خودشان بدرستی بکار برده باشید نباید مشکل خاصی ایجاد شود . بالاخره وقتی شما سابروتین مربوطه را فرا میخوانید بعد از آن باید کرسر در همان کنترل فعال ظاهر شود و اگر ظاهر نمی شود با بکار بردن قطعه کد MsgBox Screen.ActiveControl.Name بعد از همان تیکه کدی که برای فراخوانی سابروتین درج کرده اید امتحان کن که کنترل فعال کدام است
    اگر همچنان مشکلت بقوت خود باقی بود میتوانید بعد از همان کد پیغام خالی ایجاد و با با عبارت SendKeys "{enter}"
    از ظاهر شدن پیغام جلوگیری کنید .
    اجرای پیغام در واقع کرسر را وادار به نمایش می کند


    Dim s As String, z As Integer
    Dim vSearchString As String
    vSearchString = TxtSearcher1.Text
    z = TxtSearcher1.SelStart
    TxtSearcher1 = vSearchString

    call ........

    TxtSearcher1.SelStart = z
    SendKeys "{enter}"
    MsgBox ""








    موفق باشی

    سلام
    ایده جالبی بود ، با کد MsgBox Screen.ActiveControl.Name مشخص شد کنترل فعال همان تکست باکسی است که در آن عمل فیلتر رکوردها انجام میشه که با آن مسیج باکس و کد SendKeys "{enter}" مشکل حل شد .ولی بقول شما به احتمال زیاد دلیل ناپدیدشدن کرسر و مشخص نبودن کنترل فعال بر میگرده به اشکال در کد نویسی من که باید سرفرصت بطور اساسی کدهارا چک کنم
    ممنون


تاپیک های مشابه

  1. پاسخ: 7
    آخرین پست: سه شنبه 28 آذر 1391, 13:48 عصر
  2. پاسخ: 1
    آخرین پست: یک شنبه 15 خرداد 1390, 10:57 صبح
  3. پاسخ: 5
    آخرین پست: شنبه 04 دی 1389, 21:17 عصر
  4. پاسخ: 3
    آخرین پست: دوشنبه 08 شهریور 1389, 10:03 صبح
  5. پاسخ: 3
    آخرین پست: شنبه 06 شهریور 1389, 03:01 صبح

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

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