PDA

View Full Version : تهیه گزارش پارامتری با استفاده از کمبو باکس



soroush_k12
چهارشنبه 19 اسفند 1388, 20:39 عصر
با سلام خدمت دوستان عزیز
در نمونه پیوست من میخواهم یک گزارش پارامتری تهیه کنم ولی برای تهیه آن به جای استفاده از تقاضای پارامتری که کاربر می بایست در آن تایپ نماید، در اینجا موارد را از کمبو باکس انتخاب میکند و دیگر نیاز به تایپ نیست.
لطفا در صورت امکان نمونه را اصلاح نمایید
با تشکر فراوان از توجه شما

انگوران
پنج شنبه 20 اسفند 1388, 08:09 صبح
علاوه بر گزارش ، كمبو باكس هم دستكاري شده .

karmand
پنج شنبه 20 اسفند 1388, 08:35 صبح
اين event را به ريپورتت اضافه كن

Private Sub Report_Open(Cancel As Integer)
Dim strsql As String
strsql = "select * from table3 where sharh='" & Forms!form1!Combo0.Column(1) & "'"
MsgBox (strsql)
Me.RecordSource = strsql
End Sub


اين كار ما اشتباه است كه برنامه را درست ميكنيم و برميگردانيم
فقط بايد راهنمايي كنيم تا خودتان تلاش كنيد
مثلا در رابطه با سئوال بالا بهتر است فقط بگوييم
ركورد سورس ريپورتت را با دستور اسكيو ال با شرط مساوي بودن با كمبو انجام بده
اين كار باعث تلاش و يادگيري بيشتر شما ميشود
ولي اكثرا مهي اماده به دوستان ميدهند نه ماهي گيري

soroush_k12
پنج شنبه 20 اسفند 1388, 08:48 صبح
اين event را به ريپورتت اضافه كن

Private Sub Report_Open(Cancel As Integer)
Dim strsql As String
strsql = "select * from table3 where sharh='" & Forms!form1!Combo0.Column(1) & "'"
MsgBox (strsql)
Me.RecordSource = strsql
End Sub


اين كار ما اشتباه است كه برنامه را درست ميكنيم و برميگردانيم
فقط بايد راهنمايي كنيم تا خودتان تلاش كنيد
مثلا در رابطه با سئوال بالا بهتر است فقط بگوييم
ركورد سورس ريپورتت را با دستور اسكيو ال با شرط مساوي بودن با كمبو انجام بده
اين كار باعث تلاش و يادگيري بيشتر شما ميشود
ولي اكثرا مهي اماده به دوستان ميدهند نه ماهي گيري

سلام دوست عزیز
درهر صورت از توجه شما دو عزیز بزرگوار ممنونم

soroush_k12
پنج شنبه 20 اسفند 1388, 10:02 صبح
[quote=karmand;929825]اين event را به ريپورتت اضافه كن

Private Sub Report_Open(Cancel As Integer)
Dim strsql As String
strsql = "select * from table3 where sharh='" & Forms!form1!Combo0.Column(1) & "'"
MsgBox (strsql)
Me.RecordSource = strsql
End Sub


سلام جناب اقای karmand
از بابت کد شما ممنونم 2 تا سوال دیگر هم دارم:
1- در کد نوشته شده شما در صورت خالی بودن کمبو هیچ رکوردی نشان داده نمیشود ولی من میخواهم که تمام رکورد ها لیست شوند . در کد چه تغییری باید بدهم؟
2- در صورتی که بخواهم به جای یک کمبو از چند کمبو برای ANDکردن شرطها(چند فیلد دیگر) استفاده کنم چه تغییر ی باید در کد داد؟(در صورت خالی بودن شرط هر کمبو آن شرط درنظر گرفته نشود و شرطهای دیگر لحاظ شود .در صورت خالی بودن تمام کمبوها تمام رکورها نشان داده شوند)
با تشکر فراوان از دوستانی که همکاری می نمایند

karmand
پنج شنبه 20 اسفند 1388, 10:37 صبح
در قسمت شرط بعد از where از iif استفاده كن

iif(isnull([نام فيلد]=true;"نام فيلد";forms!form1!combo0.colmumn(1)

از nz
نيز ميتواني براي خالي بودن استفاده كني 2 دستور را جستجو كن پيدا مي كني
براي جواب سئوال دومي در قسمت sql اگر توجه كني من قسمت ثابت دستورات را با قسمت متغير با علامت & جمع كردم و يك رشته تشكيل دادم و استفاده كردم قسمت ثابت را بين 2 گيومه و بعد علامت & و بيع مسير متغير حالا and_or_between و غيرو نيز قسمت ثابت دستورات sql هستند پس بين 2 گومه قرار بده


where a=" & forms!form1!text1 & "and b=" & forms!form1!text2
ضمنا يادت باشد براي متغيرهاي رشتهاي بايد از تك كتيشن استفاده كني مانند مثال خودت
ولي براي متغيرهاي عددي تك كتيشن را نگذار

soroush_k12
پنج شنبه 20 اسفند 1388, 20:16 عصر
در قسمت شرط بعد از where از iif استفاده كن

iif(isnull([نام فيلد]=true;"نام فيلد";forms!form1!combo0.colmumn(1)

از nz
نيز ميتواني براي خالي بودن استفاده كني 2 دستور را جستجو كن پيدا مي كني
براي جواب سئوال دومي در قسمت sql اگر توجه كني من قسمت ثابت دستورات را با قسمت متغير با علامت & جمع كردم و يك رشته تشكيل دادم و استفاده كردم قسمت ثابت را بين 2 گيومه و بعد علامت & و بيع مسير متغير حالا and_or_between و غيرو نيز قسمت ثابت دستورات sql هستند پس بين 2 گومه قرار بده


where a=" & forms!form1!text1 & "and b=" & forms!form1!text2
ضمنا يادت باشد براي متغيرهاي رشتهاي بايد از تك كتيشن استفاده كني مانند مثال خودت
ولي براي متغيرهاي عددي تك كتيشن را نگذار

سلام دوست عزیز
از راهنمایی شما ممنونم ولی من اطلاعات زیادی در خصوص کد نویسی ندارم
اگر امکان دارد نمونه پیوست را که نمونه کاملتری است اصلاح بفرمایید
از توجه تان بسیار ممنونم

soroush_k12
شنبه 22 اسفند 1388, 08:57 صبح
سلام
کسی از دوستان در خصوص اصلاح نمونه نظری نداره؟

karmand
شنبه 22 اسفند 1388, 09:22 صبح
حالا كه قرار است برنامه را درست كنم روش خودم را براي گزارش گيري ميگذارم شايد بدرد ديگران نيز بخورد

soroush_k12
شنبه 22 اسفند 1388, 17:41 عصر
حالا كه قرار است برنامه را درست كنم روش خودم را براي گزارش گيري ميگذارم شايد بدرد ديگران نيز بخورد
سلام اقای karmand
نمونه بسیار جالب و کاملی بود از توجه تان ممنونم