ایجاد تکس باکس جستجو در اکسس💖ساده اما کاربردی
باز هم با آموزش دیگری در زمینه اکسس در خدمت شما هستم .
این بار می خواهیم با هم به بررسی روشی برای جستجو و نمایش اطلاعات یک فرم بپردازیم .
آنچه که در این مطلب به دنبال آن هستیم این است که فرمی داشته باشیم که اطلاعاتی را برای ما نمایش می دهد .
این فرم قرار است اطلاعاتی را از ما گرفته و آنها را در اختیار جدولی برای ذخیره شدن قرار دهد .
در عین حال این فرم به جدول ما متصل بوده و می تواند اطلاعاتی را از جدول مربوطه گرفته و آنها را برای ما به نمایش بگذارد .
خوب هدف ما این است که یک تکس باکس درون فرم خود قرار دهیم .
اما این تکس باکس قرار است چه کاری برای ما انجام بدهد ؟
ما به کمک این تکس باکس قرار است اطلاعات مورد نظر خود را جستجو کنیم .
به این ترتیب که اول آیتم مورد نظر برای جستجو را در این تکس باکس وارد می کنیم .
بعد بر روی یک دکمه کلیک می کنیم .
از اینجا به بعد کار را به اکسس می سپاریم . اکسس اول به سراغ تکس باکس ما می رود و آیتمی را که در آن وارد کرده ایم را دریافت می کند .
سپس با در نظر گرفتن همین آیتم به سراغ جدول مورد نظر می رود . آیتم مورد نظر را در این جدول پیدا می کند . بعد تمامی فیلدهای باقی مانده در فرم ما را بر اساس اطلاعات مرتبط با آیتم مورد جستجو بطور خودکار برای ما پر می کند .
.البته اگر از دنبال کنندگان ما باشید حتما در مطالب قبلی با موضوع مشابهی در این زمینه در سایت برخورد داشته اید .
من در مطلبی که در گذشته به آن پرداختیم تکس باکسی را به فرم خود اضافه کردیم که به کمک آن می توانیم به جستجوی اطلاعات خود در داخل اطلاعات نمایش داده شده در فرم بپردازیم.
برای دسترسی به این مطلب می توانید به لینک زیر مراجعه نمایید .
مطلب مرتبط : ایجاد قابلیت جستجو در فرم اکسس .
اما تفاوتی که این روش با روش قبلی دارد در نوع فرم هایی است که با استفاده از آنها اطلاعات خود را نمایش می دهیم .
به گونه ای که در روش قبلی فرمی که از آن استفاده کردیم از نوع Multiple Item بود اما فرمی که در این روش از آن استفاده می کنیم از نوع فرم های معمولی می باشد .
هدف نهایی از ایجاد تکس باکس جستجو در اکسس
بسیار خوب اکنون ببینیم که در انتهای این مطلب به چه چیزی خواهیم رسید :
- یک تکس باکس برای وارد کردن مقادیر مورد نظر و یک دکمه در کنار آن برای جستجو خواهیم داشت
- کاربر آیتم مورد نظر خود برای جستجو را وارد نموده و دکمه مذکور را کلیک می کند .
- اکنون سه حالت پیش خواهد آمد :
– یا کاربر بدون اینکه تکس باکس مورد نظر را پر نماید بر روی دکمه کلیک می کند
– یا آیتم مورد نظر پیدا می شود .
– یا آیتم مورد نظر پیدا نمی شود
در هر سه این حالت پیغامی متناسب با هر کدام از آنها به کاربر نمایش داده خواهد شد و در انتها نیز فرم مورد نظر اطلاعات مربوط به مورد جستجو را به کاربر نمایش خواهد داد .
و اما برویم به سراغ اصل موضوع و نحوه انجام این کار .
در قدم اول اطلاعات خود را آماده کنید
بعد از این مقدمه به سراغ اصل موضوع آموزش خودمان می رویم .
در اولین گام برای ایجاد یک فرم جستجو در اکسس نیاز به یک جدول اطلاعات داریم .
برای این منظور من از جدول زیر استفاده می کنم .
قدم دوم : در گام دوم باید برای این جدول خود یک فرم طراحی و ایجاد کنیم . من از فرم زیر برای این کار استفاده می کنم .
مطلب مرتبط:فیلتر کردن و مرتب سازی داده ها در اکسس
دو نکته را در مورد در فرم بالا در نظر بگیرید
اول اینکه کادر زرد رنگی را که مشاهده می کنید را به نام txtsearch در نظر بگیرید. این همان تکس باکس مورد نظری است که قرار است آیتم های مورد نظر برای جستجو را در این کادر وارد کنیم .
و مورد دوم اینکه حتما نام تکس باکس مربوط به کد کتاب را به نام bookcod در نظر بگیرید .
از این اسامی قرار است در مراحل بعدی در ساختار کدهای وی بی ای استفاده کنیم .
بسیار خوب بعد از انجام این مراحل می رسیم به قسمت اصلی ماجرا .
حالا شروع به کد نویسی کنید .
در این مرحله می خواهیم شروع به برنامه نویسی کنیم . البته زیاد نگران نباشید من سعی می کنم مرحله به مرحله این کدها را نوشته و برای هر قسمت هم به اندازه کافی توضیحات لازم را بدهم .
اما کار کد نویسی را از کجا باید شروع کنیم ؟
همانطور که در فرم بالا مشاهده می کنید ما دکمه ای تحت عنوان “پیدا کن ” را بر روی این فرم قرار داده ایم. قرار است با استفاده از کد نویسی یک سری از کارها را برای این کد تعریف کنیم .
اتفاقی که قرار است بیافتد این است که کاربر اول تکس باکس مورد نظر را تکمیل کرده و بعد برای شروع عملیات جستجو بر روی این دکمه کلیک می کند .
اما همانطور که قبلا هم گفتم با کلیک بر روی این دکمه سه حالت می تواند برای ما پیش آید . در اینجا هر کدام از این سه حالت را معرفی کرده و برای هر کدام از آنها کدهای مخصوصی را خواهیم نوشت .
حالت اول :
در حالت اول کاربر بدون اینکه کد کتاب مورد نظر خود را در تکس باکس مربوطه وارد کند بر روی دکمه “پیدا کن ” کلیک می کند .
در این حالت باید به کاربر اطلاع دهیم که باید این تکس باکس را با وارد کردن یک کد کتاب تکمیل کند .
برای این منظور از قطعه کد زیر بهره می بریم .
If IsNull(Me![txtsearch]) Or (Me![txtsearch]) = "" Then
MsgBox "لطفا يک کد کتاب را وارد کنيد ", vbOKOnly, "خطاي کاربري"
Me![txtsearch].SetFocus
Exit Sub
End If
این کد چه می کند.
اگر کاربر شماره کتاب را وارد نکند و بر روی دکمه “پیدا کن ” کلیک نماید بلافاصله یک پیغام به وی نمایش داده شده و از وی می خواهد که اطلاعات مربوط به کد کتاب را برای جستجو وارد نماید .
حالت دوم :
کاربر شماره کتاب مورد نظر را وارد نموده اما کتابی با این کد در دیتابیس وجود ندارد .
بنابراین این مورد را با استفاده از کدهای زیر مدیریت می کنیم .
MsgBox "اطلاعات براي کد" & strSearch & "پيدا نشد لطفا دوباره تلاش کنيد"
اما این کد چه کاری می کند ؟
این کد پیغامی را به کاربر نمایش می دهد که در آن شماره کتابی را که کاربر به دنبال آن بوده است را به وی نمایش داده و اطلاع می دهد کتابی با این شماره پیدا نشده است .
حالت سوم :
این حالت بخش اصلی کار را تشکیل می دهد . یعنی کاربر آیتمی را در تکس باکس ما وارد کرده و برنامه هم اطلاعاتی مربوط به آن را در جدول پیدا کرده است .
حالا از برنامه باید بخواهیم که این اطلاعات را در فرم ما نمایش دهد .
این مورد را نیز با استفاده از کد های زیر مدیریت می کنیم .
اگر بخواهیم همه کدهایی را که تا به اینجا استفاده کردیم را یک جا داشته باشیم بصورت زیر خواهد بود .
Private Sub Ctl_cmdSearch_Click()
Dim strbookcod As String
Dim strSearch As String
If IsNull(Me![txtsearch]) Or (Me![txtsearch]) = "" Then
MsgBox "لطفا يک کد کتاب را وارد کنيد ", vbOKOnly, "خطاي کاربري"
Me![txtsearch].SetFocus
Exit Sub
End If
DoCmd.ShowAllRecords
DoCmd.GoToControl ("bookcod")
DoCmd.FindRecord Me!txtsearch
bookcod.SetFocus
strbookcod = bookcod.Text
txtsearch.SetFocus
strSearch = txtsearch.Text
If strbookcod = strSearch Then
MsgBox "پيدا شد" & strSearch & " اطلاعات براي کد"
bookcod.SetFocus
txtsearch = ""
Else
MsgBox "اطلاعات براي کد" & strSearch & "پيدا نشد لطفا دوباره تلاش کنيد"
strbookcod = ""
txtsearch.SetFocus
End If
End Sub
بعد از وارد نمودن این کدها کار ما به اتمام می رسد و می توانیم نتیجه کار را مشاهده نماییم .
این هم نتیجه نهایی کار ما در این آموزش خواهد بود .
در پایان اگر در خصوص این آموزش سوالی دارید و یا نظر و پیشنهادی دارید می توانید در قسمت ارسال دیگاه مطرح نمایید تا بررسی شود .
در ضمن اگر دوست دارید با روش های حرفه ای جستجو در اکسس بطور کامل آشنا شوید به شما پیشنهاد می کنم که حتما سری به محصول تکنیک های حرفه ای برای جستجو در اکسس را پیشنهاد می دهم . حتما سری به این محصول بزنید .
به نظرتان این اموزش چقدر برای شما کاربردی و مفید بود .
خوشحال می شوم که نظر خودتان را در قسمت دیدگاههای این مطلب داشته باشم تا از نظر شما هم برای تکمیل تر کردن این مطلب استفاده کنم .
امیدوارم که باز هم شما را در سافت پلاس ببینم .
مطالب زیر را حتما مطالعه کنید
ریبون ها در اکسس💥از مخفی کردن تا مدیریت کردن آنها
چطوری متن ها و تصاویر را بصورت متحرک در اکسس نمایش بدهیم ؟
فرمت دهی نوشته ها در اکسس | کاربرد + مثالها
۵ ویژگی در فرم های اکسس که کمتر از آنها خبر داشتید .
باز کردن گزارش اکسس برای یک رکورد مشخص + نمونه فایل
Sub Report در اکسس و کاربردهای آن +[ ویدئو ]
13 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
با سلام آموزش بسیار جالب و کاربردی بود ممنون از سایت خوبی و مطالب خوبی که دارید . من توی کمتر سایتی این مطالب را پیدا می کنم . اکثر سایت ها مطالب تکراری دارند اما مطالب شما همیشه جدید و بروز هستند با تشکر
ممنون از اظهار لطف و نظر شما
سلام ، آموزشهای شما خیلی خوب ، روان ، کاربردی می باشد . لطفاً مطالب تخصصی تری نیز قرار دهید . بنده که خیلی استفاده نمودم .متشکرم
با سلام
حتما نظر شما را مورد توجه قرار می دهیم
سلام
من طبق مطالبی که شما گفتین مراحل کار رو انجام دادم ولی پیغام خطای زیر رو میده
module not found
ممنون میشم اگه راهنمایی کنید
سلام بزودی این مطلب بروز رسانی شده و نمونه فایل دانلود در ان قرار می گیرد به کمک ان مشکلتان را حل کنید
آیا این امکان وجود دارد که با نوشتن کد پرسنلی عکس نفرات فراخوانی شود
بله این کار کاملا شدنی است
لطف میکنید آموزش بدهید
در اولین فرصت این آموزش تهیه و در سایت قرار می گیرد
استاد یک ویددو در اپارات دارین با این مضمون جستجوی در اکسس به کمک کمبو باکس ها
ادامه این ویدیو رو پیدا نکردم لطفا راهنمایی بفرمایید
ضمنا با جستجو در اینترنت خودم ادامه اش را نوشتم ولی متاسفانه زمان اجرا ایرور میزنه
ضمنا بعد اجرا باز هم author میاد و ورودی میخاد این هم کد
Option Compare Database
Private Sub cbo_bname_AfterUpdate()
Dim strsql As String
strsql = “select * from tblbooks where author = ‘” & Me.cbo_bname & “‘”
Me.tbl_subform.Form.RecordSource = strsql
Me.tbl_subform.Form.Requery
End Sub
سلام ویدئویی که می فرمایید مربوط به معرفی محصول روش های جستجو در اکسس هستش که توی قسمت فروشگاه سایت می تونید پیدا کنید .
در مورد سوالتون هم مشکل برمی گرده به قسمتی که دارید عبارت sql رو تعریف می کنید
سلام وقت بخیر
ممنون از آموزش های خوبتون
من یک فرم دارم که مشخصات فرد و کدملی هست
یک کوئری دارم که از یک جدول لیست کلاسهای اون شخص و بر اساس کد ملی میاره
حالا میخوام تو فرم اطلاعات شخص یک دکمه بزارم که با کلیک روی اون بصورت خودکار کدملی شخص و در کوئری سرچ کنه و اطلاعاتشو بیاره
ممنون میشم راهنمایی کنید