View Full Version : چاپ 2 نسخه ای
smderfan
جمعه 02 مرداد 1388, 04:35 صبح
سلام
در صورتی که بخوام گزارشات ارسالی به چاپ با دو نسخه چاپ بشه باید از چه کدی استفاده کنم.
amirzazadeh
شنبه 03 مرداد 1388, 09:17 صبح
سلام
در صورتی که بخوام گزارشات ارسالی به چاپ با دو نسخه چاپ بشه باید از چه کدی استفاده کنم.
سلام
از اين كدها استفاده كنيد
Dim stDocName As String
stDocName = "ReportName"
DoCmd.OpenReport stDocName, acViewPreview
DoCmd.PrintOut , , , , , 2
sadeghpa80
یک شنبه 29 فروردین 1389, 15:29 عصر
سلام
ببخشید مطلب خیلی قدیمیه ولی برای جلوگیری از تاپیک جدید اینجا مینویسم
برای مثال بالا چجوری کاری میشه کرد که با فشردن دکمه پرینت همزمان از 2 پرینتر پرینت گرفته شود مثلا یکی پرینتر سر میز صندوق و دیگری پرینتر آشپزخانه .
ممنون
amirzazadeh
دوشنبه 30 فروردین 1389, 13:29 عصر
سلام
ببخشید مطلب خیلی قدیمیه ولی برای جلوگیری از تاپیک جدید اینجا مینویسم
برای مثال بالا چجوری کاری میشه کرد که با فشردن دکمه پرینت همزمان از 2 پرینتر پرینت گرفته شود مثلا یکی پرینتر سر میز صندوق و دیگری پرینتر آشپزخانه .
ممنون
سلام
ميتونين از اين كد در يك دكمه استفاده كنيد:
DoCmd.OpenReport "report1"
Set Application.Printer = Application.Printers("hp LaserJet 1300 PCL 6")
DoCmd.OpenReport "report1"
Set Application.Printer = Application.Printers("hp LaserJet 1300 PCL 6")
به جاي report1 نام گزارش و به جاي كلمه قرمز نام پرينتر دوم يا ايندكس اون رو واردكنيد(ايندكس ها از شماره 0 شروع ميشه).در جاي كلمه آبي هم نام پرينتر اولي رو وارد كنيد.
............................
موفق باشيد
Mahsa Hatefi
شنبه 08 خرداد 1389, 00:31 صبح
سلام
از اين كدها استفاده كنيد
Dim stDocName As String
stDocName = "ReportName"
DoCmd.OpenReport stDocName, acViewPreview
DoCmd.PrintOut , , , , , 2
دوست بزرگوار
فرض كنيد بر روي فرمي با دگمه اي دستور چاپ مستقيم گزارشي را به پرينتر مي فرستيد يعني همون كد اول شما . اما مي خواهيد 2 نسخه از آن پشت هم يا زير هم چاپ شود چه بايد كرد ؟
amirzazadeh
شنبه 08 خرداد 1389, 08:04 صبح
دوست بزرگوار
فرض كنيد بر روي فرمي با دگمه اي دستور چاپ مستقيم گزارشي را به پرينتر مي فرستيد يعني همون كد اول شما . اما مي خواهيد 2 نسخه از آن پشت هم يا زير هم چاپ شود چه بايد كرد ؟
سلام
پيشنهاد من طراحي گزارش در اندازه صفحهA5 و گرفتن پرينت در A4 هست در اين صورت در يك صفحه دو پرينت خواهيد داشت.
.........................
موفق باشيد
Mahsa Hatefi
شنبه 08 خرداد 1389, 08:28 صبح
استاد ارجمند
من اين كار را انجام داده ام ، اما مشكل اينجاست طراحي A5 و چاپ روي A4 براي ركوردهاي مختلف انجام مي شود ولي منظور حقير اين بود براي هر هر ركورد دو نسخه در يك صفحه چاپ شود . مثلا يك نسخه براي مشتري و يك نسخه براي انبار . البته اين مورد را من در تاپيك ديگري (http://barnamenevis.org/forum/showthread.php?t=170602) نيز مطرح كرده ام . به هر حال ممنون
amirzazadeh
شنبه 08 خرداد 1389, 09:35 صبح
استاد ارجمند
من اين كار را انجام داده ام ، اما مشكل اينجاست طراحي A5 و چاپ روي A4 براي ركوردهاي مختلف انجام مي شود ولي منظور حقير اين بود براي هر هر ركورد دو نسخه در يك صفحه چاپ شود . مثلا يك نسخه براي مشتري و يك نسخه براي انبار . البته اين مورد را من در تاپيك ديگري (http://barnamenevis.org/forum/showthread.php?t=170602) نيز مطرح كرده ام . به هر حال ممنون
سلام
براي اين منظور چيزي كه به ذهن من ميرسه اينه كه از يك جدول موقت براي چاپ گزارشتون استفاده كنيد به اين معني كه در هنگام فشردن دكمه چاپ با اجراي يك كوئري دو كپي از ركورد مورد نظر به جدول موقت منتقل بشه وبعد اون جدول موقت به عنوان سورس گزارش شما قرار داده بشه.
Private Sub Command16_Click()
On Error GoTo Err_Command16_Click
SQL = "DELETE tmp.* FROM tmp;"
DoCmd.RunSQL SQL
'hazfe recrode gabli az jadvale temp
SQL1 = "INSERT INTO tmp SELECT Table1.* FROM Table1WHERE (((Table1.[shomare-faktor])=[Forms]![factor]![shomare-faktor]));"
DoCmd.RunSQL SQL1
DoCmd.RunSQL SQL1
'copy record hazer be jadvale temp 2 bar
Dim stDocName As String
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
stDocName = "tmp"
DoCmd.OpenReport stDocName, acNormal
'chap gozaresh sakhte shode az jadvale temp
Exit_Command16_Click:
Exit Sub
Err_Command16_Click:
Resume Exit_Command16_Click
End Sub.......................
موفق باشيد
Mahsa Hatefi
شنبه 08 خرداد 1389, 22:15 عصر
دوست بزرگوار
مشكل خيلي ساده حل شد . فرمي كه قرار است براي هر ركورد چاپ شود را عينا در پايين قبلي در يك صفحه قرار دادم به همين سادگي . حالا وقتي ركورد يا ركوردهايي را چاپ كني در هر صفحه براي كدام عينا دو نسخه قرار ميگيرد حتي مي توان نسخه مشتري و انبار را هم مشخص نمود .
به هر حال متشكرم
anbaran
یک شنبه 09 خرداد 1389, 12:16 عصر
مشكل خيلي ساده حل شد . فرمي كه قرار است براي هر ركورد چاپ شود را عينا در پايين قبلي در يك صفحه قرار دادم به همين سادگي . حالا وقتي ركورد يا ركوردهايي را چاپ كني در هر صفحه براي كدام عينا دو نسخه قرار ميگيرد حتي مي توان نسخه مشتري و انبار را هم مشخص نمود .
با سلام
راهکاری رو که آقای amirzazadeh در پست 8 ارائه کردن منطقی تر می باشد چون در کپی کردن تکست باکسها و لیبلها در زیر هم فقط برای گزارشاتی کاربرد دارد که از یک رکورد تشکیل شده در گزارشات دارای چندین رکورد مثل فاکتور فروش این روش کارساز نیست.
با تشکر
Mahsa Hatefi
یک شنبه 09 خرداد 1389, 23:23 عصر
استاد ارجمند
من اين كار را بطور آزمايشي براي حدود 50 مورد انجام دادم و بدون حتي يك اشتباه انجام شد . حال اگر شما معتقديد ممكن است با مشكل مواجه شوم ، خواهشمندم مورد را بفرماييد تا برنامه ام را اصلاح كنم .
از توجه تان بسيار ممنونم
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.