چه جوری با انتخاب یک داده از Combo Box اطلاعات مربوط به اون داده رو ببینم البته توی فرم ؟ :sorry:
Printable View
چه جوری با انتخاب یک داده از Combo Box اطلاعات مربوط به اون داده رو ببینم البته توی فرم ؟ :sorry:
اگر فقط بخواهیم ببینیم می توانیم بین table مربوط به combo box و فیلد مرتبط با آن در table فرم مورد نظر لینکی در یک query بر قرار کرده و فیلد های دلخواه را در آن بیاوریم و qeury ساخته شده را در record source فرم به جای table قبلی قرار دهیم .
حال با اضافه کردن فیلد های منتخب در فرم با هر بار انتخاب یک داده در combo box اطلاعات متناظر با آن در فیلد های اضافه شده به نمایش در می آیند .
اما اگر بخواهیم داده های مرتبط با انتخاب combo box در فیلدهای دیگری درج گردند باید event روی آن بنویسیم .
با تشکر از پاسخ شما اما من منظورم حالت دومی که شما گفتید یعنی می خوام با انتخاب یک داده از combo box فیلد های دیگه موجود در فرم مثل text box ها داده هاشون update بشه .
قبلا از پاسخ شما ممنونم ... :)
در مثال زیر بعد از انتخاب گزینه ای جدید از Combo متن داخل Text مساوی مقدار ستون دوم Combo که در اینجا با Index شماره 1 مشخص شده است خواهد شد .
Private Sub Combo_AfterUpdate()
Text = Combo.Column(1)
End Sub
موفق باشید .
پیشنهاد می کنم قسمت داخل کادر در تصویر زیر را به یک زیر فرم ببرید و بر اساس شماره قطعه بین فرم اصلی و زیر فرم ارتباط را برقرار کنید .
حالا با انتخاب هر قطعه کلیه اطلاعات مرتبط با آن در زیر فرم به نمایش درآمده و قابل تغییر می باشد .
پیشنهاد اول : ابتدا فرم اصلی رو بصورت عادی (bound ) و با کمبو باکس مربوطه بسازید. بعد سابفرم رو بسازید و فیلد شماره قطعه در فرم اصلی را با فیلد مربوطه (مانند همان فیلد شماره قطعه که در سابفرم بصورت مخفی قراردارد)در سابفرم لینک کنید. البته این بستگی به جداول و کلید های اولیه شما دارد. بهمین راحتی .اگرهم خواستید می تونید بعد از ذخیره کردن فرم اصلی رو unbound کنید.
پیشنهاد دوم : استفاده از query به عنوان رکوردسورس سابفرم و قرار دادن شرط دریکی از فیلدهای روش اول
که به فرم اصلی و کمبو باکس مربوطه وابسته باشد. بعد در رویداد مورد نظرکمبو باکس (مانندon change یا afterupdate و ...) از فرمان requery استفاده کنید.
اگر موفق نشدید فرم موردنظر و جداول مربوطه اش رو برام بفرستید.
با سلام خدمت دوستان
می خواستم بدونم که چطوری میشه با زدن حرف اول یه کلمه ، کلمه ای رو که تو کمبو باکسم وجود داره خودش جستجو کنه وبیاره مثلا" در کمبو باکسم اسم (کتاب و خودکار) رو دارم با زدن حرف ک ، کتاب انتخاب شه وبا زدن حرفه خ ، خودکار انتخاب شه.:تشویق:
وقتی کمبو اطلاعات رو از یه جدول می خونه و یا اینکه اطلاعات در قسمت row source وارد شده باشه ( بوند باشه ) بصورت خودکار این اتفاق می افته .
نیاز به تنظیمات خاصی نیست حرف انگوران صحیح است
یه نگاهی بنداز.متوجه میشی:گیج:
دوست عزیز ! روی یکی از تکست باکسهای روی فرم راست کلیک کن و گزینه change to سپس combo box را انتخاب کن بعد در خصوصیت مربوطه و در ردیف row source type انتخاب پیش فرض که همون table/query هست بدون تغییر باقی بمونه و در جلوی row source روی سه نقطه کلیک کن و در کادر باز شده جدولی که می خوای فیلدهای اون سورس کومبو باکس باشه رو انتخاب کن و بعد روی فیلدهای مورد نظر دابل کلیک کن ( فیلد اول و دوم جدول رو انتخاب کن ) و کویری رو ببند و ذخیره کن . پس از اون column count رو به 2 تغییر بده ( دو تا از فیلدهای جدول رو برات نشون می ده ) .
حال اگه بخوای سورس کومبو باکست جدول نباشه و آیتمهائی باشه که خودت وارد می کنی در قسمت row source type گزینه value list رو انتخاب کن و جلوی row source آیتمهای مورد نظر رو بنویس و اونا رو با سی می کالن از هم جدا کن ( مثلاً دیپلم;فوق دیپلم;لیسانس;فوق لیسانس;دکترا )
امیدوارم تونسته باشم مفهوم رو درست برسونم .
با تشکر از شما دو دوست عزیز
اگه شما از نحوه انجام این کار در vb.net هم اطلاع داشته باشید کمک کنید بی نهایت از شما سپاسگزار خواهم شد یعنی توسط کمبو باکس خود vb.net
:لبخندساده:
برای اون فکر کنم باید کد بنویسی تو قسمت textchanged مربوط به کامبو
با سلام
چگونه می توانم در یک textbox یک حرف "فقط یک حرف" و نه "یک کلمه" را تا یپ کنم و سپس اطلاعات مربوط به آن رکورد را در textbox های زیرین یا یک subforme جداگانه که حاوی یک table هست ببینم ؟ امیدوارم که سوالم واضح باشد
و یا با combo ؟؟؟
ببینید من می خواهم در textbox بزنم حرف "د " و بعد از زدن کلید مربوطه مثلا enter یا tab
کلیه کلماتی که با "د " شروع می شود را برایم بیاورد آیا میشود با اکسس ؟
ممنونم.
میشه بیشتر توضیح بدهید . البته این کار را انجام دادم ولی نشد ، منظور شما از کواری
همان query در اکسس هست ؟ که در قسمت Objects می باشد ؟ و سوال دوم اینکه آن کد رادر قسمت RecordSource یا Control Source بنویسم ؟
توضیح ریزتر ممنون می شم ...!
یعنی میشه با انتخاب یک داده از Combo Box که محتوی اسم چند جدول است فیلدهای اون جدول، به صورت سابفرم، در فرم اصلی نمایش داده بشه و قابل ادیت هم باشه؟
سلام
کار نشد که نداریم .......... ولی منظور شما از ادیت و ویرایش فیلدهای جدول چیه؟
سلام
نقداً يك نمونه در مورد استخراج نام فيلدهاي جدول بوسيله كامبو باكس :
https://barnamenevis.org/showpo...06&postcount=8
سلام
منظور ما از ادیت وارد کردن اطلاعات به سابفرم ایجاد شده و همانا ذخیره آنها در جدول مربوطه میباشد.
نام فیلدهای کمبو را که خودم در 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
سلام
دوست عزيز بنظر ميرسه كه روش اجرايي رو درست پياده نكرديد ، بهتره سئوالتون رو در قالب نمونه مطرح كنيد اينطوري سريعتر به پاسخ مورد نظر مي رسيد .
سلام
فكر مي كنم اين نمونه همون چيزيه كه مورد نظر شماست :
http://rapidshare.de/files/40142802/2.zip.html لطف می کنید اگه فایل ضمیمه رو نگاه کنید. مشکلاتم و توضیح دادم.
سلام
دوست عزيز متاسفانه به دليل فارسي بودن نام فيلدها و اشياء بانك اطلاعاتي شما من قادر به مشاهده درست فايلتون نيستم پس بهتره اين دو كار زير رو انجام بديد تا امكان بررسي و رفع مشكل فراهم بشه :
1 . تبديل فايل به ورژن 2000 تا 2003
2 . تغيير نام فيلدها و اشياء بانك اطلاعاتي از فارسي به انگليسي .
سلام دوستان من يه سوال دارم در مورد كار كردن با كمبوباكس
من يك كمبو باكس دارم كه هنگام نمايش 2 ستون را همزمان به كاربر نشان مي دهد و پس از انتخاب مقدار ستون اول در جدول ذخيره مي گردد تا اينجا درست
حالا من مي خوام به همين روال انجام بشه ولي پس از انتخاب و عبور از كمبوباكس به جاي اينكه مقدار ستون اول نشون داده شود،ستون شماره 2 را نمايش دهد ولي در ديتابيس همان مقدار ستون اول ثبت گردد ممنون ميسم اگه كسي بتونه كمكم كنه
سلام
مرتضي جان در خصوصيت Column With كامبو شما احتمالاً 2 تا سايز مثل 2.54cm;2.54cm داري ، براي حالت مورد نظر بايد سايز ستون اولي رو صفر كني تا فقط در موقع نمايش ستون دوم ديده بشه .
آقا مهدي درسته من دوتا سايز دارم همينطوري هم ميخوام باشه ولي بد از انتخاب فرد و عبور از كمبوباكس مي خوام كه، جهت نمايش مقدار ستون دوم درج بشه ولي در ديتابيس مقدار ستون اول ثبت شده است
در خصوصيت Row Source به نماي SQL برو و جاي فيلدها رو ( ترتيبشون) تغيير بده .
سلام آقا مهدي
نه اينطوري نميخوام
يه فايل پيوست مي ذارم شايد بهتر مشخص كنه من چي مي خوام ممنونم از پاسختون:قلب:
آقا مرتضي فكر نمي كنم به اون شكلي كه شما مي خواي بشه انجامش داد البته من خيلي روش فكر نكردم ولي احتمالش ضعيفه چون شما كامبو رو باند كردي به جدول نمي توني مقدار ديگه اي رو قرار بدي مگه اينكه UnBound كار كني من فرم aaa رو تو نمونه خودت بصورت UnBound پياده كردم و با استفاده از ركوردست و يك كامند باتون اطلاعات ميره تو جدول ببين مناسب كارت هست ؟
آقا مهدي دمت گرم خيلي ممنون كه وقت گذاشتين زحمت كشيدي دوست عزيز
فكر كنم مي تونم از اين فايل شما ايده بگيرم ولي اگه راه حلي واسه اون حالت يعني باند شده پيدا كردي ما رو هم بي خبر نذار متشكرم از پاسخهايتون
morteza_lll سلام
فایل اصلاح شده مد نظر شما
ضمیمه 33188
موفق باشید
سلام دوستان عزیز.غرض از مزاحمت.من یه جدول دارم به اسمtable1کهتواون اطلاعات فردی چند نفررانوشتم.
حالایه فرم دارم که تو اون یه کمبوباکس دارم که شامل اسامی موجود در جدولtable1میشه.حالا میخوام با آوردن هر کدوم از اسامی تو فیلدی که مثلا با نام (نام پدر) گذاشتم،نام پدر اون فرد درجدول table1بیاد.تو مثال زیرمنظورم را بهتر میفهمیدوممنون میشم از راهنماییتون.
سلام
از DLookUp استفاده کنید
یا این طوری
بفرمایید :لبخندساده: