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

📄 frmitemcommsg.frm

📁 金算盘软件代码
💻 FRM
📖 第 1 页 / 共 2 页
字号:
        Select Case UCase(FormName.Name)
            Case UCase("FrmStockBill"), UCase("FrmSalesBill")
                With FormName
                    .TextOfGrid(.grdCol.Row, 1) = ""   '商品名称
                    .TextOfGrid(.grdCol.Row, 28) = ""  '商品id
                End With
            Case UCase("frmStartPeriod")
                With FormName
                    .TextMatrix(.grdCol.Row, 1) = ""   '商品名称
                    .TextMatrix(.grdCol.Row, 28) = ""  '商品id
                End With
            Case UCase("FrmPurchaseOrder"), UCase("FrmSaleOrder")
                With FormName.grdCol
                    .TextMatrix(.Row, 1) = ""   '商品名称
                    .TextMatrix(.Row, 24) = ""  '商品id
                End With
            Case Else
        End Select
    End If
    Utility.RemoveFormResPicture (139)
    Utility.RemoveFormResPicture (1001)
    Utility.RemoveFormResPicture (1002)
    Set clsGrid = Nothing
    Set FormName = Nothing
End Sub


Private Sub txtInput_Change()
    
    Exit Sub
    
    strDSValue = DisplayData(Me.hwnd, txtInput.Text, C2Dbl(lblDS.Tag))
    DSValue = NumberConvert(txtInput.Text, C2Dbl(lblDS.Tag)) / C2Dbl(lblDS.Tag)
    
    If DSValue = 0 Then
        blnIsOK = False
    Else
        blnIsOK = True
    End If
End Sub

Private Sub txtInput_KeyDown(ByVal KeyCode As Integer, ByVal Shift As Integer)
    blnKeyDown = True
End Sub

Private Sub txtInput_KeyUp(ByVal KeyCode As Integer, ByVal Shift As Integer)
    On Error GoTo EndProc
    If blnKeyDown = False Then Exit Sub
    blnKeyDown = False
    If KeyCode = vbKeyEscape Then
        blnIsOK = False
        Unload Me
    ElseIf KeyCode = 13 Then
        txtInput.Text = IIf(C2Dbl(txtInput.Text) = 0, "", DisplayData(Me.hwnd, txtInput.Text, C2Dbl(lblDS.Tag)))
        DSValue = NumberConvert(txtInput.Text, C2Dbl(lblDS.Tag)) / C2Dbl(lblDS.Tag)
        
        If DSValue > 0 Then
            blnIsOK = True
        End If
        cmdButton(0).SetFocus
        Exit Sub
        cmdOK_Click FormName
    End If
EndProc:
End Sub

Private Sub txtInput_LostFocus()
    On Error GoTo EndProc
    strDSValue = DisplayData(Me.hwnd, txtInput.Text, C2Dbl(lblDS.Tag))
    DSValue = NumberConvert(txtInput.Text, C2Dbl(lblDS.Tag)) / C2Dbl(lblDS.Tag)
    If DSValue = 0 Then
        blnIsOK = False
    Else
        blnIsOK = True
    End If
    Exit Sub
EndProc:
    blnIsOK = False
End Sub
Private Sub cmdOK_Click(ByVal frmName As Form)
    Dim lngOldNowRow As Long           '记录进来的窗口的当前的GRID行
    Dim lngNewNowRow As Long          '记录进来的窗口的当前行的GRID行
    Dim intI As Integer
    Dim intCol As Integer   '商品名所在的列
    Dim i As Integer
    Dim n As Integer        '数量列和商品名相差的列数
    Dim j As Long
    Dim k As Long

    On Error Resume Next
    If DSValue = 0 Then
        blnIsOK = False
        Unload Me
    Else
        blnIsOK = True
    End If
    If frmName.Name = "FrmPurchaseOrder" Or frmName.Name = "FrmSaleOrder" Then  '采购/销售订单
        If DSValue < 0 Then
            blnIsOK = False
            ShowMsg Me.hwnd, "数量不能为负数!", MB_OK + MB_ICONEXCLAMATION + MB_SYSTEMMODAL, "提示窗口"
            txtInput.SetFocus
        End If
    End If
    If blnIsOK = False Then Exit Sub
'将GRDCOL内的各信息写回到来的窗口内的GRDCOL上
    Select Case C2lng(frmName.lblHead(2).Tag)
        Case 2 To 11, 13, 15 To 24
            intCol = 1
            n = 3
        Case ""
        Case Else
    End Select
    Dim intFalg As Integer
    lngOldNowRow = frmName.grdCol.Row
    
    If UCase(frmName.Name) = UCase("FrmStockBill") Or UCase(frmName.Name) = UCase("FrmSalesBill") Then
      If lngOldNowRow <= 1 And frmName.grdCol.Rows <= 2 And frmName.grdCol.FixedRows = 1 Then
          frmName.SetGridRows 1
      Else
          frmName.blnDeleteARow lngOldNowRow
      End If
    ElseIf UCase(frmName.Name) = UCase("frmStartPeriod") Then
      frmName.blnDeleteARow lngOldNowRow
    Else
      If lngOldNowRow <= 1 And frmName.grdCol.Rows <= 2 And frmName.grdCol.FixedRows = 1 Then
          frmName.grdCol.Rows = 1
      Else
          frmName.grdCol.RemoveItem lngOldNowRow
      End If
    End If
    If UCase(frmName.Name) = UCase("FrmStockBill") Or UCase(frmName.Name) = UCase("FrmSalesBill") Then
         For intI = grdCol.Rows - 1 To 1 Step -1
            If intI = grdCol.Rows - 1 Then
                If lngOldNowRow = frmName.grdCol.Rows Then
                    frmName.InsertARow False
                    frmName.grdCol.Row = lngOldNowRow
                Else
                    frmName.InsertARow True
                End If
            Else
                frmName.InsertARow True
            End If
            '写商品ID到28列
            frmName.TextOfGrid(frmName.grdCol.Row, 28) = grdCol.TextMatrix(intI, 0)
            '写商品名到第一列
            frmName.TextOfGrid(frmName.grdCol.Row, 1) = grdCol.TextMatrix(intI, 1)
            '写计量单位到第4列
            frmName.TextOfGrid(frmName.grdCol.Row, 4) = grdCol.TextMatrix(intI, 2)
            '写计量单位ID到第31列
            frmName.TextOfGrid(frmName.grdCol.Row, 31) = grdCol.TextMatrix(intI, 4)
            '写数量*套数到第5列
            frmName.WriteGrd NumberConvert(Fix(NumberConvert(grdCol.TextMatrix(intI, 3), C2Dbl(grdCol.TextMatrix(intI, 5))) * DSValue), C2Dbl(grdCol.TextMatrix(intI, 5)), False), frmName.grdCol.Row, 5
            '写扣率到第8列
            frmName.TextOfGrid(frmName.grdCol.Row, 8) = "100.00"
            '写折算因子到第40列
            frmName.TextOfGrid(frmName.grdCol.Row, 40) = grdCol.TextMatrix(intI, 5)
        Next intI
    ElseIf UCase(frmName.Name) = UCase("frmStartPeriod") Then
         For intI = grdCol.Rows - 1 To 1 Step -1
            If intI = grdCol.Rows - 1 Then
                If lngOldNowRow = frmName.grdCol.Rows Then
                    frmName.InsertARow False
                    frmName.grdCol.Row = lngOldNowRow
                Else
                    frmName.InsertARow True
                End If
            Else
                frmName.InsertARow True
            End If
            '写商品ID到28列
            frmName.TextMatrix(frmName.grdCol.Row, 28) = grdCol.TextMatrix(intI, 0)
            '写商品名到第一列
            frmName.TextMatrix(frmName.grdCol.Row, 1) = grdCol.TextMatrix(intI, 1)
            '写计量单位到第4列
            frmName.TextMatrix(frmName.grdCol.Row, 4) = grdCol.TextMatrix(intI, 2)
            '写计量单位ID到第31列
            frmName.TextMatrix(frmName.grdCol.Row, 31) = grdCol.TextMatrix(intI, 4)
            '写数量*套数到第5列
            frmName.WriteGrd NumberConvert(Fix(NumberConvert(grdCol.TextMatrix(intI, 3), C2Dbl(grdCol.TextMatrix(intI, 5))) * DSValue), C2Dbl(grdCol.TextMatrix(intI, 5)), False), frmName.grdCol.Row, 5
            '写扣率到第8列
            frmName.TextMatrix(frmName.grdCol.Row, 8) = "100.00"
            '写折算因子到第40列
            frmName.TextMatrix(frmName.grdCol.Row, 40) = grdCol.TextMatrix(intI, 5)
        Next intI
    ElseIf frmName.Name = "FrmPurchaseOrder" Or frmName.Name = "FrmSaleOrder" Then  '采购/销售订单
        If DSValue < 0 Then
        End If
        frmName.grdCol.Rows = frmName.grdCol.Rows + grdCol.Rows - 1
        For j = frmName.grdCol.Rows - 1 To lngOldNowRow + 2 Step -1
            For k = 0 To frmName.grdCol.Cols - 1
                frmName.grdCol.TextMatrix(j, k) = frmName.grdCol.TextMatrix(j - 2, k)
            Next k
        Next j
        For j = lngOldNowRow To lngOldNowRow + grdCol.Rows - 2
            For k = 0 To frmName.grdCol.Cols - 1
                frmName.grdCol.TextMatrix(j, k) = ""
            Next k
        Next j
        For intI = 1 To grdCol.Rows - 1
            frmName.grdCol.Row = lngOldNowRow + intI - 1
            '写商品ID到24列
            frmName.grdCol.TextMatrix(frmName.grdCol.Row, 24) = grdCol.TextMatrix(intI, 0)
            '写商品名到第一列
            frmName.grdCol.TextMatrix(frmName.grdCol.Row, 1) = grdCol.TextMatrix(intI, 1)
            '写计量单位到第2列
            frmName.grdCol.TextMatrix(frmName.grdCol.Row, 2) = grdCol.TextMatrix(intI, 2)
            '写计量单位ID到第25列
            frmName.grdCol.TextMatrix(frmName.grdCol.Row, 25) = grdCol.TextMatrix(intI, 4)
            '写数量*套数到第3列
            frmName.grdCol.TextMatrix(frmName.grdCol.Row, 3) = NumberConvert(Fix(NumberConvert(grdCol.TextMatrix(intI, 3), C2Dbl(grdCol.TextMatrix(intI, 5))) * DSValue), C2Dbl(grdCol.TextMatrix(intI, 5)), False)
            '写扣率到第6列
            frmName.grdCol.TextMatrix(frmName.grdCol.Row, 6) = "100.00"
            '写折算因子到第34列
            frmName.grdCol.TextMatrix(frmName.grdCol.Row, 34) = grdCol.TextMatrix(intI, 5)
        Next intI
'---------------------------------------------------------------
'    ElseIf frmName.Name = "FrmAdjustCost" Or frmName.Name = "FrmAdjustCost2" Then   '受托/委托代销调价单
'
'        frmName.grdCol.Rows = frmName.grdCol.Rows + grdCol.Rows - 1
'        For j = frmName.grdCol.Rows - 1 To lngOldNowRow + 2 Step -1
'            For k = 0 To frmName.grdCol.Cols - 1
'                frmName.grdCol.TextMatrix(j, k) = frmName.grdCol.TextMatrix(j - 2, k)
'            Next k
'        Next j
'        For j = lngOldNowRow To lngOldNowRow + grdCol.Rows - 2
'            For k = 0 To frmName.grdCol.Cols - 1
'                frmName.grdCol.TextMatrix(j, k) = ""
'            Next k
'        Next j
'        For intI = 1 To grdCol.Rows - 1
'            frmName.grdCol.Row = lngOldNowRow + intI - 1
'            '写商品ID到26列
'            frmName.grdCol.TextMatrix(frmName.grdCol.Row, 26) = grdCol.TextMatrix(intI, 0)
'            '写商品名到第一列
'            frmName.grdCol.TextMatrix(frmName.grdCol.Row, 1) = grdCol.TextMatrix(intI, 1)
'            '写计量单位到第2列
'            frmName.grdCol.TextMatrix(frmName.grdCol.Row, 2) = grdCol.TextMatrix(intI, 2)
'            '写计量单位ID到第27列
'            frmName.grdCol.TextMatrix(frmName.grdCol.Row, 27) = grdCol.TextMatrix(intI, 4)
'            '写数量*套数到第3列
'            frmName.grdCol.TextMatrix(frmName.grdCol.Row, 3) = NumberConvert(NumberConvert(grdCol.TextMatrix(intI, 3) * DSValue, C2Dbl(grdCol.TextMatrix(intI, 5))), C2Dbl(grdCol.TextMatrix(intI, 5)), False)
'        Next intI
'---------------------------------------
'    ElseIf frmName.Name = "FrmCostPrice" Then   '入库成本单
'        Dim j As Long
'        Dim k As Long
'
'        frmName.grdCol.Rows = frmName.grdCol.Rows + grdCol.Rows - 1
'        For j = frmName.grdCol.Rows - 1 To lngOldNowRow + 2 Step -1
'            For k = 0 To frmName.grdCol.Cols - 1
'                frmName.grdCol.TextMatrix(j, k) = frmName.grdCol.TextMatrix(j - 2, k)
'            Next k
'        Next j
'        For j = lngOldNowRow To lngOldNowRow + grdCol.Rows - 2
'            For k = 0 To frmName.grdCol.Cols - 1
'                frmName.grdCol.TextMatrix(j, k) = ""
'            Next k
'        Next j
'        For intI = 1 To grdCol.Rows - 1
'            frmName.grdCol.Row = lngOldNowRow + intI - 1
'            '写商品ID到12列
'            frmName.grdCol.TextMatrix(frmName.grdCol.Row, 12) = grdCol.TextMatrix(intI, 0)
'            '写商品名到第一列
'            frmName.grdCol.TextMatrix(frmName.grdCol.Row, 1) = grdCol.TextMatrix(intI, 1)
'            '写计量单位到第2列
'            frmName.grdCol.TextMatrix(frmName.grdCol.Row, 2) = grdCol.TextMatrix(intI, 2)
'            '写计量单位ID到第13列
'            frmName.grdCol.TextMatrix(frmName.grdCol.Row, 13) = grdCol.TextMatrix(intI, 4)
'            '写数量*套数到第3列
'            frmName.grdCol.TextMatrix(frmName.grdCol.Row, 3) = NumberConvert(NumberConvert(grdCol.TextMatrix(intI, 3) * DSValue, C2Dbl(grdCol.TextMatrix(intI, 5))), C2Dbl(grdCol.TextMatrix(intI, 5)), False)
'        Next intI
    Else
    End If
    DSValue = 1
    blnIsOK = True
    Unload Me
WndProc:

End Sub
Private Sub CmdCancel_Click()
    blnIsOK = False
    Unload Me
End Sub

⌨️ 快捷键说明

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