PDA

View Full Version : نشان ندادن مقادیر خالی فیلد در کمبوباکس



mahdi_7610
چهارشنبه 12 تیر 1392, 14:00 عصر
سلام دوستان

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

danialafshari
چهارشنبه 12 تیر 1392, 14:21 عصر
سلام
شما با استفاده از یک پرس و حو خیلی راحت می تونید این کار رو انجام بدید
SELECT ID, name, family, tel1, tel2, address
FROM dbo.moshtari
WHERE (family <> '')

به جای family من ، فیلد ComboBox رو قرار بدید

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

mahdi_7610
چهارشنبه 12 تیر 1392, 23:34 عصر
سلام
نه این مشکل را حل نکرد.
من توی جدول مقادیر را ثبت می کنم. اما نمیخوام کاربر همه فیلدها را پر کنه.
حالا اگه کاربر عمل ثبت را انجام بده بعضی از فیلدها خالی ثبت می شن
حالا یکی از فیلدها قراره مقادیرش توی کبوباکس نمایش داده بشه. میخوام مقادیر خالی توی کمبوباکس نمایش داده نشه.
مثلا اگه 10 تا رکورد است و سه تا از رکوردها خالی هستش اون سه تا رکورد خالی توی کبوباکس نشون داده نشه.

m.webgard
چهارشنبه 12 تیر 1392, 23:59 عصر
سلام
نه این مشکل را حل نکرد.
من توی جدول مقادیر را ثبت می کنم. اما نمیخوام کاربر همه فیلدها را پر کنه.
حالا اگه کاربر عمل ثبت را انجام بده بعضی از فیلدها خالی ثبت می شن
حالا یکی از فیلدها قراره مقادیرش توی کبوباکس نمایش داده بشه. میخوام مقادیر خالی توی کمبوباکس نمایش داده نشه.
مثلا اگه 10 تا رکورد است و سه تا از رکوردها خالی هستش اون سه تا رکورد خالی توی کبوباکس نشون داده نشه.
سلام دوست عزیز
Select * From TableName
Where MyField IS NOT NULL
به جای TableName عنوان جدول و به جای MyField عنوان فیلد مورد نظرتون رو وارد کنید
موفق باشید.

mahdi_7610
پنج شنبه 13 تیر 1392, 11:54 صبح
سلام دوست عزیز
Select * From TableName
Where MyField IS NOT NULL
به جای TableName عنوان جدول و به جای MyField عنوان فیلد مورد نظرتون رو وارد کنید
موفق باشید.

سلام
نه اینم جوابگو نیست.

Select EducationS,EducationT From Setting Where EducationS IS NOT NULL

hamid_hr
پنج شنبه 13 تیر 1392, 12:01 عصر
Select * From TableName
Where isnull(MyField,'') <> ''

mahdi_7610
پنج شنبه 13 تیر 1392, 12:30 عصر
سلام
ممنون این مورد جواب داد.
البته در شرایط زیر

Select EducationSS,EducationTS From Setting Where ISNULL(EducationSS ,'') <> ''
ولی باز یه مشکل هست
اگر یک ستون داشته باشیم جواب میده

اما برای دوتا ستون جوابگو نیست


Select EducationSS,EducationTS From Setting Where ISNULL(EducationSS ,'') <> '' and ISNULL(EducationTS ,'') <> ''
توی این حالت اگر هر دوتا فیلد خالی باشن ، اون فیلد نمایش داده نمیشه .


Select EducationSS,EducationTS From Setting Where ISNULL(EducationSS ,'') <> '' OR ISNULL(EducationTS ,'') <> ''

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

hamid_hr
پنج شنبه 13 تیر 1392, 12:33 عصر
خب ميخواي شرطش چي باشه

mahdi_7610
پنج شنبه 13 تیر 1392, 12:38 عصر
من تعدادی TextBox دارم که از طریق اونها عمل درج توی جدول انجام میشه. مشکلی از این بابت نیست.
اما کاربر ممکنه بعضی از TextBox ها را خالی بزاره و در این شرایط توی اون فیلدها چیزی درج نخواهد شد.

حالا من فیلدهای همین جداول را توی کمبوباکس های مختلف می ریزم. از طریق دستور select و در قالب Table Function ها
من میخوام وقتی کمبوباکس ها از داخل جدول اون فیلدها را میخونن مقادیر خالی را توی کمبوباکس نشون ندن

الان توی این مثال میخوام EducationSS مقادیرش را توی کبوباکس 1 نشون بدم و EducationTS را میخوام بریزم توی کبوباکس 2

Select EducationSS,EducationTS From Setting Where
حالا چی شرطی بنویسم که برای EducationSS مقادیر خالی توی کبوباکس 1 نشون داده نشه و برای EducationTS نیز به همین صورت . یعنی مقادیر خالی توی کبوباکس 2 نشون داده نشه .
فقط این شرط درست بشه همه چیز حله .

ممنون از وقتی که می زارید.

hamid_hr
پنج شنبه 13 تیر 1392, 12:45 عصر
به نظر من تو بايد به ازاي هر كدوم از كومبو هات يك سلكت جدا بنويسي
يا بدون شرط سلكتو بنويسي وقتي ميخواي به كومبو اضافه كني چك كني اگه خالي بود اضافه نشه

mahdi_7610
پنج شنبه 13 تیر 1392, 12:50 عصر
Create Function Fun_Search_Setting(@EducationSS nvarchar(50),@EducationTS nvarchar(50))
returns table
AS
return(Select EducationSS,EducationTS From Setting Where ISNULL(EducationSS ,'')<> '')
دوتا Select قبول نمی کنه .