PDA

View Full Version : چه جوری با انتخاب یک داده از Combo Box اطلاعات مربوط به اون



nahid_ap
یک شنبه 18 بهمن 1383, 11:36 صبح
چه جوری با انتخاب یک داده از Combo Box اطلاعات مربوط به اون داده رو ببینم البته توی فرم ؟ :sorry:

سنبله کار
یک شنبه 18 بهمن 1383, 11:57 صبح
اگر فقط بخواهیم ببینیم می توانیم بین table مربوط به combo box و فیلد مرتبط با آن در table فرم مورد نظر لینکی در یک query بر قرار کرده و فیلد های دلخواه را در آن بیاوریم و qeury ساخته شده را در record source فرم به جای table قبلی قرار دهیم .
حال با اضافه کردن فیلد های منتخب در فرم با هر بار انتخاب یک داده در combo box اطلاعات متناظر با آن در فیلد های اضافه شده به نمایش در می آیند .

اما اگر بخواهیم داده های مرتبط با انتخاب combo box در فیلدهای دیگری درج گردند باید event روی آن بنویسیم .

nahid_ap
یک شنبه 18 بهمن 1383, 21:47 عصر
با تشکر از پاسخ شما اما من منظورم حالت دومی که شما گفتید یعنی می خوام با انتخاب یک داده از combo box فیلد های دیگه موجود در فرم مثل text box ها داده هاشون update بشه .

قبلا از پاسخ شما ممنونم ... :)

سنبله کار
دوشنبه 19 بهمن 1383, 08:39 صبح
در مثال زیر بعد از انتخاب گزینه ای جدید از Combo متن داخل Text مساوی مقدار ستون دوم Combo که در اینجا با Index شماره 1 مشخص شده است خواهد شد .


Private Sub Combo_AfterUpdate()
Text = Combo.Column(1)
End Sub
موفق باشید .

سنبله کار
دوشنبه 19 بهمن 1383, 11:26 صبح
پیشنهاد می کنم قسمت داخل کادر در تصویر زیر را به یک زیر فرم ببرید و بر اساس شماره قطعه بین فرم اصلی و زیر فرم ارتباط را برقرار کنید .
حالا با انتخاب هر قطعه کلیه اطلاعات مرتبط با آن در زیر فرم به نمایش درآمده و قابل تغییر می باشد .

payam59
دوشنبه 19 بهمن 1383, 15:13 عصر
پیشنهاد اول : ابتدا فرم اصلی رو بصورت عادی (bound ) و با کمبو باکس مربوطه بسازید. بعد سابفرم رو بسازید و فیلد شماره قطعه در فرم اصلی را با فیلد مربوطه (مانند همان فیلد شماره قطعه که در سابفرم بصورت مخفی قراردارد)در سابفرم لینک کنید. البته این بستگی به جداول و کلید های اولیه شما دارد. بهمین راحتی .اگرهم خواستید می تونید بعد از ذخیره کردن فرم اصلی رو unbound کنید.

پیشنهاد دوم : استفاده از query به عنوان رکوردسورس سابفرم و قرار دادن شرط دریکی از فیلدهای روش اول
که به فرم اصلی و کمبو باکس مربوطه وابسته باشد. بعد در رویداد مورد نظرکمبو باکس (مانندon change یا afterupdate و ...) از فرمان requery استفاده کنید.

اگر موفق نشدید فرم موردنظر و جداول مربوطه اش رو برام بفرستید.

ashkan2005
یک شنبه 19 آذر 1385, 20:10 عصر
با سلام خدمت دوستان
می خواستم بدونم که چطوری میشه با زدن حرف اول یه کلمه ، کلمه ای رو که تو کمبو باکسم وجود داره خودش جستجو کنه وبیاره مثلا" در کمبو باکسم اسم (کتاب و خودکار) رو دارم با زدن حرف ک ، کتاب انتخاب شه وبا زدن حرفه خ ، خودکار انتخاب شه.:تشویق:

انگوران
دوشنبه 20 آذر 1385, 08:45 صبح
وقتی کمبو اطلاعات رو از یه جدول می خونه و یا اینکه اطلاعات در قسمت row source وارد شده باشه ( بوند باشه ) بصورت خودکار این اتفاق می افته .

samaneh_h
دوشنبه 20 آذر 1385, 15:55 عصر
نیاز به تنظیمات خاصی نیست حرف انگوران صحیح است

