ورود

View Full Version : کمبو باکس با قابلیت ثبت رکورد



look20
یک شنبه 23 اسفند 1388, 07:55 صبح
با سلام و خسته نباشید چطور میشه کمبو باکسی تعریف کرد که چند تا انتخاب داشته باشه و بعد یه دکمه داشته باشی و براساس انتخابی که از کمبو کردی یه دستور خاصی رو اجرا کنه

مثلا سه حالت عالی و خوب و بد

اگه عالی انتخاب شد و روی دکمه کلیک کردی رکورد بعدی رو بیاره

و اگه خوب انتخاب شد و روی دکمه کلیک کردی رکورد قبلی رو بیاره

و...

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

aminghaderi
یک شنبه 23 اسفند 1388, 08:34 صبح
سوالتون واضح نیست ! بیشتر توضیح بدین!
می خواین توی کمبو باتون بزارین؟؟؟
یا می خوان وقتی گزینه ای انتخاب می کنید همون لحظه یه رویداد اجرابشه؟؟؟
اگه گزینه دوم مدنظرته یه رویداد کمبو چنج اگه اشتباه نکنم باید استفاده کنی ، تا وقتی گزینه کمبو تغیر کرد اون رویداد اجرا بشه ، با یه ساختار select می تونی گزینه انتخاب شده رو تشخیص بدی و عملیات مربوط رو انجام بدی.
گزینه اول هم در زبون های دیگه امکان پذیر هست (با استفاده از تکنیک های وراثت و...) ولی توی vb6 و نمی دونم.

look20
یک شنبه 23 اسفند 1388, 10:10 صبح
سوالتون واضح نیست ! بیشتر توضیح بدین!
می خواین توی کمبو باتون بزارین؟؟؟
یا می خوان وقتی گزینه ای انتخاب می کنید همون لحظه یه رویداد اجرابشه؟؟؟
اگه گزینه دوم مدنظرته یه رویداد کمبو چنج اگه اشتباه نکنم باید استفاده کنی ، تا وقتی گزینه کمبو تغیر کرد اون رویداد اجرا بشه ، با یه ساختار select می تونی گزینه انتخاب شده رو تشخیص بدی و عملیات مربوط رو انجام بدی.
گزینه اول هم در زبون های دیگه امکان پذیر هست (با استفاده از تکنیک های وراثت و...) ولی توی vb6 و نمی دونم.
با تشکر می خوام یه دکمه یه جای فرم بزارم و یه کمبو یه جای دیگه صفحه وقتی مثلا توی کمبوعدد 1-2-3 قرار داده شده اگه شماره 1 رو انتخاب کردم بعد روی دکمه ساخته شده فرم کلیک کزدم مثلا بره رکورد قبلی
اگه شماره 2 بره رکورد بعدی
در واقع من نمیدونم اولا چطور داخل یه کمبو چندتا مقدار وارد کنم بعدش چطور بین این مقدارها و دکمه رابطه بزارم

aminghaderi
یک شنبه 23 اسفند 1388, 13:57 عصر
بابا این که دیگه کارنداره!!!!
من 2 یا 3 سالی هست با vb6 کار نکردم ولی می دونم مثل آب خردن می تونی این کارو انجام بدین.
الگریتمش این طور که شما توسط یه پروپرتی از پروپرتی های کمبو فکر کنم اینجوریه:




combobox1.add("عنوان ایتم مورد نظر")




و بعد توسط یه پروپرتی می تونی تشخیص بدی که کدوم ایتم الان انتخاب شده:




combo1.selected



و بعدم که داخل اون رویداد باتون کلیک ، باتونی که اظافه کردین ، یه شرط بزارین:




if combobox1.selected = 1 then
textbox1.text="it is 1"

if combobox1.selected = 2 then
textbox1.text="it is 2"

if combobox1.selected = 3 then
textbox1.text="it is 3"




همین.
ببخشید من شبه کد نوشتم چون حقیقتش یادم رفته سنتکس وبی 6 رو .
اما همین مورد هایی که گفتم انجام بدیم با گزینه های درستش (مثلا شاید combo1.select باشه combo1.selectedtext) و احتمالا مشکلتون حل میشه .

look20
یک شنبه 23 اسفند 1388, 15:31 عصر
سلام و تشکر ببخشید دوست عزیز راستش من موندم چطور کمبو مقدار بدم شما کد نوشتید که مثلا اگه 1 شد فلان پیغام اگه 2 شد فلان پیغام و.. ولی من راستش بلد نیستم توی خود کمبو این مقدارو قرار بدم یعنی 1-2-3 رو چطور توی کمبو بزارم

aminghaderi
دوشنبه 24 اسفند 1388, 10:28 صبح
گفتم که یه دستوری تو این مایه ها داره:


combobox1.add("عنوان ایتم مورد نظر")


عنوان ایتم همون چیزی هست که می خواین به کمبو اضافه کنید .

look20
دوشنبه 24 اسفند 1388, 12:13 عصر
گفتم که یه دستوری تو این مایه ها داره:

عنوان ایتم همون چیزی هست که می خواین به کمبو اضافه کنید .
کجا کدشو بزارم ؟!

amir.mehrvarz
دوشنبه 24 اسفند 1388, 20:08 عصر
با سلام و احترام
دوست عزيز ديتا كومبو مثل كومبوباكس نيست كه بتوني داده به آن اضافه كني .فقط مي تواني با اون داده هاي مربوط به يك بانك اطلاعاتي مثل اكسس (كه قبلا ايجاد كرده ايد) رو نشان بدي.
به عنوان مثال فرض كن قبلا يكسري داده در يك ديتابيس ريختي و حالا مي خواي فيلد يك جدول رو در ديتا كومبو نشون بده. به صورت زير عمل مي كني .


Set Datacombo1.RowSource = select field1 from table1
Datacombo1.ListField = field1

polisoftco
سه شنبه 25 اسفند 1388, 01:54 صبح
دوست عزیز برای مقداردهی به کومبوباکس شما ابتدا کنترلتون رو انتخاب کنین سپس توقسمت پروپرتیس گزینه لیست روانتخاب کن که یک لیست بازشو نمایش داده میشه که مقدار مورد نظر رو توش بنویس واسه مقدار دوم شما باید کلیدهای Ctrl+Enter رو باهم بفشارین تا به خط بعدی بره ومقداردوم رو وارد کن، الاآخر ...


http://barnamenevis.org/forum/attachment.php?attachmentid=45711&stc=1&d=1268693617

واسه انتخاب مقدار و انجام رویداد یک کلید شما کد زیر رو درون رویداد کلیدتون بنویسین :
(این کد واسه سه مقدار هستش)
بجای MsgBox Combo1.Text شما دستوری که میخاین اجرا بشه رو بنویسین



Private Sub cmdOK_Click()
If Combo1.ListIndex = 0 Then
MsgBox Combo1.Text
End If

If Combo1.ListIndex = 1 Then
MsgBox Combo1.Text
End If

If Combo1.ListIndex = 2 Then
MsgBox Combo1.Text
End If

End Sub