台灣最大程式設計社群網站
線上人數
592
 
會員總數:231075
接案會員:6781
文章總數:2319
討論主題:175356
歡迎您免費加入會員
討論區列表 >> VB6 >> 點陣印表機列印文字會被切掉
[變換順序]
[我要回覆]
1


回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
點陣印表機列印文字會被切掉
價值 : 50 QP  點閱數:1892 回應數:5

樓主

大葉田
門外漢
0 1
94 2
發送站內信

請問各位大大,我要做的是廠商進貨的對帳單內容用噴墨印表機列印都沒問題,
但是用點陣印表機後的結果字都會被切掉,困擾已久...

本篇文章發表於2010-04-27 16:28
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

Sdany
捐贈 VP 給 Sdany 檢舉此回應
一般
噴墨印表機,是使用 A4 的紙張大小
點陣印表機,是使用 Letter 曳引送紙
請確認你指定的紙張大小是否符合

你的狀況應該是 A4 長度超過 Letter 長度造成的

本篇文章回覆於2010-04-27 16:42
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

大葉田
檢舉此回應
這是我的程式碼,紙張已經調整過了,是符合的大小...

On Error GoTo OPEN_ERRO
CommonDialog1.ShowPrinter

Adodc1.RecordSource = "PAY_INFO ORDER BY PUR_NO"
Adodc1.Refresh

Adodc2.RecordSource = "WGVENDOR ORDER BY VENDOR_NO"
Adodc2.Refresh

Adodc3.RecordSource = "PAYMENT_TABLE ORDER BY PAYMENT_NO"
Adodc3.Refresh
If Not Adodc3.Recordset.EOF Then Adodc3.Recordset.MoveFirst
While Not Adodc3.Recordset.EOF
Adodc2.RecordSource = "WGVENDOR where VENDOR_NO ='" & Adodc3.Recordset!VENDOR_NO & "' order by VENDOR_NO "
Adodc2.Refresh
GoSub print_head
Adodc4.RecordSource = "PUR_SUM_TABLE WHERE VENDOR_NO ='" & Adodc3.Recordset!VENDOR_NO & "' Order by VENDOR_NO,PUR_NO"
Adodc4.Refresh
Set rs5 = Adodc4.Recordset
rs5.MoveFirst
pay_amt = 0
Printer.Font.Size = "11"
Printer.Font.Name = "Courier"
While Not rs5.EOF
If Val(rs5!pur_mark) = 1 Then
Printer.Print Tab(5); Left(rs5!PUR_NO, 8); Tab(17); "進"; Tab(19); rs5!PUR_NO; Tab(37); "$"; Format(Int(rs5!pay_amt + 0.55), "0.00")
pay_amt = pay_amt + Val(rs5!pay_amt)
End If
rs5.MoveNext
Wend
Printer.Font.Size = "12"
Printer.Font.Name = "Courier"
Printer.Print Tab(5); "──── ─────── ──────── ────────"
Printer.Print Tab(22); "進貨總額"; Tab(32); ":"; Tab(34); "$"; Format(Int(pay_amt + 0.55), "0.00")
Printer.Print Tab(5); "──────────────────────────────"
Printer.Print Tab(18); "本期應付金額"; Tab(32); ":"; Tab(34); "$"; Format(Int(pay_amt + 0.55), "0.00")
Printer.Print

Adodc5.RecordSource = "PUR_INFO Order by PUR_NO"
Adodc5.Refresh
Set rs6 = Adodc5.Recordset

rs5.MoveFirst
rs6.MoveFirst


Adodc4.RecordSource = "PUR_SUM_TABLE WHERE VENDOR_NO = '" & Adodc3.Recordset!VENDOR_NO & "' Order by VENDOR_NO,PUR_NO"
Adodc4.Refresh
Set rs5 = Adodc4.Recordset
Printer.Print Tab(5); "進貨單號碼"; Tab(18); "="; Tab(22); rs5!PUR_NO; Tab(60); "進貨金額 :";
Printer.Print Tab(76); "$"; Tab(77); Format(Int(rs5!pay_amt - 0.55), "0.00")
Printer.Print
Printer.Print Tab(5); "進貨單號碼"; Tab(19); "商品碼"; Tab(32); "商品簡稱"; Tab(56); "單價"; Tab(66); "數量"; Tab(77); "小計"
Printer.Print Tab(5); String(130, "-")

