📄 frmprintinvoice.frm
字号:
VERSION 5.00
Object = "{00028C01-0000-0000-0000-000000000046}#1.0#0"; "DBGRID32.OCX"
Begin VB.Form frmPrintInvoice
Caption = "打印发票"
ClientHeight = 6540
ClientLeft = 60
ClientTop = 345
ClientWidth = 8580
Icon = "frmPrintInvoice.frx":0000
LinkTopic = "Form1"
LockControls = -1 'True
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 6540
ScaleWidth = 8580
StartUpPosition = 2 '屏幕中心
Begin VB.Data Data1
Connect = "Access"
DatabaseName = ""
DefaultCursorType= 0 '缺省游标
DefaultType = 2 '使用 ODBC
Exclusive = 0 'False
Height = 375
Left = 743
Options = 0
ReadOnly = 0 'False
RecordsetType = 1 'Dynaset
RecordSource = ""
Top = 5400
Width = 7095
End
Begin MSDBGrid.DBGrid DBGrid1
Bindings = "frmPrintInvoice.frx":0442
Height = 4455
Left = 203
OleObjectBlob = "frmPrintInvoice.frx":0456
TabIndex = 6
Top = 720
Width = 8175
End
Begin VB.TextBox txtEndInv
Height = 270
Left = 6780
TabIndex = 5
Top = 240
Width = 1215
End
Begin VB.CommandButton cmdExit
Cancel = -1 'True
Caption = "退出(&X)"
Height = 375
Left = 4763
TabIndex = 8
Top = 6000
Width = 1335
End
Begin VB.CommandButton cmdPrint
Caption = "打印(&P)"
Default = -1 'True
Height = 375
Left = 2483
TabIndex = 7
Top = 6000
Width = 1335
End
Begin VB.TextBox txtBeginInv
Height = 270
Left = 4185
TabIndex = 3
Top = 240
Width = 1215
End
Begin VB.ComboBox comRegion
Height = 300
Left = 1590
Style = 2 'Dropdown List
TabIndex = 1
Top = 225
Width = 1215
End
Begin VB.Label Label3
AutoSize = -1 'True
Caption = "终止发票号:"
Height = 180
Left = 5595
TabIndex = 4
Top = 285
Width = 990
End
Begin VB.Label Label2
AutoSize = -1 'True
Caption = "起始发票号:"
Height = 180
Left = 3000
TabIndex = 2
Top = 285
Width = 990
End
Begin VB.Label Label1
AutoSize = -1 'True
Caption = "选择分区;"
Height = 180
Left = 585
TabIndex = 0
Top = 285
Width = 810
End
End
Attribute VB_Name = "frmPrintInvoice"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Dim strAppName As String, strSQL As String
Dim intRegionNum As Integer
Dim prnTable() As Variant, RowsNum As Long
Private Sub cmdExit_Click()
Unload Me
End Sub
Private Sub cmdPrint_Click()
DBGrid1_Click
Dim i As Integer, k As Integer
Dim intSpc As Integer
For i = 1 To RowsNum
Printer.FontName = "宋体": Printer.FontSize = 14: Printer.FontUnderline = True
Printer.Print Tab(16); "宁夏银川市自来水总公司水费发票": Printer.Print
Printer.FontName = "黑体": Printer.FontUnderline = False
Printer.Print Tab(24); "发 票 联";: Printer.FontName = "宋体"
Printer.Print Spc(10); "N";: Printer.FontUnderline = True: Printer.Print "o";
Printer.FontUnderline = False: Printer.Print prnTable(i, 2): Printer.Print
Printer.FontName = "宋体": Printer.FontSize = 10: Printer.FontUnderline = False
Printer.Print " 客户名称:"; prnTable(i, 3);
intSpc = 38 - Len(prnTable(i, 3)): Printer.Print Spc(intSpc);
Printer.Print "开票日期";
Printer.Print Year(Now) & "年"; Month(Now) & "月"; Day(Now) & "日"
For k = 1 To 80: Printer.Print "-";: Next: Printer.Print ""
Printer.Print "|编 号|"; prnTable(i, 1);
intSpc = 23 - Len(Str(prnTable(i, 1))): Printer.Print Spc(intSpc);
Printer.Print "|地 址|"; prnTable(i, 4);
intSpc = 40 - Len(prnTable(i, 4)): Printer.Print Spc(intSpc); "|"
Printer.Print "|";: For k = 1 To 78: Printer.Print "-";: Next: Printer.Print "|"
Printer.Print "|"; Spc(14); "|"; Spc(15); "|"; Spc(15); "|"; Spc(10); "|"; _
Spc(10); "|"; Spc(9); "|"
Printer.Print "| 本 月 读 数 | 上 月 读 数 | 实 用 水 量 | 单 位 | 单 价 | 金 额 |"
Printer.Print "|"; Spc(14); "|"; Spc(15); "|"; Spc(15); "|"; Spc(10); "|"; _
Spc(10); "|"; Spc(9); "|"
Printer.Print "|";: For k = 1 To 78: Printer.Print "-";: Next: Printer.Print "|"
Printer.Print "|"; Spc(14); "|"; Spc(15); "|"; Spc(15); "|"; Spc(10); "|"; _
Spc(10); "|"; Spc(9); "|"
Printer.Print "|";
intSpc = 14 - Len(prnTable(i, 5)): Printer.Print Spc(intSpc); prnTable(i, 5);
Printer.Print "|";
intSpc = 15 - Len(prnTable(i, 6)): Printer.Print Spc(intSpc); prnTable(i, 6);
Printer.Print "|";
intSpc = 15 - Len(prnTable(i, 7)): Printer.Print Spc(intSpc); prnTable(i, 7);
Printer.Print "| 立方米 |"; Spc(10);
Printer.Print "|";
intSpc = 9 - Len(prnTable(i, 10)): Printer.Print Spc(intSpc); prnTable(i, 10); "|"
Printer.Print "|"; Spc(14); "|"; Spc(15); "|"; Spc(15); "|"; Spc(10); "|"; _
Spc(10); "|"; Spc(9); "|"
Printer.Print "|";: For k = 1 To 78: Printer.Print "-";: Next: Printer.Print "|"
Printer.Print "|合 计|(大写)"; prnTable(i, 11);
intSpc = 44 - Len(prnTable(i, 11)): Printer.Print Spc(intSpc);
Printer.Print "|¥";: Printer.FontUnderline = True: Printer.Print prnTable(i, 10);
intSpc = 8 - Len(prnTable(i, 10)): Printer.Print Spc(intSpc);
Printer.FontUnderline = False: Printer.Print "|"
Printer.Print "|";: For k = 1 To 78: Printer.Print "-";: Next: Printer.Print "|"
Printer.Print "| 收款单位 | 银川市自来水总公司"; Spc(11); "| 开户银行 |"; Spc(25); "|"
Printer.Print "|";: For k = 1 To 78: Printer.Print "-";: Next: Printer.Print "|"
Printer.Print "| 联系电话 |"; Spc(30); "| 帐 号 |"; Spc(25); "|"
Printer.Print "|";: For k = 1 To 78: Printer.Print "-";: Next: Printer.Print "|"
Printer.Print "| 注意事项 | 自开票之日起超过 日不交者,按规定每日递加百分之五的滞纳金。"; _
Spc(7); "|"
For k = 1 To 80: Printer.Print "-";: Next: Printer.Print ""
Printer.Print " 开票人:"; Spc(10); "复核:"; Spc(10); "收款人:"; Spc(19); "开票单位(未盖章无效)"
Printer.Print: Printer.Print: Printer.Print
If i Mod 2 = 0 Then Printer.NewPage '下一页
Next i
Printer.EndDoc '结束打印
End Sub
Private Sub comRegion_Click()
'根据分区号选择分区
Dim RegionNumber As Integer, strSQL As String
RegionNumber = comRegion.ListIndex + 1
intRegionNum = RegionNumber
strSQL = "select 编号,发票号,户名,地址,本月读数,上月读数,实用水量,水费," _
& "污水处理费,合计金额,金额大写 from 主库文件 " _
& "where 分区=" & RegionNumber
Data1.RecordSource = strSQL
Data1.Refresh
End Sub
Private Sub Data1_Reposition()
Data1.Caption = "记录:" & Data1.Recordset.AbsolutePosition + 1
End Sub
Private Sub DBGrid1_Click()
'给数组赋值
If Not Data1.Recordset.BOF Then
RowsNum = 0
Data1.Recordset.MoveFirst
While Not Data1.Recordset.EOF
If Data1.Recordset.Fields("发票号") <> "" Then RowsNum = RowsNum + 1
Data1.Recordset.MoveNext
Wend
ReDim prnTable(RowsNum, 11)
Dim i As Long, j As Integer
For i = 1 To RowsNum
DBGrid1.Row = i - 1
For j = 1 To 11
DBGrid1.Col = j - 1
prnTable(i, j) = DBGrid1.Text
Next j
Next i
End If
End Sub
Private Sub Form_Load()
'给组合框添加列表项
Dim i As Integer
For i = 1 To RegionNumber
comRegion.AddItem i
Next
strAppName = App.Path & "\Main" & Year(Now) & Month(Now) & ".mdb"
Data1.DatabaseName = strAppName
strSQL = "select 编号,发票号,户名,地址,本月读数,上月读数,实用水量,水费," _
& "污水处理费,合计金额,金额大写 from 主库文件"
Data1.RecordSource = strSQL
Data1.Refresh
End Sub
Private Sub txtEndInv_LostFocus()
If (Not IsNumeric(txtBeginInv)) Or (Not IsNumeric(txtEndInv)) Then
MsgBox "输入错误!", vbExclamation + vbOKOnly, "汇总标签"
txtBeginInv.SetFocus
SendKeys "{Home}+{End}"
Exit Sub
End If
If intRegionNum = 0 Then
MsgBox "必须选择分区号!", vbExclamation + vbOKOnly, "打印发票"
comRegion.SetFocus
Exit Sub
End If
Dim lngBegin As Long, lngEnd As Long
lngBegin = Val(txtBeginInv): lngEnd = Val(txtEndInv)
strSQL = "select 编号,发票号,户名,地址,本月读数,上月读数,实用水量,水费," _
& "污水处理费,合计金额,金额大写 from 主库文件 " _
& "where 分区=" & intRegionNum & " and 发票号>=" & lngBegin & " and 发票号<=" & lngEnd
Data1.RecordSource = strSQL
Data1.Refresh
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -