PDA

View Full Version : combobox



b_ghost2005
دوشنبه 25 تیر 1386, 08:42 صبح
دوستان سلام
توی برنامه از یه comobox‌استفاده کردم که دو آیتم فعال و غیر فعال دارد.
این فیلد در بانک به صورت bit تعریف شده. نمی دونم چه جوری وفتی تو برنامه فیلد رو مقدار می دم در بانک مقدار 0 یا 1 قرار بگیره. کد زیر رو که نوشتم اجرا نمی کنده . ممکن راهنماییم کنید.



function insert ( ) as boolean
dim ActiveID as int16
IF isnothing (cmbactive.selectedItem) then
ActiveID = 0
else
ActiveID = cmbactive.selectedItem.value
end if
dim s as string
s = " insert into table1 (............., ISActive , ................) values " (................., IIS(( ActiveID = 0 ) ,"NULL",ActiveID

MajerajooyeKhallagh
دوشنبه 25 تیر 1386, 09:13 صبح
دوستان سلام
توی برنامه از یه comobox‌استفاده کردم که دو آیتم فعال و غیر فعال دارد.
این فیلد در بانک به صورت bit تعریف شده. نمی دونم چه جوری وفتی تو برنامه فیلد رو مقدار می دم در بانک مقدار 0 یا 1 قرار بگیره. کد زیر رو که نوشتم اجرا نمی کنده . ممکن راهنماییم کنید.



function insert ( ) as boolean
dim ActiveID as int16
IF isnothing (cmbactive.selectedItem) then
ActiveID = 0
else
ActiveID = cmbactive.selectedItem.value
end if
dim s as string


s = " insert into table1 (............., ISActive , ................) values " (................., IIS(( ActiveID = 0 ) ,"NULL",ActiveID

دوست عزیز
فیلد از نوع bit فقط میتواند مقدار 0 یا 1 بپذیرد,بنابراین شما باید به جای کد زیر
ActiveID = cmbactive.selectedItem.value
کد

ActiveID = cmbactive.selectedindex
را قرار دهید
که اگر شما آیتمهای درون Cmb را به ترتیب فعال و غیرفعال قرار داده باشید,با انتخاب گزینه فعال,مقدار 0 و با انتخاب گزینه غیرفعال,مقدار 1 در Selectedindex قرار میگیرد

b_ghost2005
سه شنبه 26 تیر 1386, 11:35 صبح
از راهنماییتون ممنون. ولی یه مشکلی هست اینکه اگه فقط قسمتی که شما گفتید رو تغییر بدم پیغام میده که نم یتونه null در IActive ذخیره کنه . در کد به 0 تغییر دادم ذخیره می کنه منتها بر حسب اینکه 0 یا 1 است به هنگام خواندن در combo قبل از آیتم های فعال و غیر فعال true یا false رو نشان می ده و فرم هنگ می کنه و باید از داخل source برنامه را بست.
در مورد rediobuttom چطور ؟
لطفا راهنماییم کنید. شرمنده سئوالای پایه ای می پرسم . چون تازه دارم کار با vb.net رو شروع کردم.

ghafoori
سه شنبه 26 تیر 1386, 13:32 عصر
دوست عزیز اگر فیلد Bit باید توسط مقدار متغییر ActiveID پر بشود چرا بجای شرط else چرا مقدار ActiveID را برابر 1 قرار نمی دهید ایا من درست فهمیدم یا شما منظور دیگری دارید

b_ghost2005
چهارشنبه 27 تیر 1386, 10:31 صبح
در بانک درست ذخیره می کند یعنی وقتی فعال رو انتخاب می کنم 1 و وقتی غیر فعال 0 مشکل وقتی که وی خواد اطلاعات بانک رو در فرم نمایش بده به جای اینکه برای مقدار 1 در بانک آیتم فعال رو در COMBO فرم نشان دهد آیتم TRUE رو به ابتدای ایتم های COBO نشان می دهد و چون این ایتم در خود SOURCE تعریف نشده فرم هنگ می کنه.
اگر راه دیگری برای استفاده از COMBO بلدید میشه راهنماییم کنید. خیلی فوریه