PDA

View Full Version : سوال: یک فرم حاوی کمبوباکس و ساب فرم



Rahil222
دوشنبه 27 آذر 1396, 12:26 عصر
سلام دوستان
یک سوال دارم ازتون که ممنون میشم جواب بدین
من یک فرم در اکسس دارم که میخوام داخلش یک ساب فرم نمایش داده بشه که اطلاعات این ساب فرم از نتیجه انتخاب چند کمبوباکس در همین فرم ایجاد میشه.
در واقع من سه تا جدول دارم که یکی حاوی سرفصلهای اصلی، دومی فصلهای داخل اون و سومی زیرشاخه های دومیه. حالا یک کوئری از نمایش کل اینها درست کردم.
بهم بگید چطور میتونم با انتخاب سرفصل یا فصل خاصی اطلاعات همون موارد رو در ساب فرم نمایش بدم؟
ممنون

نوشیروانی
دوشنبه 27 آذر 1396, 14:59 عصر
سلام ببینید این نمونه بدرد تون میخوره

Rahil222
سه شنبه 28 آذر 1396, 07:32 صبح
سلام ببینید این نمونه بدرد تون میخوره
از لطفتون ممنونم. فایلتون رو دیدم. کاربردی بود. اما مساله اصلی من اتصال کمبو به ساب فرمه. در واقع میخوام هر چند گزینه که انتخاب کردم از کمبو بره داخل جدول بگرده و اطلاعات همون گزینه ها رو در ساب فرم نمایش بده. براساس انتخاب از چندتا کمبو.
مثال میزنم. اگر جدولی از نام تعدادی شهر داشته باشم. دوم جدولی از نام تمام بیمارستانهای اون شهرها که با فیلد کلید به شهر خودشون متصل هستن و سوم جدولی با نام تمام پزشکان اون بیمارستانها که به بیمارستان خودشون در جدول دوم وصل هستن و حالا بخوایم در فرم خودمون سه کمبو برای هرکدوم داشته باشیم که مولتی سلکتن و هر تعداد شهر و هر تعداد بیمارستان و هر پزشک یا پزشکانی که انتخاب شدن اشتراک تمام گزینه های انتخابی از کمبو رو در مثلا یک ساب فرم نمایش بده باید چیکار کنم؟

Mehr@ban
سه شنبه 28 آذر 1396, 10:37 صبح
سلام



خب سابفرم باید به کوئری متصل باشه
در فیلدهای کوئری با دستور لایک به کمبوها اشاره کنید و داده رو بگیرین
در طراحی فرم اصلی هم دوتا دکمه برای ریکوئری کردن سابفرم قرار بدین

Rahil222
پنج شنبه 30 آذر 1396, 12:35 عصر
سلام



خب سابفرم باید به کوئری متصل باشه
در فیلدهای کوئری با دستور لایک به کمبوها اشاره کنید و داده رو بگیرین
در طراحی فرم اصلی هم دوتا دکمه برای ریکوئری کردن سابفرم قرار بدین



از راهنماییتون خیلی ممنونم. میشه یکم بیشتر بازش کنید.
یک سوال آیا این کاری که کردم و یک کوئری از اجتماع تمام داده ها درست کردم صحیحه؟ و باید ساب فرم به همین کوئری وصل بشه؟
مورد سومتون رو میشه برام شرح بدین
ببخشید من معمولا PHP کار میکنم. با اکسس خیلی وقته کار نکردم. اون زمان هم که کار کردم بخشهای برنامه نویسی و ماکرو کار نکردم. اما الان تو محل کارم یه هچین چیزی ازم خواستن. چون فورس هست نمیتونم برم دنبال کتاب و ... اگه میشه کمکم کنید تا راهشو پیدا کنم. اگه php بود برام خیلی راحتتر بود ولی محدودیت استفاده از اکسس رو دارم. میدونم چیز پیچیده ای نیست ولی نمیتونم مفهوم رو به کد vb در اکسس تبدیل کنم چون دانشش رو فعلا ندارم.
بازم ممنون

Mehr@ban
پنج شنبه 30 آذر 1396, 16:43 عصر
سلام دوباره

چندتا نکته میگم تا بیشتر واضح بشه:
1. خوب کوئری که به سابفرم متصل هست باید تمام اطلاعاتی که قراره جستجو درش صورت بگیره رو شامل بشه.

2.در فیلد مورد جستجو در کوئری باید با استفاده از دستور لایک به تکست باکسی که در فرم اصلی قرار داره اشاره کنید تا بتونید اطلاعاتش رو بخونید و در کوئری اعمال کنید.
مثلا کوئری من فیلدهایی با کپشن‌های: اسم - فامیل - کدملی - شغل - تحصیلات دارم. در فرم اصلی هم تکست باکس هایی با همین عناوین درست کردم که یکی رو براتون مثال میزنم:

در تحصیلات کوئری در بخش شرطش کد زیر رو مینویسم:

like "*" & forms![frm_search]![txtTahsilat] & "*"
'اگر نیاز به جستجوی دقیق دارین باید "*" را از عبارت بالا حذف کنید

پ.ن:


نام فرم frm_search است.
نام تکست باکس تحصیلات txtTahsilat است.

خب تا اینجا تحصیلات رو مرتبط کردیم. باقی فیلدهای کوئری هم مثل بالا با فرم مربوطه مرتبط کنید.

3. در فرم اصلی دو دکمه نیاز داریم تا سابفرم ما رو بروز رسانی کنه.
لذا یک دکمه با نام جستجو ایجاد میکنید و یکی هم با نام بازنشانی

کد زیر رو برای دکمه جستجو
me.frm_subSearch.requry

پ.ن:


اسم سابفرم frm_subSearch است.


و کد زیر رو برای بازنشانی
me.txtTahsilat=""
me.frm_subSearch.requry


فکر میکنم زیادی توضیح دادم:لبخند:
منم php خیلی دوست ولی چه کنیم که خودشو از ما میگیره :قهقهه:

Rahil222
یک شنبه 03 دی 1396, 09:57 صبح
سلام دوباره

چندتا نکته میگم تا بیشتر واضح بشه:
1. خوب کوئری که به سابفرم متصل هست باید تمام اطلاعاتی که قراره جستجو درش صورت بگیره رو شامل بشه.

2.در فیلد مورد جستجو در کوئری باید با استفاده از دستور لایک به تکست باکسی که در فرم اصلی قرار داره اشاره کنید تا بتونید اطلاعاتش رو بخونید و در کوئری اعمال کنید.
مثلا کوئری من فیلدهایی با کپشن‌های: اسم - فامیل - کدملی - شغل - تحصیلات دارم. در فرم اصلی هم تکست باکس هایی با همین عناوین درست کردم که یکی رو براتون مثال میزنم:

در تحصیلات کوئری در بخش شرطش کد زیر رو مینویسم:

like "*" & forms![frm_search]![txtTahsilat] & "*"
'اگر نیاز به جستجوی دقیق دارین باید "*" را از عبارت بالا حذف کنید

پ.ن:


نام فرم frm_search است.
نام تکست باکس تحصیلات txtTahsilat است.

خب تا اینجا تحصیلات رو مرتبط کردیم. باقی فیلدهای کوئری هم مثل بالا با فرم مربوطه مرتبط کنید.

3. در فرم اصلی دو دکمه نیاز داریم تا سابفرم ما رو بروز رسانی کنه.
لذا یک دکمه با نام جستجو ایجاد میکنید و یکی هم با نام بازنشانی

کد زیر رو برای دکمه جستجو
me.frm_subSearch.requry

پ.ن:


اسم سابفرم frm_subSearch است.


و کد زیر رو برای بازنشانی
me.txtTahsilat=""
me.frm_subSearch.requry


فکر میکنم زیادی توضیح دادم:لبخند:
منم php خیلی دوست ولی چه کنیم که خودشو از ما میگیره :قهقهه:
خیلی ممنونم همشهری. لطف کردید وقت گذاشتید. این مواردی رو که گفتید اعمال کردم ولی یک خطا میده. میگه در رویداد onclick در قسمت event یک ارور وجود داره که اکسس نمیتونه با Activex یا با OLEserver ارتباط برقرار کنه و
the expression may not result in the name of a macro, the name of a user function or event procedure
there may have been an error evaluating the function, event or macro
اسم دکمه من run هست و در onclick دکمه نوشتم :
me.list.requery
list اسم ساب فرمه.
یک سوال دیگه بزرگوار:
اگه بجای تکست باکسی که گفتین از کمبوباکس استفاده کنم تفاوتی داره؟ منظورم اشاره به گزینه های انتخاب شده در کمبو هست(در قسمت like)
کمبو multiselect هست
خیلی ممنون

Mehr@ban
یک شنبه 03 دی 1396, 14:39 عصر
خواهش میکنم داداش (البته نمیدونم راحیل اسم پسره یا دختر)

خطایی که اشاره کردی رو نمیدونم باید دست خودم باشه تا ببینم مشکل از چی هست، البته احتمال میدم از اسم کنترل هاتون باشه چون run & list از اسامی اختصاصی هست ولی نمیدونم بازم تست کنید!

در مورد سوال دوم هم خیر تفاوتی نداره میتونید از کمبو استفاده کنید.

اگر مشکل حل نشد نمونتون رو فشرده کنید و بذارین تا یه نگاهی از سرفرصت بهش بندازم :متفکر:

Rahil222
دوشنبه 04 دی 1396, 07:43 صبح
خواهش میکنم داداش (البته نمیدونم راحیل اسم پسره یا دختر)

خطایی که اشاره کردی رو نمیدونم باید دست خودم باشه تا ببینم مشکل از چی هست، البته احتمال میدم از اسم کنترل هاتون باشه چون run & list از اسامی اختصاصی هست ولی نمیدونم بازم تست کنید!

در مورد سوال دوم هم خیر تفاوتی نداره میتونید از کمبو استفاده کنید.

اگر مشکل حل نشد نمونتون رو فشرده کنید و بذارین تا یه نگاهی از سرفرصت بهش بندازم :متفکر:

ممنونم از لطفتون.
راحیل اسم دختره.
راجع به این خطا سرچ کردم چیز زیادی دستگیرم نشد. احتمال داره از زبانش باشه . این لینکها رو لطفا ببینید:

http://support.microsoft.com/kb/907337
http://support.microsoft.com/kb/295824

مشکل از اسامی نیست چون تست کردم با اسم دیگه هم ارور میده.
من نمونه رو براتون میفرستم. این یک دیتابیس از تمام تعرفه های گمرک هست که در سه جدول اومده، در یک کوئری ترکیب شده و در فرم هم میخواد فیلتر بشه. برمبنای انتخاب یک یا چند گزینه از چند کمبوباکس.
مرحله اول اینه که با یک کمبو فیلتر کنه در ساب فرم نمایش بده. مرحله دوم اینه که از ترکیب چند کمبو خروجی لازم رو بده.
در حال حاضر ورودی پارامتری میگیره که یک عدد از 1 تا 21 هست. فقط نمیدونم چرا دومرتبه میگیره؟! براساس این عدد فیلتر میکنه و نمایش میده

Rahil222
دوشنبه 04 دی 1396, 09:42 صبح
متاسفانه امکان ارسال فایل رو ندارم. خیلی بد شد... :ناراحت:

Mehr@ban
دوشنبه 04 دی 1396, 15:59 عصر
به قول بزرگان
و هذه بضاعتنا

چیزی که از دست ما بر میاد همینه
بازم اگه فایل رو برسونید میشه یه کاریش کرد

البته آپلودسنتر پیکوفایل هم هست جهت اطلاع