While Not rs5.EOF
Printer.Font.Size = "11"
Printer.Font.Name = "Courier"
If rs6.EOF Then
Printer.Print Tab(5); String(136, "-")
Printer.Print
Printer.EndDoc: Exit Sub
End If
If Left(rs6!PUR_NO, 13) > rs5!PUR_NO Then
rs5.MoveNext
Printer.Print Tab(5); String(135, "-")
Printer.Print
If Not rs5.EOF Then
Printer.Print Tab(5); String(136, "-")
Printer.Print
Printer.Font.Size = "12"
Printer.Font.Name = "Courier"
Printer.Print Tab(5); "進貨單號碼"; Tab(18); "="; Tab(22); rs5!PUR_NO; Tab(60); "進貨金額 :";
Printer.Print Tab(76); "$"; Tab(77); Format(Int(rs5!pay_amt - 0.55), "0.00")
Printer.Print
Printer.Print Tab(5); "進貨單號碼"; Tab(19); "商品碼"; Tab(32); "商品簡稱"; Tab(56); "單價"; Tab(66); "數量"; Tab(77); "小計"
Printer.Print Tab(5); String(130, "-")
Else
Printer.Print Tab(5); String(136, "-")
Printer.Print
End If
Else
If Left(rs6!PUR_NO, 13) < rs5!PUR_NO Then rs6.MoveNext
Printer.Font.Size = "11"
Printer.Font.Name = "Courier"
Printer.Print Tab(5); rs5!PUR_NO; Tab(20); rs6!GOOD_CODE; Tab(30); rs6!SHORTNAME;
Printer.Print Tab(60); "$"; Tab(61); Format(Val(rs6!PUR_PRICE), "0.00");
Printer.Print Tab(72); rs6!PUR_QTY; Tab(82); "$";
Printer.Print Tab(83); Format(Val(rs6!PUR_AMT), "0.00")
rs6.MoveNext
End If
Wend
If Not Adodc3.Recordset.EOF Then
Adodc3.Recordset.MoveNext
Printer.NewPage
Else: Printer.EndDoc: Exit Sub
End If
Wend
print_head:
' Printer.Print
Printer.Font.Size = "18"
Printer.Font.Name = "Courier"
Printer.Print
Printer.Print Tab(15); "("; Tab(17); Val(Adodc3.Recordset!MONTH01); Tab(20); ")"; Tab(22); "月份應付帳款明細表"
Printer.Font.Size = "12"
Printer.Font.Name = "Courier"
Printer.Print Tab(16); String(23, "─")
Printer.Print Tab(5); "XXXXX公司"; Tab(30); "電"; Tab(36); "話"; Tab(39); ":"; Tab(41); Adodc2.Recordset!TEL01;
Printer.Print Tab(60); "列印日期"; Tab(69); ":"; Tab(71); GEN_DATE.Caption
Printer.Print Tab(5); "廠商代碼"; Tab(14); ":"; Tab(16); Adodc2.Recordset!VENDOR_NO; Tab(30); "廠商名稱"; Tab(39); ":"; Tab(41); Adodc2.Recordset!Name
Printer.Print Tab(5); "廠商地址"; Tab(14); ":"; Tab(16); Adodc2.Recordset!COMP_ADDR; Tab(60); "對帳單號"; Tab(69); ":"; Tab(71); Adodc3.Recordset!PAYMENT_NO
Printer.Print Tab(5); "付款方式"; Tab(14); ":"; Tab(16); Adodc3.Recordset!PAY_KIND
Printer.Print Tab(5); "交易日期"; Tab(14); ":"; Tab(16); "自"; Tab(20); PUR_DATE_S.Caption;
Printer.Print Tab(30); "至"; Tab(34); PUR_DATE_E.Caption
Printer.Print
Printer.Print Tab(6); "進貨日"; Tab(17); "進貨單號"; Tab(32); "交易金額明細"; Tab(71); "備"; Tab(77); "註"
Printer.Print Tab(5); "──── ─────── ──────── ────────"
Return
OPEN_ERRO:
On Error GoTo 0
Printer.KillDoc
Exit Sub
End Sub

本篇文章回覆於2010-04-27 16:53
--未登入的會員無法查看對方簽名檔--
3樓
回應

Sdany
捐贈 VP 給 Sdany 檢舉此回應
>> 結果字都會被切掉

是什麼情形?(是否貼個圖)
是一半的字都沒出來,還是開岔?

我遇過的
如果指定的紙張及邊界、內容沒設妥會有一半的字會移位

本篇文章回覆於2010-04-27 22:26
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

大葉田
檢舉此回應
有的字中間會有間隙,有的會像是重疊在一起

本篇文章回覆於2010-04-28 09:25
--未登入的會員無法查看對方簽名檔--
5樓
最有價值解答

HUNG-CHIN
捐贈 VP 給 SamTai 檢舉此回應
怎麼不用 Seagate Crystal Reports 製作報表呢



本篇文章回覆於2010-04-29 17:31
--未登入的會員無法查看對方簽名檔--
[變換順序]
1
 

回覆
如要回應,請先登入.