PDA

View Full Version : منظم کردن ستونهای گزارش



salman_s
دوشنبه 11 مهر 1384, 11:02 صبح
با سلام
من برای ساخت گزارشاتم رکوردهای جدول(ها) را از بالا به پایین مرور کرده و سطرهای مورد نظر را انتخاب میکنم و درون یک فایل MDB با فیلدی با نام Matn میریزم سپس کل این جدول را در کریستال رپورت نمایش می دهم ولی مشکلی که دارم اینه که ستونهای مرتبط زیر هم قرار نمیگیرند مثلا اگر سطر اول با "مینا" شروع بشه و سطر دوم با "حسین" شروع بشه در انتها سطر اول و دوم زیر هم قرار نمیگیرند هر چند تعداد کاراکترهای مینا و حسین 4 تا هست ولی این مشکل وجود داره؟ چطور این مشکل رو میشه حل کرد؟

PalizeSoftware
دوشنبه 11 مهر 1384, 12:13 عصر
یعنی چی؟
تصویری از پیش نمایش اینجا بذار تا ببینیم.

salman_s
چهارشنبه 13 مهر 1384, 08:28 صبح
اینو ببین

While DPay.Recordset.EOF = False
.
.
.
line = FitCol(CStr(.Fields("Mtotnet")), 20) & _
FitCol(CStr(.Fields("Mhesabbank")), 20) & _
FitCol(.Fields("Mnam"), 20) & _
FitCol(.Fields("Mfamil"), 20) & _
FitCol(CStr(Radif), 6)

Call Add_Matn( line)
.
.
.
wend

Private Function FitCol(Fld As String, ln As Byte) As String
Fld = Trim(Fld)
X = ln - Len(Fld)
FitCol = Space(X) & Fld
End Function

Private Sub Add_Matn( ByVal F As String)
DRep.Recordset.AddNew
DRep.Recordset.Fields("Matn") = F
DRep.UpdateRecord
End Sub

حالا زمانی که با کریستال می خوام نمایشش بدم ستونها زیر هم قرار نمی گیرند. البته علتش اینه که طول کاراکترهای مختلف در ویندوز یک اندازه نیستند مثلا "م" و "س" . حالا چطور میشه این مشکل رو حل کرد؟

PalizeSoftware
چهارشنبه 13 مهر 1384, 16:46 عصر
سلام
خب این طریقه که شما می‌ریزید و بقول خودتون به علت یکسان نبودن پهنای کاراکتر‌ها چه انتظاری دارید؟
سوال من اینه که چه نیازی هست به اینکه اونها رو درون یه جدول دیگه و حتی یه تک فیلد بریزید؟
چرا از خود جدول اصلی گزارش تهیه نمی‌کنید؟
حتما می‌پرسید که ترتیب انتخاب رکوردها نا مشخص است، نه؟
خب راهش اینه که یه فیلد از نوع Boolean توی جدول اصلی معرفی کن، بعد قبل از گزارش همه مقادیر این فیلد رو False کن و فقط مقادیر رکوردهای انتخابی رو True کن. حالا توی کریستال از اونهایی که True هستند گزارش بگیر و خیلی راحت فرمت‌بندی کن.
انشاالله که متوجه شده باشی.
اگر سوالی بود در خدمتم.
موفق باشی

salman_s
شنبه 16 مهر 1384, 09:26 صبح
از راهنمایی مفیدتون خیلی ممنونم ، اصلا به فکرم نرسید.
این روش احتمالا تا 70-80 درصد مشکلاتم رو حل میکنه.