View Full Version : سوال: مرتب کردن بر اساس یک فیلد در کریستال
amin mohamadi
جمعه 20 آبان 1390, 15:07 عصر
سلام
من می خوام در کریستال ریپورت اطلاعاتم رو بر اساس یک فیلد مرتب کنم
راهی وجود داره که بشه این کارو کرد ؟
مثلا از طریق formula یا چیزی مثل اون
amin mohamadi
جمعه 20 آبان 1390, 16:02 عصر
یکی کمک کنه لطفا :عصبانی++:
مرتضی تقدمی
جمعه 20 آبان 1390, 17:08 عصر
سلام
شما می تونی توی همون کوئری ای که به عنوان منبع به کریستال می فرستی, مشخص کنی که خروجی ها بر اساس کدوم فیلد مرتب شوند. مثلا :
select * from tbl_name order by field_name
موفق باشید
amin mohamadi
جمعه 20 آبان 1390, 19:41 عصر
اینو میدونم دوست عزیز ولی من مشکلی دارم که باید توی کریستال اینکارو بکنم
توی بانکم رکورد تکراری ندارم فقط توی کریستال تکراری نشون میده
از supress duplicate استفاده کردم تا تکراری ها رو حذف کنم ولی فقط وقتی حذف میکنه که پشت هم تکرار شده باشند
برای همین میخوام مرتب کنم تا تکراری ها پشت هم قرار بگیرن
مرتضی تقدمی
جمعه 20 آبان 1390, 21:36 عصر
اینکه توی بانک رکورد تکراری وجود نداره اما توی گزارش تکراری نشون میده باید رفع شه, نه اینکه بخواین با ترفندهایی رکوردهای تکراری نشون داده شده توی گزارش رو حذف کنید!! برنامه رو اگه ممکنه بزارید تا ببینیم چکار کردید.
amin mohamadi
جمعه 20 آبان 1390, 21:52 عصر
میدونم مشکل کجاست ولی نتونستم حلش کنم
من از دو جدول گزارش تهیه کردم
ولی فیلدی که مربوط به جدولی هست که تعداد رکورد کمتری داره تا پایان گزارش تکرار میشه
به عنوان مثال اگه فیلد مربوط به جدول یک 20 تا رکورد داشته باشه و فیلد جدول دو 5 تا رکورد این 5 رکورد
4 بار تکرار میشن تا کل گزارش رو پر کنن
فقط وقتی درست کار میکنه که تعداد هردو یکسان باشه
این دو جدول هیچ ربطی به هم ندارن یعنی هیچ لینکی بینشون نیست
مرتضی تقدمی
جمعه 20 آبان 1390, 21:58 عصر
به احتمال زیاد شما توی الحاق کردن جدولاتون دچار اشتباه شدید. به الحاق چپ و راست و کامل دقت کنید.
amin mohamadi
جمعه 20 آبان 1390, 22:01 عصر
اصلا جوین نکردم
دو تا جدول جدا هستند
مرتضی تقدمی
جمعه 20 آبان 1390, 22:04 عصر
اگه جوین نکردید پس چجوری از جفتش توی گزارش استفاده کردین ؟!! :متفکر:
amin mohamadi
جمعه 20 آبان 1390, 22:06 عصر
از جفتش توی دیتابیس دارم
مرتضی تقدمی
جمعه 20 آبان 1390, 22:09 عصر
به خاط همینه که خروجیش به این شکل دراومده دیگه! باید حتما الحاق بشه آخه.
amin mohamadi
جمعه 20 آبان 1390, 22:11 عصر
ببین میتونی کمکم کنی
کارم خیلی گیره
مرتضی تقدمی
جمعه 20 آبان 1390, 22:40 عصر
ببخشید, چقدر ناجور نوشتید!! افزونگی داده ها به این روشی که شما رفتید خیلی زیاد میشه و کارتون رو هم سخت کردید!! می تونستید که تیبل برای اعضا در نظر بگیرید و برای بقیه تیبل ها مثل 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()
amin mohamadi
جمعه 20 آبان 1390, 22:53 عصر
این به چه زبانیه ؟
من با سی شارپ کار میکنم
تنها کاری که تونستم بکنم استفاده از ساب ریپورته که اونم گزارش خوبی نمیده
مثل یک گزارش
مرتضی تقدمی
جمعه 20 آبان 1390, 22:56 عصر
به سی شارپ تبدیل کن, کاری نداره.
اگه برنامه خیلی بزرگ نیست و زیاد جلو نرفته, به نظر من از اول شروع کن و اصولی کار کن. چون با این وضع در آینده به مشکلات بزرگتری بر می خوری و کارت سخت تر میشه.
amin mohamadi
جمعه 20 آبان 1390, 23:01 عصر
برنامه تموم شده فقط گیر همینم
خیلی هم بزرگه که نمیشه به این آسونی اصلاحش کرد
به هر حال از راهنماییت ممنونم
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.