هنگامی که یک جدول داریم که دارای دو ستون است برای مثال نام و نام خانوتدگی و شماره پرسنلی،ما می توانیم توسط inputbox به رکورد مورد نظز خود برویم.
به تصویر زیر دقت کنید:
این تکنیک زمانی کاربرد دارد که تعداد رکوردهای زیادی دارید و میخواهید به سرعت به رکورد دلخواه خود بروید . البته InputBox در اکسس کاربردهای مختلفی دارد که یکی از آنها پرش به رکورد دلخواه است .
شکل کلی INputBox به صورت زیر می باشد .
Inputbox (“سوال یا متن دلخواه”)
که شکل آن به صورت زیر می باشد:
ولی مشکلی وجود دارد.
اگر کاربر عملیات را کنسل کند و یا فرم را ببندد اکسس پیغام خطا می دهد .
اگر کاربر بدون اینکه اطلاعاتی وارد کند OK کند بازهم با خطا مواجه می شود .
اگر کاربر کدی را وارد کند که معادل آن وجود نداشته باشد . هیچ پیغامی به کاربر نمی دهد و به فرم بر می گردد.
برای برطرف کردن مشکل اول کافیست این یک خط کد را اضافه کنید :
If StrPtr(Inputbox (“سوال یا متن دلخواه”)) = ۰ Then
کد بالا برای زمانی است که کاربر فرم باز شده را ببند و یا کنسل کند که بعد از Then شما می توانید عملیان دلخواه خود را وادرد کنید مثلا یک مسیج باکس به نمایش درآورید که عملیات کنسل شد.
حالا اگر بخواهیم زمانی که کاربر بدون اینکه اطلاعاتی در باکس ارد کند OK را بزند با پیغام مناسبی مواحه شویم از کد زیر استفاده می کنیم .
If Len (Inputbox (“سوال یا متن دلخواه”)) = ۰ Then
که اینجا هم می توانید بعد از Then عملیات دلخواه را وارد نمائید.
حال اگر بخواهیم وقتی کد مورد جستجو وجود نداشت با پیغامی مناسب مواجه شویم چکار باید بکنیم .
خب کار کمی پیچیده شد ولی بعد از اینکه کد را نوشته و مسئله را حل کنید خواهید دید که راه حلی بسیار ساده دارد که با استفاده از تابع Vlookup میسر می شود.
برای حل این مسئله پیشنهاد می کنم فیلم آموزشی زیر را مشاهده نموده و نمونه اکسس را دانلود نمائید.
[aparat id=”hB9OK” width=”720″]
[wpdm_package id=3766 template=”link-template-calltoaction3.php”]
با سلام در این آموزش اگه کاربر احیانا داده غیر عددی وارد کند چه دستور if باید وارد شود؟
با سلام و تشکر از شما
کدهایی که برای جستجو با inputbox نوشتید یه اشکال داره
زمانی که در جستجوی id به جای عدد حروف وارد بشه دستورerror میده.
با دستور recordsetclone و findfirst میشه راحت تر کار کرد
سلام
کار راه اندازه ولی در بیشتر مواقع خطا می ده
خطا این که رکورد اشتباه میاره
سلام. من اموزشتونو انجام دادم. عالی بود. مرسی
فقی یه سوال چطوری پیغامی که با زدن دکمه کنسل یا اوکی میاد و میشه کپشن یا title شو عوض کرد. تو مرحله اول اموزش دادید ولی مثلا وقتی کنسل میزنم پیغام کنسل شد نمایش میده ولی هدرش مایکروسافت اکسس خورده چطوری میتونم تغییر ش بد.
ممنون
سلام توی محیط VBA باید کدنویسی کنید که ابنجا نمیتونم توضیح بدم