?? 出庫單.frm
字號:
DataGrid1.Columns(9).width = 800
DataGrid1.Columns(10).width = 800
DataGrid1.Columns(11).width = 800
DataGrid1.Columns(12).width = 800
DataGrid1.Columns(13).width = 800
DataGrid1.Columns(14).width = 800
DataGrid1.Columns(0).Locked = True
DataGrid1.Columns(1).Locked = True
DataGrid1.Columns(2).Locked = True
DataGrid1.Columns(3).Locked = True
DataGrid1.Columns(4).Locked = True
DataGrid1.Columns(6).Locked = True
DataGrid1.Columns(7).Locked = True
DataGrid1.Columns(8).Locked = True
DataGrid1.Columns(9).Locked = True
DataGrid1.Columns(10).Locked = True
DataGrid1.Columns(11).Locked = True
DataGrid1.Columns(12).Locked = True
DataGrid1.rowheight = 270
End Sub
Private Sub Adodc1_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
On Error Resume Next
Adodc1.caption = Adodc1.Recordset.Fields("貨物名稱").Value
End Sub
Private Sub B新增出庫單_Click()
新增出庫單.Show vbModal
SaveInit
Adodc1.Refresh
ResumeInit
End Sub
Private Sub DataGrid1_HeadClick(ByVal ColIndex As Integer)
On Error Resume Next
Dim caption As String
caption = DataGrid1.Columns(ColIndex).caption
If caption = "經辦人" Then caption = "姓名"
If caption = "金額" Then Exit Sub
If caption = "備注" Then caption = "出庫單.備注"
If caption = "編號" Then caption = "出庫單.編號"
If caption = "客戶" Then caption = "客戶名稱"
If caption = "存放倉庫" Then caption = "倉庫名稱"
Adodc1.RecordSource = SQL + " order by " + caption
order(ColIndex) = True - order(ColIndex)
If order(ColIndex) = True Then
Adodc1.RecordSource = Adodc1.RecordSource + " ASC"
Else
Adodc1.RecordSource = Adodc1.RecordSource + " DESC"
End If
SaveInit
Adodc1.Refresh
ResumeInit
End Sub
Private Sub Form_Load()
Adodc1.ConnectionString = DataConnectString
SQL = Adodc1.RecordSource
Set DataGrid1.DataSource = Adodc1
Adodc1.Refresh
initdatagrid1
'通過權限來初始化控件性質
If 權限類別(0) = 0 Then B新增出庫單.Enabled = False
If 權限類別(1) = 0 Then DataGrid1.AllowUpdate = False
If 權限類別(2) = 0 Then
退出出庫單.Enabled = False
刪除出庫單.Enabled = False
End If
If 權限類別(8) = 0 Then 打印出庫單.Enabled = False
End Sub
Private Sub 打印出庫單_Click()
On Error GoTo quit
Dim p As New 新增出庫單
p.編號 = DataGrid1.Columns(0).Value
p.Show vbModal
Unload p
quit:
End Sub
Private Sub 刪除出庫單_Click()
On Error GoTo quit
If DataGrid1.Columns(12).Text = "已退出" Then GoTo con
If MsgBox("建議用[退出出庫單],而不要直接刪除,以免數據丟失.您確信要刪除該出庫單嗎?", vbYesNo Or vbQuestion) = vbNo Then Exit Sub
con:
On Error Resume Next
Dim code, code1, code2 As Long
code = DataGrid1.Columns(0).Text
fMainForm.m_checkado.RecordSource = "select 貨物編號,出庫數量,倉庫編號 from 出庫單 where 編號=" + Str(code)
fMainForm.m_checkado.Refresh
Dim num1, num2 As Long
code1 = fMainForm.m_checkado.Recordset.Fields("貨物編號").Value
num1 = fMainForm.m_checkado.Recordset.Fields("出庫數量").Value
code2 = fMainForm.m_checkado.Recordset.Fields("倉庫編號").Value
'如果是已退出出庫單則直接刪除
If DataGrid1.Columns(12).Text = "已退出" Then
If MsgBox("您確信要刪除該出庫退出單嗎?", vbYesNo Or vbQuestion) = vbNo Then Exit Sub
fMainForm.m_checkado.RecordSource = "select * from 出庫單 where 編號=" + Str(code)
fMainForm.m_checkado.Refresh
fMainForm.m_checkado.Recordset.Delete
fMainForm.m_checkado.Refresh
SaveInit
Adodc1.Refresh
ResumeInit
Exit Sub
End If
fMainForm.m_checkado.RecordSource = "select (貨物信息.最高限量-庫存數量) as 剩余量 from 庫存狀況,貨物信息 where 貨物信息.編號=庫存狀況.貨物編號 and 貨物編號=" + Str(code1) + " and 倉庫編號=" + Str(code2)
fMainForm.m_checkado.Refresh
'當前庫存數量num2
num2 = fMainForm.m_checkado.Recordset.Fields("剩余量").Value
'庫存不足
If num2 < num1 Then
If MsgBox("庫存超額,庫存最大剩余限量為" + Str(num2) + ",入庫量為" + Str(num1) + "," + "要忽略它并強制刪除嗎?", vbQuestion Or vbYesNo) = vbNo Then Exit Sub
End If
'更新庫存狀況
fMainForm.m_checkado.RecordSource = "select * from 庫存狀況 where 貨物編號=" + Str(code1) + " and 倉庫編號=" + Str(code2)
fMainForm.m_checkado.Refresh
'如果已有記錄則更新
If fMainForm.m_checkado.Recordset.RecordCount > 0 Then
If num2 - num1 > 0 Then '剩余限量夠
fMainForm.m_checkado.Recordset.Fields("庫存數量").Value = fMainForm.m_checkado.Recordset.Fields("庫存數量").Value + num1
fMainForm.m_checkado.Recordset.update
Else
fMainForm.m_checkado.Recordset.Fields("庫存數量").Value = fMainForm.m_checkado.Recordset.Fields("庫存數量").Value + num2
fMainForm.m_checkado.Recordset.update
End If
Else '沒有記錄開始創建
fMainForm.m_checkado.RecordSource = "select * from 庫存狀況"
fMainForm.m_checkado.Refresh
'移到記錄最后
Dim ncode As Long
If fMainForm.m_checkado.Recordset.RecordCount > 0 Then
fMainForm.m_checkado.Recordset.MoveLast
ncode = fMainForm.m_checkado.Recordset.Fields("編號").Value + 1
Else
ncode = 1
End If
fMainForm.m_checkado.Recordset.AddNew
fMainForm.m_checkado.Recordset.Fields("編號") = ncode
fMainForm.m_checkado.Recordset.Fields("貨物編號") = code1
fMainForm.m_checkado.Recordset.Fields("倉庫編號") = code2
If num2 > num1 Then
fMainForm.m_checkado.Recordset.Fields("庫存數量") = num1
Else
fMainForm.m_checkado.Recordset.Fields("庫存數量") = num2
End If
fMainForm.m_checkado.Recordset.update
End If
fMainForm.m_checkado.Refresh
'更新出庫單
fMainForm.m_checkado.RecordSource = "select * from 出庫單 where 編號=" + Str(code)
fMainForm.m_checkado.Refresh
fMainForm.m_checkado.Recordset.Delete
fMainForm.m_checkado.Refresh
SaveInit
Adodc1.Refresh
ResumeInit
MsgBox "出庫單刪除成功!"
'寫入系統日志
fMainForm.WriteLog ("刪除出庫單")
quit:
End Sub
Private Sub 退出出庫單_Click()
On Error GoTo quit
Dim code, code1, code2 As Long
code = DataGrid1.Columns(0).Text
If DataGrid1.Columns(12).Text = "已退出" Then
MsgBox "該出庫單已退出!"
Exit Sub
End If
On Error Resume Next
fMainForm.m_checkado.RecordSource = "select 貨物編號,出庫數量,倉庫編號 from 出庫單 where 編號=" + Str(code)
fMainForm.m_checkado.Refresh
Dim num1, num2 As Long
code1 = fMainForm.m_checkado.Recordset.Fields("貨物編號").Value
num1 = fMainForm.m_checkado.Recordset.Fields("出庫數量").Value
code2 = fMainForm.m_checkado.Recordset.Fields("倉庫編號").Value
fMainForm.m_checkado.RecordSource = "select 最高限量 from 貨物信息 where 編號=" + Str(code1)
fMainForm.m_checkado.Refresh
num2 = fMainForm.m_checkado.Recordset.Fields("最高限量").Value
fMainForm.m_checkado.RecordSource = "select 庫存數量 from 庫存狀況 where 貨物編號=" + Str(code1) + " and 倉庫編號=" + Str(code2)
fMainForm.m_checkado.Refresh
If fMainForm.m_checkado.Recordset.RecordCount > 0 Then
num2 = num2 - fMainForm.m_checkado.Recordset.Fields("庫存數量").Value
End If
'當前庫存數量num2
num2 = fMainForm.m_checkado.Recordset.Fields("剩余量").Value
'庫存不足
If num2 < num1 Then
MsgBox "庫存超額,庫存最大剩余限量為" + Str(num2) + ",入庫量為" + Str(num1) + "."
Exit Sub
Else
'更新庫存狀況
fMainForm.m_checkado.RecordSource = "select * from 庫存狀況 where 貨物編號=" + Str(code1) + " and 倉庫編號=" + Str(code2)
fMainForm.m_checkado.Refresh
'如果已有記錄則更新
If fMainForm.m_checkado.Recordset.RecordCount > 0 Then
If num2 - num1 > 0 Then '剩余限量夠
fMainForm.m_checkado.Recordset.Fields("庫存數量").Value = fMainForm.m_checkado.Recordset.Fields("庫存數量").Value + num1
fMainForm.m_checkado.Recordset.update
Else
fMainForm.m_checkado.Recordset.Fields("庫存數量").Value = fMainForm.m_checkado.Recordset.Fields("庫存數量").Value + num2
fMainForm.m_checkado.Recordset.update
End If
Else '沒有記錄開始創建
fMainForm.m_checkado.RecordSource = "select * from 庫存狀況"
fMainForm.m_checkado.Refresh
'移到記錄最后
Dim ncode As Long
If fMainForm.m_checkado.Recordset.RecordCount > 0 Then
fMainForm.m_checkado.Recordset.MoveLast
ncode = fMainForm.m_checkado.Recordset.Fields("編號").Value + 1
Else
ncode = 1
End If
fMainForm.m_checkado.Recordset.AddNew
fMainForm.m_checkado.Recordset.Fields("編號") = ncode
fMainForm.m_checkado.Recordset.Fields("貨物編號") = code1
fMainForm.m_checkado.Recordset.Fields("倉庫編號") = code2
If num2 > num1 Then
fMainForm.m_checkado.Recordset.Fields("庫存數量") = num1
Else
fMainForm.m_checkado.Recordset.Fields("庫存數量") = num2
End If
fMainForm.m_checkado.Recordset.update
End If
fMainForm.m_checkado.Refresh
'更新出庫單
fMainForm.m_checkado.RecordSource = "select * from 出庫單 where 編號=" + Str(code)
fMainForm.m_checkado.Refresh
fMainForm.m_checkado.Recordset.Fields("定單狀況") = "已退出"
fMainForm.m_checkado.Recordset.update
fMainForm.m_checkado.Refresh
SaveInit
Adodc1.Refresh
ResumeInit
MsgBox "出庫單退出成功!"
'寫入系統日志
fMainForm.WriteLog ("退出出庫單")
End If
quit:
End Sub
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -