
نوشته شده توسط
sharifi_hossein
باسلام
من می خوام کد اسکوالی بنویسم که اگر شرط 1 برقرار بود ستون 1 و اگر شرط 2 برقرار بود ستون 2 در گزارش بیاید و اگر هردو برقرار باشد هردو ستون در گزارش بیاید
یعنی ستونهایی که می خواهیم در گزارش بیاید وابسته به یک شرط باشد
یعنی یه چیزی مثل این
select (if a=1 then colum1 else if b=2 colum2 ) from table1
که اگر هردو شرط برقرار بود دو ستون 1 و 2 در گزارش بیاید
لطفا یاریییییی برسانید
سلام و روز خوش
مشخص نکردین که این دستور SQL کجا قرار هست استفاده بشه:
1- اگر در یک کوئری اکسس هست که a و b پارامترهای اون هستن که این مطلقا نشدنیه!
البته همین در MS SQL به راحتی قابل انجامه
2- اگر قرار هست با VBA ساخته بشه (مثلا برای سورس یک رکوردست یا فرم یا ریپورت یا حتی ساخت یک کوئری) که خب مشکلی نداره:
FUNCTION MakeSQL(a AS INTEGER , b AS INTEGER) AS STRING
CONST SQL="SELECT @FIELDS FROM table1"
DIM fields AS STRING
IF a=1 AND b=1 THEN
fields="column1, column2"
ELSEIF a=1 AND b=0 THEN
fields="column1"
ELSEIF a=0 AND b=1 THEN
fields="column2"
ELSE
fields="*"
END IF
MakeSQL=REPLACE(SQL , "@FIELDS" , fields)
END FUNCTION