# پایگاه‌های داده > سایر پایگاه‌های داده > Access >  چه جوری با انتخاب یک داده از Combo Box اطلاعات مربوط به اون

## nahid_ap

چه جوری با انتخاب یک داده از Combo Box اطلاعات مربوط به اون  داده رو ببینم البته توی فرم ؟ :sorry:

----------


## سنبله کار

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

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

----------


## nahid_ap

با تشکر از پاسخ شما اما من منظورم حالت دومی که شما گفتید یعنی می خوام با انتخاب یک داده از combo box  فیلد های دیگه موجود در فرم مثل text box  ها داده هاشون update  بشه .

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

----------


## سنبله کار

در مثال زیر بعد از انتخاب گزینه ای جدید از Combo متن داخل Text مساوی مقدار ستون دوم Combo که در اینجا با Index شماره 1 مشخص شده است خواهد شد .

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

----------


## سنبله کار

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

----------


## payam59

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

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

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

----------


## ashkan2005

با سلام خدمت دوستان 
می خواستم بدونم که چطوری میشه با زدن حرف اول یه کلمه ، کلمه ای رو که تو کمبو باکسم وجود داره خودش جستجو کنه وبیاره مثلا" در کمبو باکسم اسم (کتاب و خودکار) رو دارم با زدن حرف  ک ، کتاب  انتخاب شه وبا زدن حرفه خ ، خودکار انتخاب شه. :تشویق:

----------


## انگوران

وقتی کمبو اطلاعات رو از یه جدول می خونه و یا اینکه اطلاعات در قسمت row source وارد شده باشه ( بوند باشه ) بصورت خودکار این اتفاق می افته .

----------


## samaneh_h

نیاز به تنظیمات خاصی نیست حرف انگوران صحیح است

----------


## ashkan2005

> وقتی کمبو اطلاعات رو از یه جدول می خونه و یا اینکه اطلاعات در قسمت row source وارد شده باشه ( بوند باشه ) بصورت خودکار این اتفاق می افته .


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

----------


## samaneh_h

یه نگاهی بنداز.متوجه می‌شی :گیج:

----------


## انگوران

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

----------


## ashkan2005

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

----------


## samaneh_h

برای اون فکر کنم باید کد بنویسی تو قسمت  textchanged مربوط به کامبو

----------


## lililili

با سلام 

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

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

ممنونم.

----------


## sinpin

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


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

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

----------


## lililili

میشه بیشتر توضیح بدهید . البته این کار را انجام دادم ولی نشد ، منظور شما از کواری 

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

----------


## nasiiim

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

----------


## smderfan

سلام
کار نشد که نداریم .......... ولی منظور شما از ادیت و ویرایش فیلدهای جدول چیه؟

----------


## مهدی قربانی

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


سلام 
نقداً يك نمونه در مورد استخراج نام فيلدهاي جدول بوسيله كامبو باكس :
https://barnamenevis.org/showpo...06&postcount=8

----------


## nasiiim

سلام
منظور ما از ادیت وارد کردن اطلاعات به سابفرم ایجاد شده و همانا ذخیره آنها در جدول مربوطه میباشد.

نام فیلدهای کمبو را که خودم در 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

----------


## مهدی قربانی

سلام
دوست عزيز بنظر ميرسه كه روش اجرايي رو درست پياده نكرديد ، بهتره سئوالتون رو در قالب نمونه مطرح كنيد اينطوري سريعتر به پاسخ مورد نظر مي رسيد .

----------


## مهدی قربانی

سلام
فكر مي كنم اين نمونه همون چيزيه كه مورد نظر شماست :

----------


## nasiiim

http://rapidshare.de/files/40142802/2.zip.html لطف می کنید اگه فایل ضمیمه رو نگاه کنید. مشکلاتم و توضیح دادم.

----------


## مهدی قربانی

سلام 
دوست عزيز متاسفانه به دليل فارسي بودن نام فيلدها و اشياء بانك اطلاعاتي شما من قادر به مشاهده درست فايلتون نيستم پس بهتره اين دو كار زير رو انجام بديد تا امكان بررسي و رفع مشكل فراهم بشه :
1 . تبديل فايل به ورژن 2000 تا 2003
2 . تغيير نام فيلدها و اشياء بانك اطلاعاتي از فارسي به انگليسي .

----------


## morteza_lll

سلام دوستان من يه سوال دارم در مورد كار كردن با كمبوباكس
من يك كمبو باكس دارم كه هنگام نمايش 2 ستون را همزمان به كاربر نشان مي دهد و پس از انتخاب مقدار ستون اول در جدول ذخيره مي گردد تا اينجا درست 
حالا من مي خوام به همين روال انجام بشه ولي پس از انتخاب و عبور از كمبوباكس به جاي اينكه مقدار ستون اول نشون داده شود،ستون شماره 2 را نمايش دهد ولي در ديتابيس همان مقدار ستون اول ثبت گردد  ممنون ميسم اگه كسي بتونه كمكم كنه

----------


## مهدی قربانی

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

----------


## morteza_lll

آقا مهدي درسته من دوتا سايز  دارم همينطوري هم ميخوام باشه ولي بد از انتخاب فرد و عبور از كمبوباكس مي خوام كه، جهت نمايش  مقدار ستون دوم درج بشه ولي در ديتابيس مقدار ستون اول ثبت شده است

----------


## مهدی قربانی

در خصوصيت Row Source به نماي SQL‌ برو و جاي فيلدها رو ( ترتيبشون) تغيير بده .

----------


## morteza_lll

سلام آقا مهدي 
نه اينطوري نميخوام
يه فايل پيوست مي ذارم شايد بهتر مشخص كنه من چي مي خوام ممنونم از پاسختون :قلب:

----------


## مهدی قربانی

آقا مرتضي فكر نمي كنم به اون شكلي كه شما مي خواي بشه انجامش داد البته من خيلي روش فكر نكردم ولي احتمالش ضعيفه چون شما كامبو رو باند كردي به جدول نمي توني مقدار ديگه اي رو قرار بدي مگه اينكه UnBound كار كني من فرم aaa رو تو نمونه خودت بصورت UnBound پياده كردم و با استفاده از ركوردست و يك كامند باتون اطلاعات ميره تو جدول ببين مناسب كارت هست ؟

----------


## morteza_lll

آقا مهدي دمت گرم خيلي ممنون كه وقت گذاشتين زحمت كشيدي دوست عزيز 
فكر كنم مي تونم از اين فايل شما ايده بگيرم ولي اگه راه حلي واسه اون حالت يعني باند شده پيدا كردي ما رو هم بي خبر نذار متشكرم از پاسخهايتون

----------


## nabeel

morteza_lll سلام

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

Combo_test.rar

موفق باشید

----------


## hada22

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

----------


## stabesh

سلام 
از DLookUp استفاده کنید

----------


## stabesh

یا این طوری

----------


## hada22

> سلام 
> از DLookUp استفاده کنید


سلام دوست عزیز.ممنونم ازراهنمایی شما.من منظورم همین پاسخ اول شمابود.اگه امکان داره فانکشنی که اسم پدر را ازجدولtable1بگیره ودر تکست باکس فرم قراربده برام بنویسید..تشکرمیکنم ازراهنمایی شما

----------


## stabesh

بفرمایید  :لبخند:

----------


## samuel*

> پیشنهاد اول : ابتدا فرم اصلی رو بصورت عادی (bound ) و با کمبو باکس مربوطه بسازید. بعد سابفرم رو بسازید و فیلد شماره قطعه در فرم اصلی را با فیلد مربوطه (مانند همان فیلد شماره قطعه که در سابفرم  بصورت مخفی قراردارد)در سابفرم لینک کنید. البته این بستگی به جداول و کلید های اولیه شما دارد. بهمین راحتی .اگرهم خواستید می تونید بعد از ذخیره کردن فرم اصلی رو unbound کنید.
> 
> پیشنهاد دوم : استفاده از query به عنوان رکوردسورس سابفرم و قرار دادن شرط دریکی از فیلدهای روش اول 
> که به فرم اصلی و کمبو باکس مربوطه وابسته باشد. بعد در رویداد مورد نظرکمبو باکس (مانندon change یا afterupdate و ...) از فرمان requery استفاده کنید.
> 
> اگر موفق نشدید فرم موردنظر و جداول مربوطه اش رو برام بفرستید.


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

----------


## samuel*

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


 UP!!!!!! :لبخند گشاده!:

----------


## rahapirooz

با سلام.فایل tblselsect رو دان کردم .فقط یک سوال : مقادیر کمبو باکس من به این صورت هستند :هنر .فیزیک .... که میخواستم با انتخاب انها سابفرم مربوط یا جدول مربوط نمایش داده شود.اما در این فایل نام جداول که لاتین هستند نمایش داده میشود که درست نیست برای کاربر اینگونه نمایش داده شود.ممنو میشم  راهنمایی کنید.

----------


## rahapirooz

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

----------


## M@hmoodi

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

----------


## tina.ka

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

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

----------


## aghili.ea

با عرض سلام
اگر بخواهم اطلاعاتی که در یک اکسل دارم به صورت اتوماتیک با زدن یک کد ملی در فرمی که در فایل اکسل دیگر است داشته باشم چه کنم؟

----------


## iransim

> در مثال زیر بعد از انتخاب گزینه ای جدید از Combo متن داخل Text مساوی مقدار ستون دوم Combo که در اینجا با Index شماره 1 مشخص شده است خواهد شد .
> 
> Private Sub Combo_AfterUpdate&#40;&#41;
> Text = Combo.Column&#40;1&#41;
> End Sub
> موفق باشید .


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

----------