ashkan2005
یک شنبه 26 آذر 1385, 06:37 صبح
وقتی کمبو اطلاعات رو از یه جدول می خونه و یا اینکه اطلاعات در قسمت row source وارد شده باشه ( بوند باشه ) بصورت خودکار این اتفاق می افته .
با سلام
دوست عزیز میشه مراحل این کارو به من توضیح بدی چون من تازه دارم با کمبو باکس کار می کنم :تشویق:

samaneh_h
یک شنبه 26 آذر 1385, 13:38 عصر
یه نگاهی بنداز.متوجه می‌شی:گیج:

انگوران
یک شنبه 26 آذر 1385, 16:20 عصر
دوست عزیز ! روی یکی از تکست باکسهای روی فرم راست کلیک کن و گزینه change to سپس combo box را انتخاب کن بعد در خصوصیت مربوطه و در ردیف row source type انتخاب پیش فرض که همون table/query هست بدون تغییر باقی بمونه و در جلوی row source روی سه نقطه کلیک کن و در کادر باز شده جدولی که می خوای فیلدهای اون سورس کومبو باکس باشه رو انتخاب کن و بعد روی فیلدهای مورد نظر دابل کلیک کن ( فیلد اول و دوم جدول رو انتخاب کن ) و کویری رو ببند و ذخیره کن . پس از اون column count رو به 2 تغییر بده ( دو تا از فیلدهای جدول رو برات نشون می ده ) .
حال اگه بخوای سورس کومبو باکست جدول نباشه و آیتمهائی باشه که خودت وارد می کنی در قسمت row source type گزینه value list رو انتخاب کن و جلوی row source آیتمهای مورد نظر رو بنویس و اونا رو با سی می کالن از هم جدا کن ( مثلاً دیپلم;فوق دیپلم;لیسانس;فوق لیسانس;دکترا )
امیدوارم تونسته باشم مفهوم رو درست برسونم .

ashkan2005
یک شنبه 26 آذر 1385, 21:17 عصر
با تشکر از شما دو دوست عزیز
اگه شما از نحوه انجام این کار در vb.net هم اطلاع داشته باشید کمک کنید بی نهایت از شما سپاسگزار خواهم شد یعنی توسط کمبو باکس خود vb.net
:لبخندساده:

samaneh_h
دوشنبه 27 آذر 1385, 10:19 صبح
برای اون فکر کنم باید کد بنویسی تو قسمت textchanged مربوط به کامبو

lililili
سه شنبه 29 خرداد 1386, 09:44 صبح
با سلام

چگونه می توانم در یک textbox یک حرف "فقط یک حرف" و نه "یک کلمه" را تا یپ کنم و سپس اطلاعات مربوط به آن رکورد را در textbox های زیرین یا یک subforme جداگانه که حاوی یک table هست ببینم ؟ امیدوارم که سوالم واضح باشد
و یا با combo ؟؟؟

ببینید من می خواهم در textbox بزنم حرف "د " و بعد از زدن کلید مربوطه مثلا enter یا tab
کلیه کلماتی که با "د " شروع می شود را برایم بیاورد آیا میشود با اکسس ؟

ممنونم.

sinpin
سه شنبه 29 خرداد 1386, 14:41 عصر
با سلام

چگونه می توانم در یک textbox یک حرف "فقط یک حرف" و نه "یک کلمه" را تا یپ کنم و سپس اطلاعات مربوط به آن رکورد را در textbox های زیرین یا یک subforme جداگانه که حاوی یک table هست ببینم ؟ امیدوارم که سوالم واضح باشد
و یا با combo ؟؟؟

ببینید من می خواهم در textbox بزنم حرف "د " و بعد از زدن کلید مربوطه مثلا enter یا tab
کلیه کلماتی که با "د " شروع می شود را برایم بیاورد آیا میشود با اکسس ؟

ممنونم.

برای اینکار باید یک کوئری بنویسید. کاملا مطمئن نیستم توی اکسس چه جوری میشه :متفکر: اما سعی خودم رو میکنم :
نام فرم شما : frmA
نام تکست باکس : txtName


frmA.RecourdSource="Select * from <table_name> where name like '" & txtName.text & "*"

