📄 frmitemcommsg.frm
字号:
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 + -