ورود

View Full Version : یه مشکل کوچیک در دیتا ریپورت



UpgradeVB6Code
یک شنبه 15 اردیبهشت 1387, 09:01 صبح
سلام
من یه دیتا ریپورت به پروژم ادد کردم بعد توی قسمت Detail ده تا تکست باکس زیر هم گذاشتم (شبیه یه فاکتور درش آوردم) حالا رکوردست رو ساختم مثلا رکورد ست من 3 تا رکورد رو داخل خودش داره حالا چه جوری فیلدهامو دونه دونه خودم بدم به تکست باکسهای دیتا ریپورت ؟؟؟
من تا حالا این جوری کار میکردم


REC.Open SqlString, Con, adOpenKeyset, adLockOptimistic, adCmdText
Set DataReport1.DataSource = REC
DataReport1.Sections(3).Controls("txtNumber").DataField = "Field1"
DataReport1.Sections(3).Controls("txtDate").DataField = "Field2"
DataReport1.Refresh
DataReport1.Show
REC.Close

این جا خودش تعداد ردیف ها رو برابر برابر تعداد رکوردها میزاره اما من میخوام مثل یه فاکتوری که 10 تا ردیف داره اما 3 تاش پر شده در بیاد ؟؟؟

فاطمه وطن دوست
یک شنبه 15 اردیبهشت 1387, 16:25 عصر
سلام
مشکلتون دقیقا چیه ؟
با نوشتنه دستو ر SQL مشکل دارید ، یا نمایش مقادیر رکود مورد نظرتون در دیتاریپورت ؟
تو گزارشتون فیلدا رو نشون نمیده ؟

نمونه برنامتونو بزارین ، همه چی OK میشه.

ali_habibi1384
یک شنبه 15 اردیبهشت 1387, 22:41 عصر
روش شما اصولی نبوده به همین دلیل حالا به مشکل بر خورد کردید. چرا باید ده تا تکست باکس درست کنید در حالیکه خود دیتا ریپورت این کارو می کنه؟

UpgradeVB6Code
جمعه 20 اردیبهشت 1387, 16:54 عصر
سلام
مشکلتون دقیقا چیه ؟
با نوشتنه دستو ر SQL مشکل دارید ، یا نمایش مقادیر رکود مورد نظرتون در دیتاریپورت ؟
تو گزارشتون فیلدا رو نشون نمیده ؟

نمونه برنامتونو بزارین ، همه چی OK میشه.
مشكلم اينه كه فرض كنيد يه ركوردست دارم كه 3 تا ركورد داره ( REC.RecCount = 3 ) حالا هر ركورد محتوي نام كالا قيمت و ... هست حالا ميخوام فاكتور خريد رو چاپ كنم

اگر از روش بالا استفاده كنم تعداد رديف هاي فاكتورم به تعداد ركورد ها در مياد اما من ميخوام هميشه 10 تا رديف باشه مثلا 3 تاش پر بشه بقيه باشن ( حتي خالي)

نميدونم متوجه شديد ميخوام چه كار كنم ؟!؟!

vbhamed
جمعه 20 اردیبهشت 1387, 17:05 عصر
سلام
كاري داره
موقع چاپ رديفهاي فاكتور رو توي يك جدول ديگه درج كنيد، هرچي هم از ده تا كم داشت ركورد خالي درج كنيد و بعد بر اساس اون جدول پرينت بگيريد

UpgradeVB6Code
جمعه 20 اردیبهشت 1387, 17:30 عصر
سلام
كاري داره
موقع چاپ رديفهاي فاكتور رو توي يك جدول ديگه درج كنيد، هرچي هم از ده تا كم داشت ركورد خالي درج كنيد و بعد بر اساس اون جدول پرينت بگيريد
ميشه لطفا يه كم بيشتر توضيح بدبد :ناراحت:

vbhamed
جمعه 20 اردیبهشت 1387, 17:50 عصر
سلام
يعني يك جدول موقت بسازيد
ليست فاكتور رو تو اون درج كنيد
اگر از ده تا كم داشت، به تعدادي كه كه داره ركورد خالي درج كنيد (يعني مبلغ و قيمت و نام كالا و ... نداشته باشه)

بعد ديتا ريپورتتون از اين جدول گزارش بگيره

UpgradeVB6Code
جمعه 20 اردیبهشت 1387, 19:30 عصر
سلام
يعني يك جدول موقت بسازيد
ليست فاكتور رو تو اون درج كنيد
اگر از ده تا كم داشت، به تعدادي كه كه داره ركورد خالي درج كنيد (يعني مبلغ و قيمت و نام كالا و ... نداشته باشه)

بعد ديتا ريپورتتون از اين جدول گزارش بگيره
ممنون اين روش كارو راه ميندازه
اما اين راه اصوليه يا اين راه به عنوان يه ترفند استفاده ميشه ؟
راستي اون تيبل موقت رو چه جوري درست كنم ؟

UpgradeVB6Code
جمعه 20 اردیبهشت 1387, 20:01 عصر
فكر كنم جوابو پيدا كردم
http://barnamenevis.org/forum/showpost.php?p=507306&postcount=4

vbhamed
یک شنبه 22 اردیبهشت 1387, 11:25 صبح
سلام
جدول موقت رو از قبل تو بانك درست كنيد
فقط قبل از هر بار استفاده با يك دستور Sql محتويات قبليش رو پاك كنيد

Delete * From tbl_Temp