lililili
چهارشنبه 30 خرداد 1386, 05:54 صبح
میشه بیشتر توضیح بدهید . البته این کار را انجام دادم ولی نشد ، منظور شما از کواری

همان query در اکسس هست ؟ که در قسمت Objects می باشد ؟ و سوال دوم اینکه آن کد رادر قسمت RecordSource یا Control Source بنویسم ؟
توضیح ریزتر ممنون می شم ...!

nasiiim
جمعه 11 مرداد 1387, 21:29 عصر
یعنی میشه با انتخاب یک داده از Combo Box که محتوی اسم چند جدول است فیلدهای اون جدول، به صورت سابفرم، در فرم اصلی نمایش داده بشه و قابل ادیت هم باشه؟

smderfan
جمعه 11 مرداد 1387, 22:38 عصر
سلام
کار نشد که نداریم .......... ولی منظور شما از ادیت و ویرایش فیلدهای جدول چیه؟

مهدی قربانی
شنبه 12 مرداد 1387, 00:12 صبح
یعنی میشه با انتخاب یک داده از Combo Box که محتوی اسم چند جدول است فیلدهای اون جدول، به صورت سابفرم، در فرم اصلی نمایش داده بشه و قابل ادیت هم باشه؟

سلام
نقداً يك نمونه در مورد استخراج نام فيلدهاي جدول بوسيله كامبو باكس :
http://barnamenevis.org/forum/showpost.php?p=427506&postcount=8

nasiiim
شنبه 12 مرداد 1387, 09:57 صبح
سلام
منظور ما از ادیت وارد کردن اطلاعات به سابفرم ایجاد شده و همانا ذخیره آنها در جدول مربوطه میباشد.

نام فیلدهای کمبو را که خودم در row source وارد کردم. و نوعش و هم table/query انتخاب کردم. و یک جدول هم دارم که حاوی نام جدول های دیگه و یک ستون id است!! اسم کمبو باکسم "ماهیت پروژه" است.
کد زیر اشکال داره؟ (حتما داره که کار نمیکنه دیگه!)


Private Sub ماهيت_پروژه_AfterUpdate()
Dim ماهيت_پروژه As String
Select Case ماهيت_پروژه.Text
Case 1
DoCmd.OpenForm "آبرساني به شهرها و صنايع"
Case 2
DoCmd.OpenForm "تغذيه مصنوعي"
Case 3
DoCmd.OpenForm "انتقال آب"
Case 4
DoCmd.OpenForm "تامين آب(سد سازي)"
Case 5
DoCmd.OpenForm "ساماندهي رودخانه ها و سواحل"
Case 6
DoCmd.OpenForm "شبکه هاي آبياري زهکشي"
end select
End Sub

مهدی قربانی
شنبه 12 مرداد 1387, 10:41 صبح
سلام
دوست عزيز بنظر ميرسه كه روش اجرايي رو درست پياده نكرديد ، بهتره سئوالتون رو در قالب نمونه مطرح كنيد اينطوري سريعتر به پاسخ مورد نظر مي رسيد .

مهدی قربانی
شنبه 12 مرداد 1387, 12:12 عصر
سلام
فكر مي كنم اين نمونه همون چيزيه كه مورد نظر شماست :

nasiiim
شنبه 12 مرداد 1387, 18:32 عصر
http://rapidshare.de/files/40142802/2.zip.html لطف می کنید اگه فایل ضمیمه رو نگاه کنید. مشکلاتم و توضیح دادم.

مهدی قربانی
یک شنبه 13 مرداد 1387, 16:48 عصر
سلام
دوست عزيز متاسفانه به دليل فارسي بودن نام فيلدها و اشياء بانك اطلاعاتي شما من قادر به مشاهده درست فايلتون نيستم پس بهتره اين دو كار زير رو انجام بديد تا امكان بررسي و رفع مشكل فراهم بشه :
1 . تبديل فايل به ورژن 2000 تا 2003
2 . تغيير نام فيلدها و اشياء بانك اطلاعاتي از فارسي به انگليسي .

morteza_lll
یک شنبه 24 شهریور 1387, 07:40 صبح
سلام دوستان من يه سوال دارم در مورد كار كردن با كمبوباكس
من يك كمبو باكس دارم كه هنگام نمايش 2 ستون را همزمان به كاربر نشان مي دهد و پس از انتخاب مقدار ستون اول در جدول ذخيره مي گردد تا اينجا درست
حالا من مي خوام به همين روال انجام بشه ولي پس از انتخاب و عبور از كمبوباكس به جاي اينكه مقدار ستون اول نشون داده شود،ستون شماره 2 را نمايش دهد ولي در ديتابيس همان مقدار ستون اول ثبت گردد ممنون ميسم اگه كسي بتونه كمكم كنه

مهدی قربانی
یک شنبه 24 شهریور 1387, 08:18 صبح
سلام
مرتضي جان در خصوصيت ‍Column With كامبو شما احتمالاً 2 تا سايز مثل 2.54cm;2.54cm داري ، براي حالت مورد نظر بايد سايز ستون اولي رو صفر كني تا فقط در موقع نمايش ستون دوم ديده بشه .

morteza_lll
یک شنبه 24 شهریور 1387, 08:27 صبح
آقا مهدي درسته من دوتا سايز دارم همينطوري هم ميخوام باشه ولي بد از انتخاب فرد و عبور از كمبوباكس مي خوام كه، جهت نمايش مقدار ستون دوم درج بشه ولي در ديتابيس مقدار ستون اول ثبت شده است

مهدی قربانی
یک شنبه 24 شهریور 1387, 09:01 صبح
در خصوصيت Row Source به نماي SQL‌ برو و جاي فيلدها رو ( ترتيبشون) تغيير بده .

morteza_lll
یک شنبه 24 شهریور 1387, 09:33 صبح
سلام آقا مهدي
نه اينطوري نميخوام
يه فايل پيوست مي ذارم شايد بهتر مشخص كنه من چي مي خوام ممنونم از پاسختون:قلب:

مهدی قربانی
یک شنبه 24 شهریور 1387, 10:07 صبح
آقا مرتضي فكر نمي كنم به اون شكلي كه شما مي خواي بشه انجامش داد البته من خيلي روش فكر نكردم ولي احتمالش ضعيفه چون شما كامبو رو باند كردي به جدول نمي توني مقدار ديگه اي رو قرار بدي مگه اينكه UnBound كار كني من فرم aaa رو تو نمونه خودت بصورت UnBound پياده كردم و با استفاده از ركوردست و يك كامند باتون اطلاعات ميره تو جدول ببين مناسب كارت هست ؟

morteza_lll
یک شنبه 24 شهریور 1387, 10:48 صبح
آقا مهدي دمت گرم خيلي ممنون كه وقت گذاشتين زحمت كشيدي دوست عزيز
فكر كنم مي تونم از اين فايل شما ايده بگيرم ولي اگه راه حلي واسه اون حالت يعني باند شده پيدا كردي ما رو هم بي خبر نذار متشكرم از پاسخهايتون

nabeel
دوشنبه 22 تیر 1388, 19:38 عصر
morteza_lll سلام

فایل اصلاح شده مد نظر شما

33188

موفق باشید

hada22
چهارشنبه 01 دی 1389, 20:05 عصر
سلام دوستان عزیز.غرض از مزاحمت.من یه جدول دارم به اسمtable1کهتواون اطلاعات فردی چند نفررانوشتم.
حالایه فرم دارم که تو اون یه کمبوباکس دارم که شامل اسامی موجود در جدولtable1میشه.حالا میخوام با آوردن هر کدوم از اسامی تو فیلدی که مثلا با نام (نام پدر) گذاشتم،نام پدر اون فرد درجدول table1بیاد.تو مثال زیرمنظورم را بهتر میفهمیدوممنون میشم از راهنماییتون.

stabesh
چهارشنبه 01 دی 1389, 20:41 عصر
سلام
از DLookUp استفاده کنید

stabesh
چهارشنبه 01 دی 1389, 21:05 عصر
یا این طوری

hada22
پنج شنبه 02 دی 1389, 14:55 عصر
سلام
از DLookUp استفاده کنید
سلام دوست عزیز.ممنونم ازراهنمایی شما.من منظورم همین پاسخ اول شمابود.اگه امکان داره فانکشنی که اسم پدر را ازجدولtable1بگیره ودر تکست باکس فرم قراربده برام بنویسید..تشکرمیکنم ازراهنمایی شما

stabesh
پنج شنبه 02 دی 1389, 16:53 عصر
بفرمایید :لبخندساده:

samuel*
شنبه 12 آذر 1390, 17:36 عصر
پیشنهاد اول : ابتدا فرم اصلی رو بصورت عادی (bound ) و با کمبو باکس مربوطه بسازید. بعد سابفرم رو بسازید و فیلد شماره قطعه در فرم اصلی را با فیلد مربوطه (مانند همان فیلد شماره قطعه که در سابفرم بصورت مخفی قراردارد)در سابفرم لینک کنید. البته این بستگی به جداول و کلید های اولیه شما دارد. بهمین راحتی .اگرهم خواستید می تونید بعد از ذخیره کردن فرم اصلی رو unbound کنید.

پیشنهاد دوم : استفاده از query به عنوان رکوردسورس سابفرم و قرار دادن شرط دریکی از فیلدهای روش اول
که به فرم اصلی و کمبو باکس مربوطه وابسته باشد. بعد در رویداد مورد نظرکمبو باکس (مانندon change یا afterupdate و ...) از فرمان requery استفاده کنید.

اگر موفق نشدید فرم موردنظر و جداول مربوطه اش رو برام بفرستید.

من نتونستم متوجه بشم میشه با تصویر و مثال توضیح بدید
چون منم یه همچین فرمی رو میخوام بسازم
ممنووووووووون

samuel*
یک شنبه 13 آذر 1390, 18:51 عصر
من نتونستم متوجه بشم میشه با تصویر و مثال توضیح بدید
چون منم یه همچین فرمی رو میخوام بسازم
ممنووووووووون
UP!!!!!!:لبخند:

rahapirooz
شنبه 10 آبان 1393, 10:02 صبح
با سلام.فایل tblselsect رو دان کردم .فقط یک سوال : مقادیر کمبو باکس من به این صورت هستند :هنر .فیزیک .... که میخواستم با انتخاب انها سابفرم مربوط یا جدول مربوط نمایش داده شود.اما در این فایل نام جداول که لاتین هستند نمایش داده میشود که درست نیست برای کاربر اینگونه نمایش داده شود.ممنو میشم راهنمایی کنید.

rahapirooz
شنبه 10 آبان 1393, 10:13 صبح
با سلام.این فایل رو دان کردم .فقط نام جداول به صورت لاتین هستند و درست نیست برای کاربر ایگونه نمایش داده شود.مقادیر کمبو های من به این صورت است:هنر .فیزیک و ....میخواستم با انتخاب انها از کمبو سابفرم یا جدول مربوط به ان نمایش داده شود.ممنون میشم راهنمایی کنید.من شدیدا به این فایل نیاز دارم.

M@hmoodi
سه شنبه 15 اردیبهشت 1394, 17:59 عصر
سلام دوستان من میخوام تو یه برنامه با زدن کد محصول نام محصول را به من نمایش بده و ثبت بشه ممنون میشم از کمکتون :ناراحت::ناراحت::ناراحت:

tina.ka
یک شنبه 08 اسفند 1395, 22:02 عصر
سلام میبخشید لطفا فوری جواب بدید کارم به جواب این سوال بستگی داره
من یه جدول طراحی کردم فیلدای مختلف داره الان باید فیلد استان رو کمبو باکس بزارم بعد فیلد بعدیش شهرستان اون اسنان
میخوام حوری باشه که وقتی استان رو از کمتو باکس اول انتخاب میکنم توی فیلد بعدی فقط شهرای اون استان نمایش بده نه کل شهرا

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

aghili.ea
چهارشنبه 15 آبان 1398, 20:48 عصر
با عرض سلام
اگر بخواهم اطلاعاتی که در یک اکسل دارم به صورت اتوماتیک با زدن یک کد ملی در فرمی که در فایل اکسل دیگر است داشته باشم چه کنم؟

iransim
پنج شنبه 16 آبان 1398, 12:37 عصر
در مثال زیر بعد از انتخاب گزینه ای جدید از Combo متن داخل Text مساوی مقدار ستون دوم Combo که در اینجا با Index شماره 1 مشخص شده است خواهد شد .


Private Sub Combo_AfterUpdate&#40;&#41;
Text = Combo.Column&#40;1&#41;
End Sub
موفق باشید .

بابا دمت گرم ، اینو خیلی وقته دنبالش می گشتم ، کاملا شانسی مطلبو خوندم ، سپاس از مطالب خوب همه دوستان:تشویق::تشویق::تشویق: