PDA

View Full Version : سوال: اجرای دوشرط



amirkazem
چهارشنبه 13 خرداد 1394, 00:53 صبح
باسلام ضمن تبریک نیمه شعبان ولادت باسعادت امام عصرعج الله
میخواهیم بااستفاده ازیک کومبوباکس وازیک پایگاه داده اکسس اطلاعات شغل اولیارااستخراج کنیم.به این صورت که شغلی که کد آن شغل ازآیتمهای کومبوانتخاب میشودوبااین شرط مضاعف که نسبت ولی بادانش آموز یکی ازگزینه های (1=پدر و2=مادر و...) باشد.خلاصه اینکه دوشرط درselectداشته باشیم.
لطفاً راهنمایی بفرمایید.(کددررویداد (On Change)کومبوباکس نوشته میشود.



var s:string;
begin
case ComboBox2.ItemIndex of
0:s:=QuotedStr('0');
1:s:=QuotedStr('1');
2:s:=QuotedStr('2');
3:s:=QuotedStr('3');
4:s:=QuotedStr('4');
5:s:=QuotedStr('5');
6:s:=QuotedStr('6');
7:s:=QuotedStr('7');
8:s:=QuotedStr('8');
9:s:=QuotedStr('9');
10:s:=QuotedStr('10');
11:s:=QuotedStr('11')+'or'+QuotedStr('0')+'or'+Quo tedStr('1') +'or'+QuotedStr('2')+'or'+QuotedStr('3')+' or '+QuotedStr('4')+'or'+QuotedStr('5')+' or '+QuotedStr('6')+
' or ' +QuotedStr('7')+'or'+QuotedStr('8')+'or'+QuotedStr ('9')+' or '+QuotedStr('10')+'or'+QuotedStr('11') ;
end;
begin
ADOQuery1.SQL.Clear ;
ADOQuery1.SQL.Add('select* from((((((student s inner join payeh p on s.payeh=p.code_p)'+
' inner join [class] c on s.class_name=c.code_class)'+
' inner join parents pa on s.melli_code=pa.melli_code)'+
' inner join nesbat n on pa.nesbat=n.cod)'+
' inner join shoghl sh on pa.shoghl=sh.cod_shoghl)'+
' where (sh.cod_shoghl='+s)' + ' and pa.nesbat=1)' +
' order by s.f_name asc';
ADOQuery1.Open;
form10.Caption :=('والدین دارای شغل' +' ' +QuotedStr(ADOQuery1name_shoghl.Text));
Edit1.Text :=inttostr(ADOQuery1.RecordCount);



اشکال فقط درقسمت شرط میباشد. لطفاً راهنمایی بفرمایید

Mahmood_M
چهارشنبه 13 خرداد 1394, 14:48 عصر
این تاپیک (http://barnamenevis.org/showthread.php?487847-%D9%86%D9%88%D8%B4%D8%AA%D9%86-%DA%A9%D9%88%D8%A6%D8%B1%DB%8C-%DA%86%D9%86%D8%AF%DB%8C%D9%86-%D8%B4%D8%B1%D8%B7) رو ببینید
...
* نیازی نیست در دستور Case تمام مقادیر چک بشه ، چون در همه ی موارد مقدار ItemIndex در رشته S قرار گرفته ، می تونید مثلا به صورت زیر بنویسید :


case ComboBox2.ItemIndex of
0..10 : s := QuotedStr(IntToStr(ComboBox2.ItemIndex))
11:s:=QuotedStr('11')+'or'+QuotedStr('0')+'or'+Quo tedStr('1') +'or'+QuotedStr('2')+'or'+QuotedStr('3')+' or '+QuotedStr('4')+'or'+QuotedStr('5')+' or '+QuotedStr('6')+
' or ' +QuotedStr('7')+'or'+QuotedStr('8')+'or'+QuotedStr ('9')+' or '+QuotedStr('10')+'or'+QuotedStr('11') ;
end;

amirkazem
پنج شنبه 14 خرداد 1394, 11:23 صبح
جناب mohammah_m ضمن تشکرازپاسختون
مشکل اینجانب مربوط به قسمت شرط بودکه حل کردم.ازراهنماییتون درموردcaseهم تشکرمیکنم.

Mahmood_M
پنج شنبه 14 خرداد 1394, 15:44 عصر
جناب mohammah_m ضمن تشکرازپاسختون
مشکل اینجانب مربوط به قسمت شرط بودکه حل کردم.ازراهنماییتون درموردcaseهم تشکرمیکنم
خواهش می کنم
جواب بنده و تاپیکی که لینکش رو گذاشتم هم در مورد قسمت شرط بود
لطفا برای تشکر از کاربران سایت ، از دکمه ی "تشکر" استفاده کنید ، نیازی به نوشتن پست برای تشکر نیست
موفق باشید