امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
جستجوی پیشرفته در اکسس 2003
نویسنده پیام
access19 آفلاین
تازه وارد

ارسال‌ها: 22
موضوع‌ها: 11
تاریخ عضویت: آذر ۱۳۸۶

تشکرها : 0
( 2 تشکر در 1 ارسال )
ارسال: #1
Question  جستجوی پیشرفته در اکسس 2003
سلام بچه ها
چطور میشه با چند تکس باکس و یک باتن و کوئری در اکسس2003 یک جستجوی پیشرفته ساخت
من از بس باهاش ور رفتم گیج شدم ... مرسی ... ConfusedAmaze
۱۴-آذر-۱۳۸۶, ۱۰:۵۷:۴۹
ارسال‌ها
پاسخ
mbza11 آفلاین
در حال پیشرفت
***

ارسال‌ها: 334
موضوع‌ها: 0
تاریخ عضویت: آبان ۱۳۸۶

تشکرها : 302
( 149 تشکر در 75 ارسال )
ارسال: #2
RE: جستجوی پیشرفته در اکسس 2003
سلام.
راحت ترین کار اینه که وقتی باتن فشرده شد، کد زیر رو تو کوئری قرار بدی و اجراش کنی:
کد:
select * from TableName where Field1Name=""""  & Text1.text & """" and Field2Name="""" & Text2.text & """"
و همینجور اگه تکس باکس بیشتری داشتی اضافه کن.
اگه خواستی کلمات مشابه هم باشه به جای علامت های مساوی از عبارت Like استفاده کن و قبل و بعد از تکس باکس ها علامت % بزار، یعنی اینجوری:
کد:
FieldName Like %" & Text1.text & "%"
اگه مقادیر ورودی از تکس باکس ها عدد هست و رشته متنی نیست می تونی علائم " مربوط به اون ها رو حذف کنی.

یه خورده سرم شلوغ شده دیر به دیر میام، ولی میام ...
------------------------------------------------------------
تنبل نباش، خودت بنويس ... Angry
اگه به مشکل خوردي، بيا بپرس. Clap
S.M.B Productions
۱۴-آذر-۱۳۸۶, ۱۲:۳۳:۰۹
ارسال‌ها
پاسخ
access19 آفلاین
تازه وارد

ارسال‌ها: 22
موضوع‌ها: 11
تاریخ عضویت: آذر ۱۳۸۶

تشکرها : 0
( 2 تشکر در 1 ارسال )
ارسال: #3
RE: جستجوی پیشرفته در اکسس 2003
سلام
این کارو کردم ولی کدوم دستور هست که وقتی بخواهیم همه تکس باکس هارو سرچ کنه از ما نخواد که همه تکس باکس ها رو لزوما پر کنیم ... با AND همانطور که گفتید نوشتم ولی حتما باید همه تکس باکس های تحت این دستور پر شود تا به ما جواب دهد ... ولی اگر ما بخواهیم با بخشی از تکس باکس ها ( مثلا فقط اسم و فامیل ) سرچ کنیم تا بقیه رو پر نکنیم جواب نمیده ... با OR هم که خودتون میدونید چه جوابی میده .....
لطفا راهنماییم کنید ... مرسی

دارم گیج میشم ... AmazeAmazeAmaze
(آخرین ویرایش در این ارسال: ۱۷-آذر-۱۳۸۶, ۰۰:۵۴:۴۷، توسط access19.)
۱۶-آذر-۱۳۸۶, ۲۲:۴۰:۰۸
ارسال‌ها
پاسخ
mbza11 آفلاین
در حال پیشرفت
***

ارسال‌ها: 334
موضوع‌ها: 0
تاریخ عضویت: آبان ۱۳۸۶

تشکرها : 302
( 149 تشکر در 75 ارسال )
ارسال: #4
RE: جستجوی پیشرفته در اکسس 2003
سلام.
برای این کار دستوری نیست بلکه باید از چند تا IF استفاده کنی. مثلا اینجوری:
کد:
dim strSearch as string
if txtFName.text<>"" then
strSearch="FName=' & txtFName.text & "'"
else
exit sub
end if
if txtLName.text<>"" then
strSearch=strSearch & " and LName='" & txtLName & "'"
end if
if txtOtherField.text<>"" then
strSearch=strSearch & " and OtherFieldName='" & txtOtherField.text & "'"
end if
Sql="select * from TableName where " &  strSearch
خوب همونطوری که می بینی وارد کردن txtFName الزامی هست و اگه اون وارد نشه کدها اجرا نمی شن. حالا اگه خواستی هیچ تکستی رو الزامی نکنی باید یکی از مقادیر رو با یه مقدار صحیح پر کنی و به رشته جستجوت بدی تا برنامه با مشکل مواجه نشه.
همونطور که قبلا هم گفتم:
می تونی به جای علامت = از عبارت Like برای پیدا کردن مقادیر مشابه استفاده کنی.
اگه مقدار ورودی عدد باشه، علامت های ' رو از دو طرف عبارت حذف کن.

یه خورده سرم شلوغ شده دیر به دیر میام، ولی میام ...
------------------------------------------------------------
تنبل نباش، خودت بنويس ... Angry
اگه به مشکل خوردي، بيا بپرس. Clap
S.M.B Productions
۱۷-آذر-۱۳۸۶, ۱۲:۱۷:۱۹
ارسال‌ها
پاسخ
access19 آفلاین
تازه وارد

ارسال‌ها: 22
موضوع‌ها: 11
تاریخ عضویت: آذر ۱۳۸۶

تشکرها : 0
( 2 تشکر در 1 ارسال )
ارسال: #5
Question  RE: جستجوی پیشرفته در اکسس 2003
mbza11 نوشته است:[code]
dim strSearch as string
if txtFName.text<>"" then
strSearch="FName=' & txtFName.text & "'"
else
exit sub
end if

سلام رفیق
به جای txtFName.text میزارم [Forms]![s].[n] که s=اسم فرم و n=نام ...
ولی موقع کامپایل خطا میده ...
راستی جای فقط FName تو خط سه باید اسم فیلدو با کروشه بزارم یا نه ؟
اگه بد متوجه شدم لطفا راهنماییم کن ...
۱۸-آذر-۱۳۸۶, ۰۲:۰۱:۰۸
ارسال‌ها
پاسخ
mbza11 آفلاین
در حال پیشرفت
***

ارسال‌ها: 334
موضوع‌ها: 0
تاریخ عضویت: آبان ۱۳۸۶

تشکرها : 302
( 149 تشکر در 75 ارسال )
ارسال: #6
RE: جستجوی پیشرفته در اکسس 2003
سلام.
ظاهرا تو VBA داری می نویسی. (اگه اشتباه نکنم)
بهتر بود به جای نوشتن تو VBA از Query خود اکسس استفاده می کردی.

تو VBA باید کد زیر رو تو بخش کلیک باتن بنویسی (تو بخش کد نویسی):
کد:
Dim rs As Object
Dim strSearch As String
If Me![txtFName] <> "" Then
strSearch = "[FName]='" & Me![txtFName] & "'"
Else
MsgBox "The Field FName Data IS Null!"
Exit Sub
End If
If Me![txtLName] <> "" Then
strSearch = strSearch & " and [LName]='" & Me![txtLName] & "'"
End If
If Me![txtOtherField] <> "" Then
strSearch = strSearch & " and [OtherFieldName]='" & Me![txtOtherField] & "'"
End If

Set rs = Me.Recordset.Clone
rs.FindFirst strSearch
If Not rs.EOF Then Me.Bookmark = rs.Bookmark

فقط یادت باشه برای فیلدهای عددی باید علامت های ' رو برداری.
اگه یه وقتی خطا گرفتی، حداقل متن خطا رو بزار تا بینیم چی می گه.

یه خورده سرم شلوغ شده دیر به دیر میام، ولی میام ...
------------------------------------------------------------
تنبل نباش، خودت بنويس ... Angry
اگه به مشکل خوردي، بيا بپرس. Clap
S.M.B Productions
۱۸-آذر-۱۳۸۶, ۰۹:۳۵:۲۳
ارسال‌ها
پاسخ
access19 آفلاین
تازه وارد

ارسال‌ها: 22
موضوع‌ها: 11
تاریخ عضویت: آذر ۱۳۸۶

تشکرها : 0
( 2 تشکر در 1 ارسال )
ارسال: #7
RE: جستجوی پیشرفته در اکسس 2003
سلام رفیق
من نمیدونستم که تو خود کوئری هم میشه دستور if
رو نوشت ... میشه کمکم کنید تا تو همون کوئری بنویسم دستورشو ....
کجای کوئری باید دستورو نوشت ....؟؟؟SadSadSad
۲۷-آذر-۱۳۸۶, ۱۷:۵۳:۱۰
ارسال‌ها
پاسخ
mbza11 آفلاین
در حال پیشرفت
***

ارسال‌ها: 334
موضوع‌ها: 0
تاریخ عضویت: آبان ۱۳۸۶

تشکرها : 302
( 149 تشکر در 75 ارسال )
ارسال: #8
RE: جستجوی پیشرفته در اکسس 2003
سلام.
تو Query نمی تونی از دستور IF استفاده کنی.
برای اینکه برنامه با هرکدوم از تکست باکس ها جواب بده باید مقدار پیشفرض تکست باکس ها رو * بزاری تا اگه کاربری یک یا چند تا رو وارد نکرد برنامه کل اون فیلد رو در نظر بگیره و براساس بقیه مقادیر فیلتر کنه.
مثلا:
کد:
=  [forms]![Test].[ID1]
Like "*" & [forms]![Test].[ID2] & "*"
که Test اسم فرمت (Form) هست و ID1 و ID2 اسم تکست باکس هات که مقدار پیش فرض ID2 * هست ولی حتما مقدار ID1 توسط کاربر باید وارد بشه.
اینا رو باید تو بخش Query Designer و تو قسمت Criteria وارد کنی.

یه خورده سرم شلوغ شده دیر به دیر میام، ولی میام ...
------------------------------------------------------------
تنبل نباش، خودت بنويس ... Angry
اگه به مشکل خوردي، بيا بپرس. Clap
S.M.B Productions
۲۷-آذر-۱۳۸۶, ۱۹:۰۶:۳۴
ارسال‌ها
پاسخ
access19 آفلاین
تازه وارد

ارسال‌ها: 22
موضوع‌ها: 11
تاریخ عضویت: آذر ۱۳۸۶

تشکرها : 0
( 2 تشکر در 1 ارسال )
ارسال: #9
RE: جستجوی پیشرفته در اکسس 2003
سلام mbza11
واقعا ازت ممنونم
بعد از مدتها بالاخره تونستم حلش کنم البته یا کمک شما و بقیه دوستان...
۲۹-آذر-۱۳۸۶, ۲۲:۱۳:۲۴
ارسال‌ها
پاسخ
access19 آفلاین
تازه وارد

ارسال‌ها: 22
موضوع‌ها: 11
تاریخ عضویت: آذر ۱۳۸۶

تشکرها : 0
( 2 تشکر در 1 ارسال )
ارسال: #10
RE: جستجوی پیشرفته در اکسس 2003
(; سلام بچه ها
واسه اینکه شکل * رو تو تکس باکسم نذارم تا کاربر نبینه اومدم از دستور زیر تو قسمت
Default Value استفاده کردم ولی جواب نمیده ..... سوالم اینه که آیا نوع دستور اشتباهه یا جای دستور ؟؟؟ AmazeAngryAmaze

کد :
iff(null;[text0]=*)h=

اگه میشه کمکم کنید .... SadSadConfused
۰۲-دى-۱۳۸۶, ۱۳:۰۲:۳۱
ارسال‌ها
پاسخ
mbza11 آفلاین
در حال پیشرفت
***

ارسال‌ها: 334
موضوع‌ها: 0
تاریخ عضویت: آبان ۱۳۸۶

تشکرها : 302
( 149 تشکر در 75 ارسال )
ارسال: #11
RE: جستجوی پیشرفته در اکسس 2003
سلام.
دقیقا کجا این دستور رو وارد می کنی؟
نقل قول: iff(null;[text0]=*)h=
این h این وسط چیکاره هست؟

یه خورده سرم شلوغ شده دیر به دیر میام، ولی میام ...
------------------------------------------------------------
تنبل نباش، خودت بنويس ... Angry
اگه به مشکل خوردي، بيا بپرس. Clap
S.M.B Productions
۰۲-دى-۱۳۸۶, ۱۹:۴۶:۵۹
ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  طراحی منو برای فرم در اکسس mojtabamalaekeh 15 53,156 ۰۲-تير-۱۴۰۰, ۲۱:۲۲:۰۶
آخرین ارسال: 1نفر
  اشتراک اکسس روی شبکه Ghoghnus 1 4,863 ۱۲-اردیبهشت-۱۳۹۵, ۱۵:۴۸:۲۷
آخرین ارسال: hartan
  دیتا گرید در اکسس مهرداد65 1 4,331 ۱۲-اردیبهشت-۱۳۹۵, ۱۵:۴۵:۴۹
آخرین ارسال: hartan
  ساخت برنامه با اکسس alika2005 1 6,403 ۱۲-اردیبهشت-۱۳۹۵, ۱۵:۴۰:۳۹
آخرین ارسال: hartan
  رمز گذاری در اکسس mehrdad8 0 4,016 ۱۲-اردیبهشت-۱۳۹۵, ۱۵:۳۶:۰۰
آخرین ارسال: hartan
  طراحی یه انبار کوچیک در اکسس vbir96 3 3,305 ۱۱-اردیبهشت-۱۳۹۵, ۱۲:۳۶:۱۰
آخرین ارسال: Ghoghnus
  [سوال] حذف حالت design view فرم در اکسس neisani_z 2 3,548 ۲۸-فروردین-۱۳۹۳, ۱۰:۱۸:۰۹
آخرین ارسال: neisani_z
  ماکزیمم رکورد قابل درج در اکسس sara90 3 4,384 ۰۲-فروردین-۱۳۹۳, ۰۳:۴۷:۳۵
آخرین ارسال: MOHSEN_LAW
  ثبت داده در اکسس(توسط حلقه) sadra1234 11 15,660 ۰۱-مهر-۱۳۹۲, ۱۰:۳۹:۴۱
آخرین ارسال: حمید محمدی
  ذخیره اطلاعات در اکسس shabnam_skabiri 3 5,999 ۰۱-آبان-۱۳۹۱, ۰۱:۲۳:۳۵
آخرین ارسال: Ghoghnus

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS