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

📄 prnscjd.frm

📁 一个机械产品(产品、部件、零件)的工时、工资及进度软件
💻 FRM
📖 第 1 页 / 共 2 页
字号:
      BackColor       =   &H00E0E0E0&
      BorderStyle     =   1  'Fixed Single
      ForeColor       =   &H80000008&
      Height          =   315
      Index           =   0
      Left            =   3660
      TabIndex        =   10
      Top             =   720
      Width           =   1275
   End
   Begin VB.Label lblsl 
      Appearance      =   0  'Flat
      BackColor       =   &H00E0E0E0&
      BorderStyle     =   1  'Fixed Single
      ForeColor       =   &H80000008&
      Height          =   315
      Left            =   7980
      TabIndex        =   9
      Top             =   1560
      Width           =   1035
   End
   Begin VB.Label lblzl 
      Appearance      =   0  'Flat
      BackColor       =   &H00E0E0E0&
      BorderStyle     =   1  'Fixed Single
      ForeColor       =   &H80000008&
      Height          =   315
      Left            =   10620
      TabIndex        =   8
      Top             =   1560
      Width           =   1035
   End
   Begin VB.Label Label1 
      Caption         =   "请选择:"
      Height          =   195
      Index           =   14
      Left            =   60
      TabIndex        =   7
      Top             =   420
      Width           =   795
   End
End
Attribute VB_Name = "prnscjd"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Dim Colsgrid3 As Integer  '表3列数
Private Sub Form_Load()
    Me.Width = 12000: Me.Height = 8500
    Grid1.AllowUserResizing = False
    Grid1.DisplayFocusRect = False
    dogridfirst  '表单样式
    dogridfill   '表单格式内容
    Grid1.AutoRedraw = True
    Grid1.Refresh
    
    Grid2.RowHeight(0) = 2
    dogridfill2
End Sub
 
Private Sub cmbcp_LostFocus()
    '选取产品后,相应部件填入cmbbj下拉框
    i = InStr(cmbcp.Text, ",")
    j = InStr(cmbcp.Text, ".")
    lblcp(0).Caption = Left(cmbcp.Text, i - 1)
    lblcp(1).Caption = Mid(cmbcp.Text, i + 1, j - i - 1)
    lblcp(2).Caption = Mid(cmbcp.Text, j + 1)
    '单位编号、名称
    Set rsTempB = oDb.Execute("select * from acp where cpbh='" & Left(cmbcp.Text, i - 1) & "'")
    lbldh(0).Caption = rsTempB!dhbh
    lbldh(1).Caption = rsTempB!dhmc
    
    cmbbj.Clear
    Set rsTempB = oDb.Execute("select * from abj where cpbh='" & Left(cmbcp.Text, i - 1) & "'")
    Do Until rsTempB.EOF
        cmbbj.AddItem rsTempB!bjbh & "," & rsTempB!bjmc & "." & rsTempB!bjth
        rsTempB.MoveNext
    Loop
End Sub
Private Sub cmbbj_LostFocus()
      '选取部件后,相应零件信息填入进度表表格。
     
    i = InStr(cmbbj.Text, ",")
    j = InStr(cmbbj.Text, ".")
    If i < 1 Then Exit Sub
    lblbj(0).Caption = Left(cmbbj.Text, i - 1)
    lblbj(1).Caption = Mid(cmbbj.Text, i + 1, j - i - 1)
    lblbj(2).Caption = Mid(cmbbj.Text, j + 1)
    Set rsTempB = oDb.Execute("select * from abj where bjbh='" & Left(cmbbj.Text, i - 1) & "'")
    lblsl.Caption = rsTempB!bjsl
    lblzl.Caption = rsTempB!bjzl
    
    Grid1.Rows = 1
    
    Set rsTempA = oDb.Execute("select * from ajdlj where bjbh='" & Left(cmbbj.Text, i - 1) & "' order by code")
    If rsTempA.RecordCount > 0 Then
        Do Until rsTempA.EOF
            griditem = (rsTempA!code - 1) & Chr(9) & rsTempA!ljbh & Chr(9) & Trim(rsTempA!ljmc) & Chr(9) & Trim(rsTempA!ljth) & Chr(9) & rsTempA!ljsl
            If rsTempA!gxgs1 = 0 Then griditem = griditem & Chr(9) & rsTempA!gxmc1 & Chr(9) & "" Else griditem = griditem & Chr(9) & rsTempA!gxmc1 & Chr(9) & rsTempA!gxgs1
            If rsTempA!gxgs2 = 0 Then griditem = griditem & Chr(9) & rsTempA!gxmc2 & Chr(9) & "" Else griditem = griditem & Chr(9) & rsTempA!gxmc2 & Chr(9) & rsTempA!gxgs2
            If rsTempA!gxgs3 = 0 Then griditem = griditem & Chr(9) & rsTempA!gxmc3 & Chr(9) & "" Else griditem = griditem & Chr(9) & rsTempA!gxmc3 & Chr(9) & rsTempA!gxgs3
            If rsTempA!gxgs4 = 0 Then griditem = griditem & Chr(9) & rsTempA!gxmc4 & Chr(9) & "" Else griditem = griditem & Chr(9) & rsTempA!gxmc4 & Chr(9) & rsTempA!gxgs4
            If rsTempA!gxgs5 = 0 Then griditem = griditem & Chr(9) & rsTempA!gxmc5 & Chr(9) & "" Else griditem = griditem & Chr(9) & rsTempA!gxmc5 & Chr(9) & rsTempA!gxgs5
            If rsTempA!gxgs6 = 0 Then griditem = griditem & Chr(9) & rsTempA!gxmc6 & Chr(9) & "" Else griditem = griditem & Chr(9) & rsTempA!gxmc6 & Chr(9) & rsTempA!gxgs6
            If rsTempA!gxgs7 = 0 Then griditem = griditem & Chr(9) & rsTempA!gxmc7 & Chr(9) & "" Else griditem = griditem & Chr(9) & rsTempA!gxmc7 & Chr(9) & rsTempA!gxgs7
            If rsTempA!gxgs8 = 0 Then griditem = griditem & Chr(9) & rsTempA!gxmc8 & Chr(9) & "" Else griditem = griditem & Chr(9) & rsTempA!gxmc8 & Chr(9) & rsTempA!gxgs8
            If rsTempA!gxgs9 = 0 Then griditem = griditem & Chr(9) & rsTempA!gxmc9 & Chr(9) & "" Else griditem = griditem & Chr(9) & rsTempA!gxmc9 & Chr(9) & rsTempA!gxgs9
            If rsTempA!gxgs10 = 0 Then griditem = griditem & Chr(9) & rsTempA!gxmc10 & Chr(9) & "" Else griditem = griditem & Chr(9) & rsTempA!gxmc10 & Chr(9) & rsTempA!gxgs10
            If rsTempA!gxgs11 = 0 Then griditem = griditem & Chr(9) & rsTempA!gxmc11 & Chr(9) & "" Else griditem = griditem & Chr(9) & rsTempA!gxmc11 & Chr(9) & rsTempA!gxgs11
            If rsTempA!gxgs12 = 0 Then griditem = griditem & Chr(9) & rsTempA!gxmc12 & Chr(9) & "" Else griditem = griditem & Chr(9) & rsTempA!gxmc12 & Chr(9) & rsTempA!gxgs12
         
            griditem = griditem & Chr(9) & rsTempA!ljqx & Chr(9) & rsTempA!ljbz
            Grid1.AddItem griditem
            rsTempA.MoveNext
        Loop
        
         '填入进度表工序工时小计数
        Grid2.Cols = 2
        Set rsTempA = oDb.Execute("select * from ajdbj where bjbh='" & lblbj(0).Caption & "'")
        j = 2
        Do Until rsTempA.EOF
            Grid2.Cols = Grid2.Cols + 1
            Grid2.Cell(0, j).Text = rsTempA!gxbh
            Grid2.Cell(1, j).Text = rsTempA!gxmc
            Grid2.Cell(2, j).Text = rsTempA!gxgs
            rsTempA.MoveNext
            Grid2.Column(j).Width = 40
            j = j + 1
        Loop
        '合计数
        Set rsTempA = oDb.Execute("select bjtotgs,bjdate1  from abj where bjbh='" & lblbj(0).Caption & "'")
        If rsTempA!bjtotgs > 0 Then
            Grid2.Cols = Grid2.Cols + 1
            Grid2.Cell(1, Grid2.Cols - 1).Text = "总工时(H)"
            Grid2.Cell(2, Grid2.Cols - 1).Text = rsTempA!bjtotgs
           
        End If
        If Not IsNull(rsTempA!bjdate1) Then Mskdate1.Text = rsTempA!bjdate1
    End If
End Sub
Private Sub dogridfirst()
    Grid1.Cols = 32
    Grid1.FixedRows = 1
    Grid1.FixedCols = 6
    Grid1.Rows = 2
  
    Grid1.Column(0).Width = 2
    Grid1.Column(1).Width = 20
    Grid1.Column(2).Width = 2
    Grid1.Column(3).Width = 100
    Grid1.Column(4).Width = 100
    Grid1.Column(5).Width = 30
    For i = 6 To Grid1.Cols - 1
        Grid1.Column(i).Width = 50
    Next i
    Grid1.Column(Grid1.Cols - 2).Width = 70
    
    Set rsTempA = oDb.Execute("select * from acp where cpyn='Y'")    '只显示需统计的产品Y
    Do Until rsTempA.EOF
        cmbcp.AddItem rsTempA!cpbh & "," & rsTempA!cpmc & "." & rsTempA!cpxh
        rsTempA.MoveNext
    Loop
    cmbcp.ListIndex = 0
End Sub
Private Sub dogridfill()
    '填列表头内容
    Grid1.Cell(0, 1).Text = "序号"
    Grid1.Cell(0, 2).Text = "零件编号"
    Grid1.Cell(0, 3).Text = "零件名称"
    Grid1.Cell(0, 4).Text = "图号"
    Grid1.Cell(0, 5).Text = "数量"
    For i = 6 To Grid1.Cols - 3 Step 2
        Grid1.Cell(0, i).Text = "工序"
        Grid1.Cell(0, i + 1).Text = "工时(分)"
    Next i
    Grid1.Cell(0, Grid1.Cols - 2).Text = "零件去向"
    Grid1.Cell(0, Grid1.Cols - 1).Text = "备注"
    Grid1.Rows = 1
End Sub
Private Sub dogridfill2()
    '填列表头内容
    Grid2.Rows = 3
    Grid2.FixedCols = 2
    Grid2.Column(0).Width = 5
    Grid2.Cell(0, 1).Text = "工序编号"
    Grid2.Cell(1, 1).Text = "工序名称"
    Grid2.Cell(2, 1).Text = "工时小计H"
End Sub
Private Sub dogridfill3()
    Colsgrid3 = Grid1.Cols - 1
    Grid3.Cols = Colsgrid3
    Grid3.Rows = 5
    
    Grid3.Range(1, 1, 1, Colsgrid3 - 1).Merge
    Grid3.Cell(1, 1).Text = "生  产  进  度  表"
    Grid3.Column(1).Alignment = cellGeneralCenter
    Grid3.Rows = Grid3.Rows + 1
    Grid3.Range(3, 1, 3, Colsgrid3 - 1).Merge
     Grid3.Cell(3, 1).Text = "  产品名称型号:" & Trim(lblcp(1).Caption) & Trim(lblcp(2).Caption) & " 部件名称:" & lblbj(1).Caption & " 图号:" & lblbj(2).Caption & "   数量:" & lblsl.Caption & "  重量:" & lblzl.Caption & "  计划完成日期:" & Mskdate1.Text & "    订货单位:" & lbldh(1).Caption
    For i = 0 To Grid1.Rows - 1
        Grid3.Rows = Grid3.Rows + 1
        For j = 2 To Grid1.Cols - 1
            Grid3.Cell(i + 4, 1).Text = i      '序 号
            Grid3.Cell(i + 4, j - 1).Text = Grid1.Cell(i, j).Text
        Next j
    Next i
    
    For i = 1 To Grid2.Rows - 1
        Grid3.Rows = Grid3.Rows + 1
        For j = 1 To Grid2.Cols - 1
            Grid3.Cell(Grid3.Rows - 1, j + 1).Text = Grid2.Cell(i, j).Text
        Next j
    Next i
End Sub
Private Sub cmdexcel_Click()
    Dim irowNo As Integer, sRange As String
    
    dogridfill3   '填充到表3
    
    If excelsetup = False Then
        Set mobjexcel = CreateObject("Excel.application")  '启动excel  在 Form load ()过程
    End If
    Me.MousePointer = vbHourglass
    excelsetup = True
    'StatusBar1.SimpleText = "      正在启动Excel,并给 Excel工作表 填充数据,请稍等!"

    With mobjexcel         '添加工作表
        .workbooks.Add
    End With

    With mobjexcel        '设置工作表字体,列宽
        .ActiveCell.Columns("A:A").ColumnWidth = 3
        .ActiveCell.Columns("B:B").ColumnWidth = 10
        .ActiveCell.Columns("C:C").ColumnWidth = 12
        .ActiveCell.Columns("D:D").ColumnWidth = 4
        .ActiveCell.Columns("E:E").ColumnWidth = 6
        .ActiveCell.Columns("F:F").ColumnWidth = 6
        .ActiveCell.Columns("G:G").ColumnWidth = 6
        .ActiveCell.Columns("H:H").ColumnWidth = 6
        .ActiveCell.Columns("I:I").ColumnWidth = 6
        .ActiveCell.Columns("J:J").ColumnWidth = 6
        .ActiveCell.Columns("K:K").ColumnWidth = 6
        .ActiveCell.Columns("L:L").ColumnWidth = 6
        .ActiveCell.Columns("M:M").ColumnWidth = 6
        .ActiveCell.Columns("N:N").ColumnWidth = 6
        .ActiveCell.Columns("O:O").ColumnWidth = 6
        .ActiveCell.Columns("P:P").ColumnWidth = 6
        .ActiveCell.Columns("Q:Q").ColumnWidth = 6
        .ActiveCell.Columns("R:R").ColumnWidth = 6
        .ActiveCell.Columns("S:S").ColumnWidth = 6
        .ActiveCell.Columns("T:T").ColumnWidth = 6
        .ActiveCell.Columns("U:U").ColumnWidth = 6
        .ActiveCell.Columns("V:V").ColumnWidth = 6
        .ActiveCell.Columns("W:W").ColumnWidth = 6
        .ActiveCell.Columns("X:X").ColumnWidth = 6
        .ActiveCell.Columns("Y:Y").ColumnWidth = 6
        .ActiveCell.Columns("Z:Z").ColumnWidth = 6
        .ActiveCell.Columns("AA:AA").ColumnWidth = 6
        .ActiveCell.Columns("AB:AB").ColumnWidth = 6
        .ActiveCell.Columns("AC:AC").ColumnWidth = 6
        .ActiveCell.Columns("AD:AD").ColumnWidth = 6
    End With

    irowNo = 1                  'Excel row
    mobjexcel.Visible = True    'Excel visible
'    With mobjexcel
'        .ActiveCell.Cells(irowNo, 1).Value = "日期"
'        .ActiveCell.Cells(irowNo, 2).Value = " 余额"
'
'    End With
    For irowNo = 1 To Grid3.Rows - 1
        For j = 1 To Grid3.Cols - 1
            With mobjexcel
                .ActiveCell.Cells(irowNo + 1, j).Value = Grid3.Cell(irowNo, j).Text
            End With
        Next j
    Next irowNo

    With mobjexcel        '设置工作表字体,列宽
        'sRange = Chr(Asc("A")) & "5" & ":" & Chr(Asc("Z")) & irowNo
        sRange = "(" & "A5:AD" & irowNo & ")"
        .Range(sRange).Select            '设置范围
        .Selection.RowHeight = 16        'Excel行高
        .Selection.Font.Name = "宋体"    'Excel 字体
        .Selection.Font.Size = 9         'Excel 字号
        .Selection.Borders.LineStyle = tvwRootLines   '画边框线
    End With

   'StatusBar1.SimpleText = "   Excel工作表 数据填充完毕,可按需要对 Excel工作表进行操作!"
   Me.MousePointer = vbDefault
   excelsetup = True

          '打印设置
    With mobjexcel                 '定义页眉、页尾
        .ActiveSheet.PageSetup.LeftHeader = ""
        '.ActiveSheet.PageSetup.CenterHeader = "海亮集团 "
        '.ActiveSheet.PageSetup.RightHeader = curdate2 & "     "
        '.ActiveSheet.PageSetup.PaperSize = vbPRPSA4  'A4 纸纵向打印
        .ActiveCell.Range("A1").Select  '焦点行 取消黑框
    End With
End Sub
Private Sub cmdexit_Click()
    If excelsetup = True Then
        mobjexcel.activeworkbook.saved = True   '放弃对工作表的改变
        excelsetup = False
        mobjexcel.Quit
    End If

    Set mobjexcel = Nothing
    'Set oDb = Nothing
    Unload Me
End Sub

⌨️ 快捷键说明

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