?? frmmain.frm
字號:
'單擊“員工管理”對應的Label控件,彈出員工管理窗體模塊
mnuSet_employee_Click
Exit Sub
Case 3
'單擊“物品”對應的Label控件,彈出物品管理窗體模塊
mnuSet_product_Click
Exit Sub
Case 4
'單擊“供應商管理”對應的Label控件,彈出供應商管理管理窗體模塊
mnuSet_supplier_Click
Exit Sub
Case 5
'單擊“物品類別管理”對應的Label控件,彈出物品類別管理管理窗體模塊
mnuSet_protype_Click
Exit Sub
End Select
End Sub
Private Sub Labtjcx_Click(Index As Integer)
Select Case Index
Case 1 '入庫單查詢
mnuSql_djps_Click
Exit Sub
Case 2 '出庫單管理
mnuSql_djsales_Click
Exit Sub
Case 3 '
Exit Sub
End Select
End Sub
Private Sub Labxtwh_Click(Index As Integer)
Select Case Index
' Case 1 '期初庫存錄入
' mnuSys_begqty_Click
' Exit Sub
Case 1 '系統啟用
mnuSys_start_Click
Exit Sub
Case 2 '操作員設置
mnuSys_user_Click
Exit Sub
Case 3 '資料刪除
mnuSys_delete_Click
Exit Sub
Case 4 '月終結轉
mnuSys_trans_Click
Exit Sub
End Select
End Sub
Private Sub MDIForm_Load()
'定義存儲sql語句的變量strSQL
Dim strSQL As String
'strSQL = "select offline from r_parameter"
'設置并執行變量strSQL代表的sql語句,已返回數據集rsSys,
'使其返回users表中的用戶名為全局變量strCurUser代表的值的記錄
strSQL = "select * from users where user_name='" & strCurUser & "'"
Set rsSys = New ADODB.Recordset
rsSys.Open strSQL, DEjxc.Conjxc, adOpenDynamic, adLockOptimistic
rsSys.MoveFirst
'判斷是否存在該用戶
If Not rsSys.EOF Then
'存在該用戶,根據系統登陸用戶的操作權限來設置各個菜單項的使能狀態
Dim i As Integer
Me.mnuAct_dj.Enabled = rsSys.Fields("單據管理")
For i = 0 To Me.Labdjcl.Count - 1
Me.Labdjcl(i).Enabled = rsSys.Fields("單據管理")
Next i
Me.mnuSql.Enabled = rsSys.Fields("統計查詢")
For i = 0 To Me.Labtjcx.Count - 1
Me.Labtjcx(i).Enabled = rsSys.Fields("統計查詢")
Next i
Me.mnuReport.Enabled = rsSys.Fields("報表管理")
For i = 0 To Me.Labbbgl.Count - 1
Me.Labbbgl(i).Enabled = rsSys.Fields("報表管理")
Next i
Me.mnuSet_jczl.Enabled = rsSys.Fields("輔助項目管理")
For i = 0 To Me.Labfzxmgl.Count - 1
Me.Labfzxmgl(i).Enabled = rsSys.Fields("輔助項目管理")
Next i
Me.mnuSystem.Enabled = rsSys.Fields("系統維護")
For i = 0 To Me.Labxtwh.Count - 1
Me.Labxtwh(i).Enabled = rsSys.Fields("系統維護")
Next i
End If
'關閉數據集對象rsSys
rsSys.Close
'初始化主窗體中用到的命令對象cmSys
Set cmSys = New ADODB.Command
'設置命令對象cmSys的數據庫連接對象
cmSys.ActiveConnection = DEjxc.Conjxc
cmSys.CommandType = adCmdText
'在系統主窗體右側PictureBox容器中的Label控件中顯示當前日期和登陸用戶名稱
Me.Labdqrq(1).Caption = Date
Me.Labczyh(1).Caption = strCurUser
End Sub
Private Sub MDIForm_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Call mnuExit_Click
If intNumWindows > 0 Then
Cancel = True
End If
Set rsSys = Nothing
Set cmSys = Nothing
End Sub
Private Sub mnuEdit_other_Click()
FrmOtherEdit.Show
End Sub
Private Sub mnuEdit_ps_Click()
FrmPsEdit.Show
End Sub
Private Sub mnuEdit_sales_Click()
FrmSaleEdit.Show
End Sub
Private Sub mnuExit_Click()
If intNumWindows = 0 Then
Unload Me
Else
MsgBox "請關閉所有子程序后再關閉該主程序!", vbCritical, "提示"
End If
End Sub
Private Sub mnuRec_other_Click()
FrmOtherChk.Show
End Sub
Private Sub mnuRec_ps_Click()
FrmPsChk.Show
End Sub
Private Sub mnuRec_sales_Click()
FrmSaleChk.Show
End Sub
Private Sub mnuReport_DetailUse_Click()
FrmRptDetUse.Show
End Sub
Private Sub mnuReport_Mat_Click()
FrmRptMat.Show
End Sub
Private Sub mnuReport_TotalUse_Click()
FrmRptTotUse.Show
End Sub
Private Sub mnuReport_TotalYearUse_Click()
FrmRptYearUse.Show
End Sub
Private Sub mnuSet_department_Click()
Load FrmSetDep
FrmSetDep.Show
End Sub
Private Sub mnuSet_employee_Click()
FrmSetEmp.Show
End Sub
Private Sub mnuSet_product_Click()
FrmSetPro.Show
End Sub
Private Sub mnuSet_protype_Click()
FrmSetPrTy.Show
End Sub
Private Sub mnuSet_supplier_Click()
FrmSetSup.Show
End Sub
Private Sub mnuSql_djother_Click()
FrmOtherSql.Show
End Sub
Private Sub mnuSql_djps_Click()
FrmPsSql.Show
End Sub
Private Sub mnuSql_djsales_Click()
FrmSaleSql.Show
End Sub
Private Sub mnuSys_begqty_Click()
FrmSetMattmp.Show
End Sub
Private Sub mnuSys_delete_Click()
Dim intDel As Integer
Dim strSQL As String
intDel = MsgBox("確認要刪除所有資料碼?", vbInformation + vbYesNo, "刪除確認")
If intDel = vbYes Then
strSQL = "delete from department"
cmSys.CommandText = strSQL
cmSys.Execute
strSQL = "delete from employee"
cmSys.CommandText = strSQL
cmSys.Execute
strSQL = "delete from mat_detail"
cmSys.CommandText = strSQL
cmSys.Execute
strSQL = "delete from mat_head"
cmSys.CommandText = strSQL
cmSys.Execute
strSQL = "select p_id,qty,price into mat_tmp from mat_head"
cmSys.CommandText = strSQL
cmSys.Execute
strSQL = "drop table mat_head"
cmSys.CommandText = strSQL
cmSys.Execute
strSQL = "select p_id,qty,price into mat_head from mat_tmp"
cmSys.CommandText = strSQL
cmSys.Execute
strSQL = "update mat_head set qty=0,price=0"
cmSys.CommandText = strSQL
cmSys.Execute
strSQL = "drop table mat_tmp"
cmSys.CommandText = strSQL
cmSys.Execute
strSQL = "delete from product"
cmSys.CommandText = strSQL
cmSys.Execute
strSQL = "delete from product_type"
cmSys.CommandText = strSQL
cmSys.Execute
strSQL = "delete from supplier"
cmSys.CommandText = strSQL
cmSys.Execute
strSQL = "delete from order_detail_a"
cmSys.CommandText = strSQL
cmSys.Execute
strSQL = "delete from order_detail_b"
cmSys.CommandText = strSQL
cmSys.Execute
strSQL = "delete from ps_head_a"
cmSys.CommandText = strSQL
cmSys.Execute
strSQL = "delete from ps_head_b"
cmSys.CommandText = strSQL
cmSys.Execute
strSQL = "delete from other_head_a"
cmSys.CommandText = strSQL
cmSys.Execute
strSQL = "delete from other_head_b"
cmSys.CommandText = strSQL
cmSys.Execute
strSQL = "delete from sale_detail_a"
cmSys.CommandText = strSQL
cmSys.Execute
strSQL = "delete from sale_detail_b"
cmSys.CommandText = strSQL
cmSys.Execute
strSQL = "delete from sale_head_a"
cmSys.CommandText = strSQL
cmSys.Execute
strSQL = "delete from sale_head_b"
cmSys.CommandText = strSQL
cmSys.Execute
strSQL = "update r_parameter set offline=true,psnumber=0"
cmSys.CommandText = strSQL
cmSys.Execute
MsgBox "資料刪除完畢!", vbInformation, "資料刪除"
End If
Me.mnuAct_dj.Enabled = False
Me.mnuSql.Enabled = False
Me.mnuReport.Enabled = False
Me.mnuSys_trans.Enabled = False
Me.mnuSys_start.Enabled = True
' Me.mnuSys_begqty.Enabled = True
End Sub
Private Sub mnuSys_start_Click()
Dim strBeg As String
Dim strYear, strMonth As String
Dim strSQL As String
'彈出對話框,要求用戶輸入系統啟用的時間
strBeg = InputBox("請輸入系統啟用時間", "系統啟用", CStr(Date))
'判斷輸入的時間是否為空,如果為空,則退出該過程
If strBeg = "" Then
Exit Sub
End If
'判斷輸入的系統啟用時間是否符合日期格式
If IsDate(strBeg) Then
'輸入的系統啟用時間符合日期格式
'從變量strBeg表示的日期中取出年份
strYear = Right(CStr(Year(CDate(strBeg))), 2)
'從變量strBeg表示的日期中取出月份
strMonth = Format(CStr(Month(CDate(strBeg))), "0#")
'設置并執行sql語句,在表mat_head中添加一個single類型的字段qty
strSQL = "alter table mat_head add column qty" & strYear & strMonth _
& " single"
cmSys.CommandText = strSQL
cmSys.Execute
'設置并執行sql語句,在表mat_head中添加一個currency類型的字段price
strSQL = "alter table mat_head add column price" & strYear & strMonth _
& " currency"
cmSys.CommandText = strSQL
cmSys.Execute
'設置并執行sql語句,更改表mat_head中的字段qty和price的值,
'即存儲當前物品的總數量和總金額
strSQL = "update mat_head set qty" & strYear & strMonth & "=qty," & _
" price" & strYear & strMonth & "=price"
cmSys.CommandText = strSQL
cmSys.Execute
'設置并執行sql語句,更改表r_parameter中的字段pass_date、offline和monthdate的值,
'即存儲系統的啟用時間和月結轉時間
strSQL = "update r_parameter set pass_date=cdate('" & strBeg & _
"'),offline=false,monthdate=cdate('" & strBeg & "')"
cmSys.CommandText = strSQL
cmSys.Execute
'設置菜單項的使能狀態
Me.mnuAct_dj.Enabled = True
Me.mnuSql.Enabled = True
Me.mnuReport.Enabled = True
Me.mnuSys_trans.Enabled = True
Me.mnuSys_start.Enabled = False
'彈出對話框,提示用戶系統已正式啟用
MsgBox "系統已正式啟用!", vbInformation, "系統啟用"
Else
'輸入的系統啟用時間不符合日期格式,給出錯誤提示
MsgBox "日期格式錯誤!", vbCritical, "啟用錯誤"
Exit Sub
End If
End Sub
Private Sub mnuSys_trans_Click()
Dim strBeg As String
Dim strYear, strMonth As String
Dim strSQL As String
'彈出對話框,要求用戶輸入月終結轉時間
strBeg = InputBox("請輸入月終結轉時間", "月終結轉", CStr(Date))
'判斷輸入的系統啟用時間是否為空
If strBeg = "" Then
'輸入的系統啟用時間為空,退出該過程
Exit Sub
End If
'判斷輸入的系統啟用時間是否符合日期格式
If IsDate(strBeg) Then
'輸入的系統啟用時間符合日期格式
'設置并執行sql語句,已返回表 r_parameter中的記錄
strSQL = "select monthdate from r_parameter"
Set rsSys = New ADODB.Recordset
rsSys.Open strSQL, DEjxc.Conjxc, adOpenDynamic, adLockOptimistic
rsSys.MoveFirst
'判斷輸入的月終結轉時間是否大于上次結轉的時間
If Format(CDate(strBeg), "yyyy-mm") > Format(rsSys!monthdate, "yyyy-mm") Then
'輸入的月終結轉時間大于上次結轉的時間
' 從變量strBeg表示的日期中取出年份
strYear = Right(CStr(Year(CDate(strBeg))), 2)
'從變量strBeg表示的日期中取出月份
strMonth = Format(CStr(Month(CDate(strBeg))), "0#")
'設置并執行sql語句,在表mat_head中添加一個single類型的字段qty
strSQL = "alter table mat_head add column qty" & strYear & strMonth _
& " single"
cmSys.CommandText = strSQL
cmSys.Execute
'設置并執行sql語句,在表mat_head中添加一個currency類型的字段price
strSQL = "alter table mat_head add column price" & strYear & strMonth _
& " currency"
cmSys.CommandText = strSQL
cmSys.Execute
'設置并執行sql語句,更改表mat_head中的字段qty和price的值,
'即存儲當前物品的總數量和總金額
strSQL = "update mat_head set qty" & strYear & strMonth & "=qty," & _
" price" & strYear & strMonth & "=price"
cmSys.CommandText = strSQL
cmSys.Execute
'設置并執行sql語句,更改表r_parameter中的字段monthdate的值,
'即存儲此次月結轉的操作日期
strSQL = "update r_parameter set monthdate=cdate('" & strBeg & "')"
cmSys.CommandText = strSQL
cmSys.Execute
'彈出對話框,提示用戶系統月份結轉完畢
MsgBox "月份結轉完畢!", vbInformation, "月終結轉"
Else
'輸入的月終結轉時間不大于上次結轉的時間,給出“該月份已經月終結轉”的提示
MsgBox "該月份已經月終結轉!", vbCritical, "月終結轉錯誤"
End If
Else
'輸入的系統啟用時間不符合日期格式,給出錯誤提示
MsgBox "日期格式錯誤!", vbCritical, "啟用錯誤"
Exit Sub
End If
End Sub
Private Sub mnuSys_user_Click()
FrmSetUser.Show
End Sub
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -