سلام
من می خوام در کریستال ریپورت اطلاعاتم رو بر اساس یک فیلد مرتب کنم
راهی وجود داره که بشه این کارو کرد ؟
مثلا از طریق formula یا چیزی مثل اون
سلام
من می خوام در کریستال ریپورت اطلاعاتم رو بر اساس یک فیلد مرتب کنم
راهی وجود داره که بشه این کارو کرد ؟
مثلا از طریق formula یا چیزی مثل اون
یکی کمک کنه لطفا
سلام
شما می تونی توی همون کوئری ای که به عنوان منبع به کریستال می فرستی, مشخص کنی که خروجی ها بر اساس کدوم فیلد مرتب شوند. مثلا :
select * from tbl_name order by field_name
موفق باشید
اینو میدونم دوست عزیز ولی من مشکلی دارم که باید توی کریستال اینکارو بکنم
توی بانکم رکورد تکراری ندارم فقط توی کریستال تکراری نشون میده
از supress duplicate استفاده کردم تا تکراری ها رو حذف کنم ولی فقط وقتی حذف میکنه که پشت هم تکرار شده باشند
برای همین میخوام مرتب کنم تا تکراری ها پشت هم قرار بگیرن
اینکه توی بانک رکورد تکراری وجود نداره اما توی گزارش تکراری نشون میده باید رفع شه, نه اینکه بخواین با ترفندهایی رکوردهای تکراری نشون داده شده توی گزارش رو حذف کنید!! برنامه رو اگه ممکنه بزارید تا ببینیم چکار کردید.
میدونم مشکل کجاست ولی نتونستم حلش کنم
من از دو جدول گزارش تهیه کردم
ولی فیلدی که مربوط به جدولی هست که تعداد رکورد کمتری داره تا پایان گزارش تکرار میشه
به عنوان مثال اگه فیلد مربوط به جدول یک 20 تا رکورد داشته باشه و فیلد جدول دو 5 تا رکورد این 5 رکورد
4 بار تکرار میشن تا کل گزارش رو پر کنن
فقط وقتی درست کار میکنه که تعداد هردو یکسان باشه
این دو جدول هیچ ربطی به هم ندارن یعنی هیچ لینکی بینشون نیست
به احتمال زیاد شما توی الحاق کردن جدولاتون دچار اشتباه شدید. به الحاق چپ و راست و کامل دقت کنید.
اصلا جوین نکردم
دو تا جدول جدا هستند
اگه جوین نکردید پس چجوری از جفتش توی گزارش استفاده کردین ؟!!
از جفتش توی دیتابیس دارم
به خاط همینه که خروجیش به این شکل دراومده دیگه! باید حتما الحاق بشه آخه.
ببین میتونی کمکم کنی
کارم خیلی گیره
ببخشید, چقدر ناجور نوشتید!! افزونگی داده ها به این روشی که شما رفتید خیلی زیاد میشه و کارتون رو هم سخت کردید!! می تونستید که تیبل برای اعضا در نظر بگیرید و برای بقیه تیبل ها مثل hozur و یا marasemat فقط کد عضو رو بیارید. الان این جوین هم نمیشه که !! بشه هم فایده نداره.
اینو تست کنید :
DA = New SqlDataAdapter("select * from hozur,marasemat where hozur.cod = '" + cod + "' and marasemat.code=hozur.code and hozur.tik like N'غايب' ", SC)
DS = New DataSet()
If SC.State = ConnectionState.Closed Then
SC.Open()
End If
DR.Close()
DA.Fill(DS, "hozur")
Dim CR As New kholasev
CR.SetDataSource(DS)
Dim f As New frm_print
f.CrystalReportViewer1.ReportSource = CR
f.ShowDialog()
این به چه زبانیه ؟
من با سی شارپ کار میکنم
تنها کاری که تونستم بکنم استفاده از ساب ریپورته که اونم گزارش خوبی نمیده
مثل یک گزارش
به سی شارپ تبدیل کن, کاری نداره.
اگه برنامه خیلی بزرگ نیست و زیاد جلو نرفته, به نظر من از اول شروع کن و اصولی کار کن. چون با این وضع در آینده به مشکلات بزرگتری بر می خوری و کارت سخت تر میشه.
برنامه تموم شده فقط گیر همینم
خیلی هم بزرگه که نمیشه به این آسونی اصلاحش کرد
به هر حال از راهنماییت ممنونم