⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmm_label.frm

📁 利用VB+ACCESS开发的专用布料管理系统
💻 FRM
📖 第 1 页 / 共 3 页
字号:
Attribute VB_Name = "FrmM_Label"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Dim Cm As Double

Private Sub Command1_Click(Index As Integer)
    Select Case Index
        Case 0
            If Trim(Text4(0).Text) = "" Then
                MsgBox "没有输入订单号!", vbOKOnly + vbExclamation, "打印出错"
                Text4(0).SetFocus
                Exit Sub
            End If
            If Option1(0).Value = True Then
                If Trim(Text5.Text) = "" Then
                    MsgBox "没有输入条形码!", vbOKOnly + vbExclamation, "打印出错"
                    Text5.SetFocus
                    Exit Sub
                End If
            End If
            On Error Resume Next
            Dim cn As New ADODB.Connection
            Dim Rec As New ADODB.Recordset
            Dim PntCn As New ADODB.Connection
            Dim PntRec As New ADODB.Recordset
            cn.Open DbConnectSql
            Select Case MdlMain.LoginBh
                Case "000"
                    If Trim(Text4(1).Text) <> "" And Trim(Text4(2).Text) <> "" Then
                        Rec.CursorLocation = adUseClient
                        Rec.Open "select * from maindb where orderid='" & Trim(Text4(0).Text) & _
                            "' and pid between '" & Trim(Text4(1).Text) & "' and '" & _
                            Trim(Text4(2).Text) & "' order by pid", cn, adOpenDynamic, adLockOptimistic
                    ElseIf Trim(Text4(1).Text) <> "" Then
                        Rec.CursorLocation = adUseClient
                        Rec.Open "select * from maindb where orderid='" & Trim(Text4(0).Text) & _
                            "' and pid ='" & Trim(Text4(1).Text) & "' order by pid", cn, adOpenDynamic, adLockOptimistic
                    ElseIf Trim(Text4(2).Text) <> "" Then
                        Rec.CursorLocation = adUseClient
                        Rec.Open "select * from maindb where orderid='" & Trim(Text4(0).Text) & _
                            "' and pid='" & Trim(Text4(2).Text) & "' order by pid", cn, adOpenDynamic, adLockOptimistic
                    Else
                        Rec.CursorLocation = adUseClient
                        Rec.Open "select * from maindb where orderid='" & Trim(Text4(0).Text) & _
                            "' order by pid", cn, adOpenDynamic, adLockOptimistic
                    End If
                Case Else
                    If Trim(Text4(1).Text) <> "" And Trim(Text4(2).Text) <> "" Then
                        Rec.CursorLocation = adUseClient
                        Rec.Open "select * from maindb where orderid='" & Trim(Text4(0).Text) & _
                            "' and pid between '" & Trim(Text4(1).Text) & "' and '" & _
                            Trim(Text4(2).Text) & "' and loginuser='" & MdlMain.LoginBh & _
                            "' order by pid", cn, adOpenDynamic, adLockOptimistic
                    ElseIf Trim(Text4(1).Text) <> "" Then
                        Rec.CursorLocation = adUseClient
                        Rec.Open "select * from maindb where orderid='" & Trim(Text4(0).Text) & _
                            "' and pid ='" & Trim(Text4(1).Text) & "' and loginuser='" & MdlMain.LoginBh _
                            & "' order by pid", cn, adOpenDynamic, adLockOptimistic
                    ElseIf Trim(Text4(2).Text) <> "" Then
                        Rec.CursorLocation = adUseClient
                        Rec.Open "select * from maindb where orderid='" & Trim(Text4(0).Text) & _
                            "' and pid='" & Trim(Text4(2).Text) & "' and loginuser='" & MdlMain.LoginBh _
                            & "' order by pid", cn, adOpenDynamic, adLockOptimistic
                    Else
                        Rec.CursorLocation = adUseClient
                        Rec.Open "select * from maindb where orderid='" & Trim(Text4(0).Text) & _
                            "' and loginuser='" & MdlMain.LoginBh & "' order by pid", cn, _
                            adOpenDynamic, adLockOptimistic
                    End If
            End Select
            If Rec.EOF And Rec.BOF Then
                cn.Close: Set cn = Nothing
                Rec.Close: Set Rec = Nothing
                MsgBox "输入的定单号没有可打印数据!", vbOKOnly + vbCritical, "打印出错"
                Exit Sub
            End If
            PntCn.ConnectionString = "provider=microsoft.jet.oledb.4.0;data source=" & _
                SysDbPath & "\report97.mdb;jet oledb:database password=tony;"
            PntCn.Open
            PntCn.Execute "delete * from LabelDB"
            PntRec.CursorLocation = adUseClient
            PntRec.Open "select * from LabelDB", PntCn, adOpenDynamic, adLockOptimistic
            PntCn.BeginTrans
                With PntRec
                    If Option1(0).Value = True Then
                        Do While Not Rec.EOF
                            .AddNew
                            .Fields("startid").Value = Text1.Text
                            .Fields("endid").Value = Text3.Text
                            .Fields("orderid").Value = Rec.Fields("orderid")
                            .Fields("ph").Value = Rec.Fields("ph")
                            .Fields("xh").Value = Rec.Fields("xh")
                            .Fields("ys").Value = Rec.Fields("ys")
                            .Fields("pid").Value = Val(Rec.Fields("pid"))
                            .Fields("shjm").Value = Rec.Fields("shjm")
                            .Fields("shjf").Value = Format((Val(Rec.Fields("shjm")) * 36 * 2.54 / 100), "####.#")
                            .Fields("zhm").Value = Rec.Fields("zhm")
                            .Update
                            Rec.MoveNext
                        Loop
                    Else
                        Do While Not Rec.EOF
                            .AddNew
                            .Fields("startid").Value = Text2.Text
                            .Fields("endid").Value = Text3.Text
                            .Fields("orderid").Value = Rec.Fields("orderid")
                            .Fields("ph").Value = Rec.Fields("ph")
                            .Fields("xh").Value = Rec.Fields("xh")
                            .Fields("ys").Value = Rec.Fields("ys")
                            .Fields("pid").Value = Val(Rec.Fields("pid"))
                            .Fields("shjm").Value = Rec.Fields("shjm")
                            .Fields("shjf").Value = Format((Val(Rec.Fields("shjm")) * 36 * 2.54 / 100), "####.#")
                            .Fields("zhm").Value = Rec.Fields("zhm")
                            
'                            Rec.MoveNext
'                            If Not Rec.EOF Then
                                .Fields("startid1").Value = Text2.Text
                                .Fields("endid1").Value = Text3.Text
                                .Fields("orderid1").Value = Rec.Fields("orderid")
                                .Fields("ph1").Value = Rec.Fields("ph")
                                .Fields("xh1").Value = Rec.Fields("xh")
                                .Fields("ys1").Value = Rec.Fields("ys")
                                .Fields("pid1").Value = Val(Rec.Fields("pid"))
                                .Fields("shjm1").Value = Rec.Fields("shjm")
                                .Fields("shjf1").Value = Format((Val(Rec.Fields("shjm")) * 36 * 2.54 / 100), "####.#")
                                .Fields("zhm1").Value = Rec.Fields("zhm")
'                            Else
'                                GoTo NextRec
'                            End If
                            
                            Rec.MoveNext
                            If Not Rec.EOF Then
                                .Fields("startid2").Value = Text2.Text
                                .Fields("endid2").Value = Text3.Text
                                .Fields("orderid2").Value = Rec.Fields("orderid")
                                .Fields("ph2").Value = Rec.Fields("ph")
                                .Fields("xh2").Value = Rec.Fields("xh")
                                .Fields("ys2").Value = Rec.Fields("ys")
                                .Fields("pid2").Value = Val(Rec.Fields("pid"))
                                .Fields("shjm2").Value = Rec.Fields("shjm")
                                .Fields("shjf2").Value = Format((Val(Rec.Fields("shjm")) * 36 * 2.54 / 100), "####.#")
                                .Fields("zhm2").Value = Rec.Fields("zhm")
'                            Else
'                                GoTo NextRec
'                            End If
'
'                            Rec.MoveNext
'                            If Not Rec.EOF Then
                                .Fields("startid3").Value = Text2.Text
                                .Fields("startid3").Value = Text2.Text
                                .Fields("endid3").Value = Text3.Text
                                .Fields("orderid3").Value = Rec.Fields("orderid")
                                .Fields("ph3").Value = Rec.Fields("ph")
                                .Fields("xh3").Value = Rec.Fields("xh")
                                .Fields("ys3").Value = Rec.Fields("ys")
                                .Fields("pid3").Value = Val(Rec.Fields("pid"))
                                .Fields("shjm3").Value = Rec.Fields("shjm")
                                .Fields("shjf3").Value = Format((Val(Rec.Fields("shjm")) * 36 * 2.54 / 100), "####.#")
                                .Fields("zhm3").Value = Rec.Fields("zhm")
                            Else
                                GoTo NextRec
                            End If
NextRec:
                            .Update
                            If Not Rec.EOF Then Rec.MoveNext
                        Loop
                    End If
                End With
            PntCn.CommitTrans
            PntRec.Close
            Set PntRec = Nothing
            PntCn.Close
            Set PntCn = Nothing
            
            If Option1(0).Value = True Then
                '条形码标签打印
                Call PrintBarLabel
'                Call FrmMain.PrintReport("Pnt4")
            ElseIf Option1(1).Value = True Then
                '非条形码标签打印
                Call FrmMain.PrintReport("Pnt3")
            Else
                MsgBox "没有选择打印标签类型。", vbOKOnly + vbExclamation, "打印出错"
            End If
        Case 1
            Unload Me
    End Select
End Sub

Private Sub Form_Load()
    Text1.Text = ""
    Text2.Text = "UNITED DRAGON CO.,LTD."
    Text3.Text = ""
    Text5.Text = ""
    Text4(0).Text = ""
    Text4(1).Text = ""
    Text4(2).Text = ""
    Option1(0).Value = True
    Cm = 575
    Me.Caption = "打印不干胶粘纸(当前用户:" & MdlMain.LoginUser & ")"
End Sub

Private Sub Option1_Click(Index As Integer)
    If Option1(0).Value = True Then
        Text1.Enabled = True
        Text2.Enabled = False
        Text3.Enabled = False
        Text5.Enabled = True
    Else
        Text2.Enabled = True
        Text3.Enabled = True
        Text1.Enabled = False
        Text5.Enabled = False
    End If
End Sub

    ' 参数说明:
    ' strBarCode    - 要打印的条形码字符串
    ' intXPos, intYPos - 打印条形码的左上角坐标(缺省为(0,0),坐标刻度为:毫米)
    ' intHeight     - 打印高度(缺省为一厘米,坐标刻度为:毫米)
    ' bolPrintText   - 是否打印人工识别字符(缺省为true)
    ' "0"-"9","A-Z","-","%","$"和"*" 的条码编码格式,总共 40 个字符
Private Sub PrintBarCode(ByVal strBarCode As String, Optional ByVal intXPos As Integer = 0, _
    Optional ByVal intYPos As Integer = 0, Optional ByVal intPrintHeight As Integer = 10, _
    Optional ByVal bolPrintText As Boolean = True)
    Static strBarTable(39) As String
    ' 初始化条码编码格式表
    strBarTable(0) = "001100100"     ' 0
    strBarTable(1) = "100010100"     ' 1
    strBarTable(2) = "010010100"     ' 2
    strBarTable(3) = "110000100"     ' 3
    strBarTable(4) = "001010100"     ' 4
    strBarTable(5) = "101000100"     ' 5
    strBarTable(6) = "011000100"     ' 6
    strBarTable(7) = "000110100"     ' 7
    strBarTable(8) = "100100100"     ' 8
    strBarTable(9) = "010100100"     ' 9
    strBarTable(10) = "100010010"    ' A
    strBarTable(11) = "010010010"    ' B
    strBarTable(12) = "110000010"    ' C
    strBarTable(13) = "001010010"    ' D
    strBarTable(14) = "101000010"    ' E
    strBarTable(15) = "011000010"    ' F
    strBarTable(16) = "000110010"    ' G
    strBarTable(17) = "100100010"    ' H
    strBarTable(18) = "010100010"    ' I
    strBarTable(19) = "001100010"    ' J
    strBarTable(20) = "100010001"    ' K
    strBarTable(21) = "010010001"    ' L
    strBarTable(22) = "110000001"    ' M
    strBarTable(23) = "001010001"    ' N
    strBarTable(24) = "101000001"    ' O
    strBarTable(25) = "011000001"    ' P
    strBarTable(26) = "000110001"    ' Q
    strBarTable(27) = "100100001"    ' R
    strBarTable(28) = "010100001"    ' S
    strBarTable(29) = "001100001"    ' T
    strBarTable(30) = "100011000"    ' U
    strBarTable(31) = "010011000"    ' V
    strBarTable(32) = "110001000"    ' W
    strBarTable(33) = "001011000"    ' X
    strBarTable(34) = "101001000"    ' Y
    strBarTable(35) = "011001000"    ' Z
    strBarTable(36) = "000111000"    ' -
    strBarTable(37) = "100101000"    ' %
    strBarTable(38) = "010101000"    ' $
    strBarTable(39) = "001101000"    ' *

    If strBarCode = "" Then Exit Sub ' 不打印空串
    
    ' 保存打印机 ScaleMode
    Dim intOldScaleMode As ScaleModeConstants

    intOldScaleMode = Printer.ScaleMode
    ' 保存打印机 DrawWidth
    Dim intOldDrawWidth As Integer
    intOldDrawWidth = Printer.DrawWidth
    ' 保存打印机 Font
    Dim fntOldFont As StdFont
    Set fntOldFont = Printer.Font
    Printer.ScaleMode = vbTwips ' 设置打印用的坐标刻度为缇(twip=1)
    Printer.DrawWidth = 1     ' 线宽为 1
    Printer.FontName = "宋体" ' 打印在条码下方字符的字体和大小
    Printer.FontSize = 10
    
    Dim strBC As String         ' 要打印的条码字符串
    strBC = UCase(strBarCode)

    ' 将以毫米表示的 X 坐标转换为以缇表示

    Dim x As Integer
    x = Printer.ScaleX(intXPos, vbMillimeters, vbTwips)

    ' 将以毫米表示的 Y 坐标转换为以缇表示

    Dim y As Integer

    y = Printer.ScaleY(intYPos, vbMillimeters, vbTwips)

    ' 将以毫米表示的高度转换为以缇表示

    Dim intHeight As Integer

    intHeight = Printer.ScaleY(intPrintHeight, vbMillimeters, vbTwips)

   

    ' 是否在条形码下方打印人工识别字符

    If bolPrintText = True Then

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -