asasin > 03-01-14, 11:12 AM
paulsteigel > 03-01-14, 12:05 PM
asasin > 03-01-14, 03:37 PM
(03-01-14, 12:05 PM)paulsteigel Đã viết: Bạn tham khảo cái này nhé....
http://www.sfdp.net/tai-lieu-khac/inthon...an/VQG.rar
Hoặc cái này
http://www.sfdp.net/tai-lieu-khac/inthon...em2008.zip
2 công cụ này cơ bản giống nhau trong đó cho phép điều chỉnh vị trí in ấn của các textbox trên báo cáo.
Vì in lên phôi nên mình điều chỉnh ở chế độ design thay vì tại sự kiện report_open.
Có gì bạn cứ đặt câu hỏi nhé!
paulsteigel > 03-01-14, 05:06 PM
asasin > 04-01-14, 11:11 AM
(03-01-14, 05:06 PM)paulsteigel Đã viết: 2 Công cụ này đều được viết dưới dạng phần mềm quy mô nhỏ vì thế nó ngăn trở người dùng tọc mạch code. Tuy nhiên, bạn có thể bấm phím Shift khi khởi động chương trình để xem file và mã nguồn.
Ngoài ra, cách tiếp cận cũng không có gì cao siêu lắm. Nó có mấy tính năng cơ bản:
1. Quản lý số liệu mẫu để in
2. Quản lý báo cáo
3. Xuất nhập số liệu từ file mẫu trong Excel.
Nếu bạn chỉ cần in ra phôi thì có thể vào đúng trang web mà mình chỉ ra, lấy một công cụ in được thiết kế bằng Excel.
http://www.sfdp.net/tai-lieu-khac/inthon...iaymoi.zip
Có gì bạn cứ đặt câu hỏi nhé!
paulsteigel > 06-01-14, 10:25 AM
Sub SetReportObject(rpt As Report)
Dim rs As New Recordset
Dim rptFilter As String, maxWidth As Long
Dim ctr As Control
' Mo bang cau hinh
rs.Open "Select * from tbl_conf where ObjVar='" & rpt.Name & "';", CurrentProject.Connection, adOpenDynamic, adLockReadOnly
While Not rs.EOF
Set ctr = rpt.Controls(Trim(rs.Fields("ObjName")))
With ctr
' Vi tri tren
.Top = rs.Fields("H") * 567
' Vi tri ben trai
.Left = rs.Fields("V") * 567
' Do rong
.Width = rs.Fields("W") * 567
' Hien hay an
.Visible = rs.Fields("Visible")
If TypeOf ctr Is Label Then ctr.Caption = rs.Fields("ObjCaption")
.FontBold = rs.Fields("Bold")
If maxWidth < .Width Then maxWidth = .Width
End With
rs.MoveNext
Wend
rpt.Width = maxWidth + 10
rs.Close
End Sub
asasin > 06-01-14, 03:45 PM