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

📄 prncpbjlx.frm

📁 一个机械产品(产品、部件、零件)的工时、工资及进度软件
💻 FRM
📖 第 1 页 / 共 2 页
字号:
      Top             =   720
      Width           =   1515
   End
   Begin VB.Label lblcp 
      Appearance      =   0  'Flat
      BackColor       =   &H00E0E0E0&
      BorderStyle     =   1  'Fixed Single
      ForeColor       =   &H80000008&
      Height          =   315
      Index           =   1
      Left            =   5820
      TabIndex        =   7
      Top             =   720
      Width           =   1455
   End
   Begin VB.Label lblbj 
      Appearance      =   0  'Flat
      BackColor       =   &H00E0E0E0&
      BorderStyle     =   1  'Fixed Single
      ForeColor       =   &H80000008&
      Height          =   315
      Index           =   0
      Left            =   3780
      TabIndex        =   6
      Top             =   1140
      Width           =   1275
   End
   Begin VB.Label lblcp 
      Appearance      =   0  'Flat
      BackColor       =   &H00E0E0E0&
      BorderStyle     =   1  'Fixed Single
      ForeColor       =   &H80000008&
      Height          =   315
      Index           =   0
      Left            =   3780
      TabIndex        =   5
      Top             =   720
      Width           =   1275
   End
   Begin VB.Label lblsl 
      Appearance      =   0  'Flat
      BackColor       =   &H00E0E0E0&
      BorderStyle     =   1  'Fixed Single
      ForeColor       =   &H80000008&
      Height          =   315
      Left            =   7080
      TabIndex        =   4
      Top             =   1560
      Width           =   555
   End
   Begin VB.Label Label1 
      Caption         =   "编号:"
      Height          =   195
      Index           =   13
      Left            =   9960
      TabIndex        =   3
      Top             =   180
      Width           =   555
   End
   Begin VB.Label Label1 
      Caption         =   "请选择:"
      Height          =   195
      Index           =   14
      Left            =   180
      TabIndex        =   2
      Top             =   420
      Width           =   795
   End
End
Attribute VB_Name = "prncpbjlx"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'点击表一零件后,在表2中填列相关路线单,再打印表2
Option Explicit
Dim currow As Integer

Private Sub Form_Load()
    Me.Width = 12000: Me.Height = 8500
    Grid1.AllowUserResizing = False
    Grid1.DisplayFocusRect = False
    Grid1.ExtendLastCol = True
    dogridfirst  '表单样式
    dogridfill1   '表单格式内容
    Grid1.AutoRedraw = True
    Grid1.Refresh
End Sub
Private Sub cmdpreview_Click()
    Grid2.PrintPreview
End Sub
Private Sub cmdprint_Click()
    On Error GoTo ErrorHandler
    Grid2.DirectPrint
    Exit Sub
ErrorHandler:
    MsgBox Err.Description, vbExclamation
    Resume Next
End Sub
Private Sub cmdexit_Click()
    Unload Me
End Sub
Private Sub cmdPageSetup_Click()
    Call ShowPageSetup(Grid2)
End Sub
Private Sub cmdfind_Click()
    '填列打印表2
    Grid2.Rows = 2
    currow = Grid1.ActiveCell.Row
    Grid1.Range(currow, 6, currow, Grid1.Cols - 1).BackColor = vbRed

    dogridfill2
    Grid2.Range(1, 1, Grid2.Rows - 1, Grid2.Cols - 1).FontSize = 9  '11
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()
      '选取部件后,相应零件信息填入进度表表格。
      '添加是否有保存的
    'MousePointer = vbHourglass
    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
    Mskdate1.Text = rsTempB!bjdate1
    
    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 & Chr(9) & rsTempA!ljbh & Chr(9) & Trim(rsTempA!ljmc) & Chr(9) & Trim(rsTempA!ljth) & Chr(9) & rsTempA!ljsl
            griditem = griditem & Chr(9) & rsTempA!gxmc1 & Chr(9) & rsTempA!gxgs1 & Chr(9) & rsTempA!gxmc2 & Chr(9) & rsTempA!gxgs2 & Chr(9) & rsTempA!gxmc3 & Chr(9) & rsTempA!gxgs3
            griditem = griditem & Chr(9) & rsTempA!gxmc4 & Chr(9) & rsTempA!gxgs4 & Chr(9) & rsTempA!gxmc5 & Chr(9) & rsTempA!gxgs5 & Chr(9) & rsTempA!gxmc6 & Chr(9) & rsTempA!gxgs6
            griditem = griditem & Chr(9) & rsTempA!gxmc7 & Chr(9) & rsTempA!gxgs7 & Chr(9) & rsTempA!gxmc8 & Chr(9) & rsTempA!gxgs8 & Chr(9) & rsTempA!gxmc9 & Chr(9) & rsTempA!gxgs9
            griditem = griditem & Chr(9) & rsTempA!gxmc10 & Chr(9) & rsTempA!gxgs10 & Chr(9) & rsTempA!gxmc11 & Chr(9) & rsTempA!gxgs11 & Chr(9) & rsTempA!gxmc12 & Chr(9) & rsTempA!gxgs12
            griditem = griditem & Chr(9) & rsTempA!gxmc13 & Chr(9) & rsTempA!gxgs13 & Chr(9) & rsTempA!gxmc14 & Chr(9) & rsTempA!gxgs14 & Chr(9) & rsTempA!gxmc15 & Chr(9) & rsTempA!gxgs15
         
            griditem = griditem & Chr(9) & rsTempA!ljqx & Chr(9) & rsTempA!ljbz
            Grid1.AddItem griditem
            rsTempA.MoveNext
        Loop
        '增加本部件零件增加时的项目显示于进度表栏目中
        Set rsTempA = oDb.Execute("select max(ljbh) as maxljbh from ajdlj where bjbh='" & Left(cmbbj.Text, i - 1) & "'")   '取件零件工时表中最大的零件编号,在零件表中找出大于此编号的项目填上
        Set rsTempB = oDb.Execute("select * from alj where bjbh='" & Left(cmbbj.Text, i - 1) & "' and ljbh>'" & rsTempA!maxljbh & "' order by ljbh")
        Do Until rsTempB.EOF
            griditem = rsTempB!code & Chr(9) & rsTempB!ljbh & Chr(9) & Trim(rsTempB!ljmc) & Chr(9) & Trim(rsTempB!ljth) & Chr(9) & rsTempB!ljsl
            For j = 6 To Grid1.Cols - 3 Step 2
                griditem = griditem & Chr(9) & "" & Chr(9) & ""
            Next j
            griditem = griditem & Chr(9) & rsTempB!ljqx & Chr(9) & rsTempB!ljbz
            Grid1.AddItem griditem
            rsTempB.MoveNext
        Loop
        
    End If
    Set rsTempB = oDb.Execute("select * from abj where bjbh='" & lblbj(0).Caption & "'")
    If Not IsNull(rsTempB!bjdate1) Then Mskdate1.Text = rsTempB!bjdate1
   'MousePointer = vbDefault
End Sub
Private Sub dogridfirst()
    Grid1.Cols = 38 '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
     
     'Grid1.RowHeight(i) = 30
     '表内容格式定义
    Set rsTempC = oDb.Execute("select * from  agx")
    For j = 6 To Grid1.Cols - 3 Step 2
        Grid1.Column(j + 1).Alignment = cellLeftCenter
    Next j
    
    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
    
    Grid2.Cols = 17
    Grid2.Column(0).Width = 2
    Grid2.Column(1).Width = 30
    Grid2.Column(2).Width = 60
    Grid2.Column(3).Width = 55
    Grid2.Column(4).Width = 50
    For i = 5 To 16
        Grid2.Column(i).Width = 60
    Next i
End Sub
Private Sub dogridfill1()
    '填列表头内容
    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 = 23
    Grid2.RowHeight(1) = 1
    For i = 2 To 6
        Grid2.RowHeight(i) = 28
    Next i
    For i = 7 To 22
        Grid2.RowHeight(i) = 30
    Next i
    Grid2.Cell(1, 1).Text = ""
    Grid2.Range(2, 3, 2, 4).Merge
    Grid2.Cell(2, 3).Text = lblcp(1).Caption '产品名称
    Grid2.Range(2, 6, 2, 8).Merge
    Grid2.Cell(2, 6).Text = "     " & lblbj(1).Caption '部件名称
    Grid2.Range(2, 9, 2, 11).Merge
    Grid2.Cell(2, 9).Text = "   " & lblbj(2).Caption '部件型号
    Grid2.Cell(2, 12).Text = lblsl.Caption '数量
    Grid2.Range(2, 15, 2, 16).Merge
    Grid2.Cell(2, 15).Text = "  " & lbldh(1).Caption '单位名称

    Grid2.Range(4, 1, 4, 2).Merge
    Grid2.Cell(4, 1).Text = Grid1.Cell(currow, 1).Text '进度表序号
    Grid2.Range(4, 3, 4, 4).Merge
    Grid2.Cell(4, 3).Text = " " & Grid1.Cell(currow, 3).Text '零件名称
    Grid2.Range(4, 5, 4, 7).Merge
    Grid2.Cell(4, 5).Text = " " & Grid1.Cell(currow, 4).Text '零件图号
    Grid2.Cell(4, 8).Text = "   " & Grid1.Cell(currow, 5).Text
    Grid2.Range(4, 11, 4, 13).Merge
    Grid2.Cell(4, 11).Text = "     " & NOWDate '投入日期为当前日
    Grid2.Range(4, 14, 4, 15).Merge
    Grid2.Cell(4, 14).Text = Mskdate1.Text '计划完成日期
    Grid2.Cell(4, 16).Text = Grid1.Cell(currow, Grid1.Cols - 2).Text '零件去向
    Grid2.Cell(7, 16).Text = Grid1.Cell(currow, Grid1.Cols - 1).Text '备注
'
    
    Grid2.Range(5, 3, 5, 14).Merge
    Grid2.Cell(5, 3).Text = "" '加工路线
    For i = 6 To Grid1.Cols - 3 Step 2
        If Trim(Grid1.Cell(currow, i).Text) <> "" Then
            Grid2.Cell(i / 2 + 5, 1).Text = i / 2 - 2
            Grid2.Cell(i / 2 + 5, 2).Text = Grid1.Cell(currow, i).Text
            Grid2.Cell(i / 2 + 5, 3).Text = Grid1.Cell(currow, i + 1).Text
        Else
            Exit For
        End If
        
    Next i
End Sub

⌨️ 快捷键说明

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