ایجاد ارتباط بین دو کمبو باکس در اکسس (بدون کد نویسی)
سلام به همراهان همیشگی سافت پلاس . به یکی دیگر از مطالب مربوط به آموزش اکسس خوش آمدید .
ایجاد کمبو باکس های وابسته به هم یا برقراری ارتباط بین دو کمبو باکس . این عنوان مطلبی است که می خواهیم امروز در مورد آن با هم صحبت کنیم .
اما شاید از خودتان سوال کنید که کمبو باکس مرتبط به هم یا وابسته به هم یعنی چی ؟
خب در پاسخ به این سوالتان باید بگویم که مطمئنا تا به حال خیلی جاها با این کمبو باکس ها برخورد کرده اید و از انها استفاده هم کرده اید .
کمبو باکس های مرتبط به هم یعنی ما دو تا کمبو باکس داریم که اطلاعات یک از آنها کاملا بستگی به نوع اطلاعاتی دارد که در کمبو باکس دیگری انتخاب می کنیم .
بگذارید ساده ترش کنم .
فرض کنید که یک کمبو باکس دارید که در داخل آن اسم تمامی 5 قاره موجود بر روی کره زمین در داخل آن ثبت شده است . این می شود کمبو باکس اول شما .
یک کمبو باکس دیگر هم دارید که در داخل آن اسامی مربوط به همه کشورهای جهان در داخل آن ثبت شده است . پس این کمبو باکس شامل چیزی در حدود 200 تا اسم کشور می شود .
حالا فرض کنید که شما در کمبو باکس اول قاره اروپا را انتخاب می کنید .
حالا به سراغ کمبو باکس دوم که بروید این کمبو باکس به جای اینکه اسم تمامی کشورهای دنیا را به شما نمایش بدهد فقط اسامی کشورهای موجود در قاره اروپا را در اختیارتان قرار می گذارد .
برای اینکه همچین قابلیتی را بوجود بیاورید باید بین دو تا کمبو باکس خودتان یک ارتباط برقرار کنید .
برای این کار هم دو تا روش وجود دارد :
روش اول بدون نیاز به کد نویسی .
روش دوم استفاده از قابلیت کد نویسی در اکسس
امروز می خواهیم راجع به روش اول با هم صحبت کنیم . اما در مورد روش دوم یعنی استفاده از کد نویسی برای ایجاد ارتباط بین دو تا کمبو باکس را هم در مطلب ارتباط بین دو کمبو باکس در اکسس به کمک کد نویسی VBA توضیح داده ام که توصیه می کنم آن را هم مطالعه کنید .
من علیرضا شهر آئینی هستم و خوشحال می شوم که همراه من باشید تا با هم این آموزش مفید و کاربردی را شروع کنیم .
مراحل ایجاد ارتباط بین دو کمبو باکس در اکسس
در شروع این مطلب من از مثال قاره ها و کشورها استفاده کردم . اما اینجا می خواهم به سراغ کشور خودمان برویم .
می خواهیم دو تا کمبو باکس ایجاد کنیم .
کمبو باکس اول اسامی استان ها را در خودش ذخیره می کند و کمبو باکس دوم هم اسامی مربوط به شهر های هر استان را . بعد با ارتباطی که بین آنها بر قرار خواهیم کرد کاری می کنیم که با انتخاب یک استان از کمبو باکس اول ، در کمبو باکس دوم فقط اسامی مربوط به همان استان برای ما نمایش داده شوند .
توی تصویر زیر یک پیش نمایش از آن چیزی که قرار است به آن برسیم را می توانید مشاهده کنید .
- در اولین گام ما نیاز به ایجاد یک جدول برای ذخیره نام تمامی استانها داریم در زیر می توانید تصویری از نمای طراحی این جدول را مشاهده نمایید . نام این جدول را نیز Tbl-ostan در نظر بگیرید .
اکنون به نمای کاری جدول فوق رفته و با در نظر گرفتن یک کد برای هر استان اسامی استانهای مختلف را در این جدول وارد نمایید . نمایی از این کار را در تصویر زیر می توانید مشاهده نمایید .
- در گام دوم نیاز به ایجاد یک جدول برای ذخیره اسامی مربوط به شهرستانها داریم . برای طراحی این جدول می توانید از تصویر زیر کمک بگیرید
در این جدول کد مربوط به هر شهرستان به نام PK-shahrestan بعنوان کلید اولیه این جدول انتخاب شده است .
فیلد مربوط به PK-ostan کدی است که از جدول مربوط به نام استانها که در مرحله قبل طراحی کردیم استخراج می شود که در ادامه به آن اشاره خواهم نمود .
در فیلد مربوط به shahrestan -name نیز می توانید نام شهرستان ها را درج نمایید .
پس از طراحی جدول با فیلدهای فوق نوبت به پرکردن اطلاعات مربوط به اسامی شهرستانها می شود . برای این کار باید برای هر نام شهرستانی که وارد می کنید کد استان مربوط به آن را از جدول مربوط به استانها استخراج نموده و در فیلد مربوط به Pk-ostan درج نمایید .
تصویر زیر در این زمینه به شما کمک می نماید .
در این تصویر مشاهده می کنید که چون کد مربوط به استان آذربایجان شرقی در جدول مربوط به استانها عدد ۱ است بنابراین این کد برای تمامی شهرستانهای مربوط به این استان تکرار می گردد .
یک مطلب خواندنی تکمیلی : از صفر تا صد کار با لیست باکس ها در اکسس
برقراری ارتباط بین دو جدول در اکسس
پس از طراحی و تکمیل اطلاعات هر مربوط به هر دو جدول باید این جداول را به یکدیگر مرتبط نماییم برای این منظور از سربرگ DATABASE TOOLS و از داشبورد relationships گزینه relationships را انتخاب نمایید .
برای برقراری ارتباط بین دوجدول کافی است کلید موس را در حالی که بر روی فیلد pk-ostan موجود در جدول Tbl-ostan نگه داشته اید آن را به سمت فیلد pk-ostan موجود در جدول tbl-shahrestan بکشید به محض رها کردن موس پنجره Edit Relation برای شما باز می شود در این پنجره فقط سه تیک مربوط به چک باکس های موجود را بزنید و در انتها گزینه Creat را انتخاب نمایید .
بعد از طی این مراحل یک ارتباط یک به چند بین جدول های شما برقرار می شود . برای انجام مراحل فوق از انیمیشن زیر می توانید کمک بگیرید .
اکنون نوبت به طراحی فرم و درج دو کمبو باکس درون آن است برای این کار مراحل زیر را دنبال کنید
ایجاد فرم مربوطه برای نمایش اطلاعات
فرم خود را ایجاد کنید و یک کمبو باکس برای نمایش اطلاعات مربوط به جدول اسامی استانها در آن قرار دهید .
کمبو باکس دیگری را نیز به فرم خود اضافه نمایید و این بار منبع این کمبو باکس را به جدول مربوط به اسامی شهرستانها متصل نمایید
برای انجام دو مرحله باید می توانید از انیمیشن زیر کمک بگیرید .
حال باید تغییراتی را در تنظیمات مربوط به این دو کمبو باکس ایجاد نماییم . برای این منظور فرم خود را در نمای طراحی باز نمایید .
کمبوی مر بوط به نام استانها را انتخاب نموده و از طریق پنجره Propertysheet وارد سربرگ Format شده دو گزینه نمایش داد شده در فایل خود را همانند تصویر زیر تنظیم نمایید .
سپس همچنان که کمبوی مربوط به نام استانها در حالت انتخاب است وارد سربرگ Data شده و گزینه نمایش داده شده را در فایل خود تنظیم کنید .
در گام بعد کمبوی دوم که مربوط به نام شهرستانها است را انتخاب نمایید و تنظیمات مربوطه را مطابق تصویر زیر انجام دهید .
تنظیمات موجود در سربرگ Data مربوط به این کمبو را نیز مطابق تصویر زیر انجام دهید .
بعد از انجام تنظیم مربوط به فلش شماره ۱ در بالا بر روی دکمه نمایش داده شده که با فلش شماره ۲ مشخص کرده ام کلیک کنید تا وارد محیط موسوم به Query Builder شوید در این صفحه و در قسمت criteria عبارت نمایش داده شده در تصویر زیر را وارد نمایید
اکنون برای حصول نتیجه نهایی فقط یک مرحله مانده است و آن هم این است که مجددا کمبوی مربوط به نام استانها را انتخاب نمایید در سربرگ Enent از پنجره propertysheet در رویداد مربوط به Befor update قطعه کد زیر را درج نمایید .
(Private Sub Combo13_BeforeUpdate(Cancel As Intege
Me.Combo15.Requery
End Sub
پس از اتمام همه این مراحل باید نتیجه مطلوب به این صورت حاصل شود که با انتخاب نام یک استان در کمبوی اول فقط شهرهای مربوط به همان استان برای شما نمایش داده شود .
مطالب زیر را حتما مطالعه کنید
ریبون ها در اکسس💥از مخفی کردن تا مدیریت کردن آنها
چطوری متن ها و تصاویر را بصورت متحرک در اکسس نمایش بدهیم ؟
فرمت دهی نوشته ها در اکسس | کاربرد + مثالها
۵ ویژگی در فرم های اکسس که کمتر از آنها خبر داشتید .
باز کردن گزارش اکسس برای یک رکورد مشخص + نمونه فایل
Sub Report در اکسس و کاربردهای آن +[ ویدئو ]
24 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
سلام خسته نباشید
لطفا امضا دیجیتال رو هم اموزش بدین
میخام که از داخل کومبو باکس اسم هر کسیو که انتخاب کردم نمونه امضاش پایین فاکتو بخوره
با سلام
برای این کار به راحتی می توانید از یک عبارت شرطی استفاده کنید . که با توجه به به منام انتخاب شده در کمبو باکس تصویر مورد نظر برای شما به نمایش درآید
سپاس
سپاسگذاریم
سلام خیلی ممنون از اموزش مفید جنابعالی چگونه می توانم اطلاعات این دو کمبو باکس را در جدول استفاده کنم
سلام برای این کار باید از کتابخانه DAO و کدهای وی بی ای استفاده کنید
سلام من استاد
من می خواهم با انتخاب نام استان در یک کامبو باکس بدون دخالت من کد آن استان در یک تکست باکس دیگر به نمایش در آید لطفا راهنمایی کنید.
در اولین بروزرسانی راجع به آن صحبت خواهم کرد
سلام استاد
ممنون بابت آموزشهای عالیتون
چطور میشه از بین دو چک باکس یکی را انتخاب و دیگری را disable کرد مثلا یک کارمند یا مرخصی روزانه میره یا مرخصی ساعتی .. میخام وقتی مرخصی روزانه میره بخش مرخصی ساعتی disable بشه . در صورت انتخاب مرخصی ساعت مرخصی روزانه disable و تکست باکس های ساعت خروج و ساعت ورود فعال گردد
برای این کار می تونید از آپشن باتن هم استفاده کمنید .
اما برای تکس باکس نیاز به یک سری کد نویسی هست که در مطلب مجزایی به آن خواهم پرداخت
خیلی ممنون
سلام ممنون از آموزش
خطای ران تایم ۲۱۱۸ میگیرم
You must save the current field before you run the Requery action
احتمالا توی ذخیره کردن رکوردها مشکل وجود دارد باید بیشتر بررسی کرد
سلام و خیلی ممنونم از این آموزش خوب . بفرمایید شما برای انجام یک پروژه و طراحی پایگاه داده در اکسس می تونین زمان بذارین؟ و اینکه جسارت نباشه راه ارتباطی با شما چطوره؟ البته اگه موافق بودین. ممنونم از پاسخگویی تون
سلام ممنون از همراهی شما . متاسفانه در حال حاضر و به دلیل مشغله زیاد امکانی برای انجام پروژه فراهم نیست
سلام از لطف و زحمت شما خیلی متشکرم.
من برابر آموزش تصویری ارتباط بین دو کمبوباکس رو انجام دادم ولی نتیجه نگرفتم و ذخیره نشد. ممنون می شم اگه آموزش ارتباط دو کمبو باکس را در جدول ارائه فرمایید. متشکرم.
سلام این مطلب طی همین روزها در دست بروزرسانی است
درود
ممنون از اطلاعات که در سایت بار گزاری کردید.
خیلی مفید بود
باتشکر
خوشحالم که این اطلاعات برای شما کاربردی بوده به امیدی همراهی شما در آینده
سلام و خدا قوت
ممنون از آموزش های بسیار خوب و روان شما استاد عزیز.
می خواستم بدونم راهی هم هست که ارتباط بین ۳ یا ۴ کمبوباکس ایجاد کرد؟ البته بدون VB
بله امکانش ایجاد ارتباط بین کمبو باکس ها به هر تعداد وجود داره هم با کد نویسی و هم بدون کد نویسی
سلام مجدد
استاد من کمبو باکس ها رو ایجاد کردم مطابق همون چیزی که شما فرمودید، منتهی در کمبوباکس دومی که اسامی شهرستان ها باید انتخاب بشه فقط ردیف اولی انتخاب میشه، اسامی بقیه شهرستان ها بدرستی نشون داده میشه ولی رو هرکدوم کلیک می کنم فقط همون ردیف اولی انتخاب میشه
ممنون میشم راهنمایی بفرمایید
سلام
استاد این فرمی که داخلش کمبوباکس رو ایجاد کردم وقتی که میارمش داخل Navigation Form پیغام زیر رو میده
enter parameter value
forms!ostan!ostan
سلام بزودی برای این آموزش یک فایل نمونه قرار می دهم که می توانید پاسخ این سوال و سوال قبلی خودتان را در آن پیدا کنید