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
بجای * از % استفاده می کنم ولی همین خطا صادر میشود
ممنون میشوم راهنمائی بفرمائید
نقل قول: استفاده درست از عملگر like در متد Ado و Dao
اگر داده فیلد IDNum عددی است لازم نیست از علامت ' استفاده کنید
نقل قول: استفاده درست از عملگر like در متد Ado و Dao
نقل قول:
نوشته شده توسط
mohammadsaleh
اگر داده فیلد IDNum عددی است لازم نیست از علامت ' استفاده کنید
لازم بودنش که حتمی
نقل قول: استفاده درست از عملگر like در متد Ado و Dao
Like N'" & "%" & Me.TxtNUM.Text & "%"
با سلام به اين شكل امتحان كنيد.
نقل قول: استفاده درست از عملگر 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 نام سابروتینی که مربوط به باز کردن رکوردست است و در پست اول نوشتم وارد میکنم
درواقع
نقل قول: استفاده درست از عملگر 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 ""
موفق باشی
نقل قول: استفاده درست از عملگر 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}" مشکل حل شد .ولی بقول شما به احتمال زیاد دلیل ناپدیدشدن کرسر و مشخص نبودن کنترل فعال بر میگرده به اشکال در کد نویسی من که باید سرفرصت بطور اساسی کدهارا چک کنم
ممنون
نقل قول: استفاده درست از عملگر like در متد Ado و Dao
..............................