【正文】
產(chǎn)品入庫(kù)需要實(shí)現(xiàn)入庫(kù)和庫(kù)存信息的更新。 Set mrc = ExecuteSQL(txtSQL, msgText) Unload frmdh = select dh_no,in_date,ywman,gfdm,wzdm,sl,in_danj,i_zk,i_zke,bz from dh End If End IfEnd Sub4.3進(jìn)貨信息管理模塊的創(chuàng)建 在這個(gè)模塊中我們要實(shí)現(xiàn)的功能是:訂貨單的管理、入庫(kù)單的管理、進(jìn)貨信息的查詢。 Trim((intCount, 1)) amp。 的進(jìn)貨單記錄嗎?, vbOKCancel + vbExclamation, 警告) = vbOK Then intCount = txtSQL = delete from dh where dh_no =39。 1 Else MsgBox 警告, vbOKOnly + vbExclamation, 請(qǐng)首先選擇需要修改的紀(jì)錄! End If End IfEnd Sub在產(chǎn)品設(shè)置信息列表中選擇需要?jiǎng)h除的記錄,然后單擊“刪除”按鈕,將刪除當(dāng)前記錄,代碼如下:Private Sub cmdDelete_Click() Dim txtSQL As String Dim intCount As Integer Dim mrc As Dim msgText As String If 1 Then If MsgBox(真的要?jiǎng)h除編號(hào)為 amp。 Trim((intCount, 1)) amp。代碼如下:Private Sub cmdModify_Click() Dim intCount As Integer If 1 Then gintDHmode = 2 intCount = If intCount 0 Then = select * from dh where dh_no =39。 Set mrc = ExecuteSQL(txtSQL, msgText) If gintWZSmode = 1 Then MsgBox 添加記錄成功!, vbOKOnly + vbExclamation, 添加記錄 For intCount = 0 To 8 txtItem(intCount) = Next intCount txtItem(7) = Format(Now, yyyymmdd) mblChange = False Unload frmWZSetup = select * from dm_wz ElseIf gintWZSmode = 2 Then Unload Me Unload frmWZSetup = select * from dm_wz End If End Sub在產(chǎn)品信息列表中選擇需要修改的記錄為,然后單擊“修改”按鈕,將出現(xiàn)如下圖所示的窗體。 Trim(txtItem(8)) amp。,39。 Trim(txtItem(intCount)) amp。,39。 Trim(Combo1(1)) amp。,39。 Trim(txtItem(intCount)) amp。再加入新記錄 txtSQL = execute wz_setup 39。 39。 amp。 Set mrc = ExecuteSQL(txtSQL, msgText) If = False Then MsgBox 已經(jīng)存在此產(chǎn)品編號(hào)的記錄!, vbOKOnly + vbExclamation, 警告 txtItem(0).SetFocus Exit Sub End If End If 39。 Trim(txtItem(0)) amp。添加判斷是否有相同的ID記錄 If gintWZSmode = 1 Then txtSQL = select * from dm_wz where dm =39。 不能為空! MsgBox sMeg, vbOKOnly + vbExclamation, 警告 txtItem(intCount).SetFocus Exit Sub End If Next intCount For intCount = 3 To 5 If Not IsNumeric(Trim(txtItem(intCount))) Then sMeg = 產(chǎn)品價(jià)格 sMeg = sMeg amp。代碼如下:Private Sub cmdSave_Click() Dim intCount As Integer Dim sMeg As String Dim msgText As String For intCount = 0 To 7 If Trim(txtItem(intCount) amp。 修改 End If Combo1(1).Clear txtItem(7) = Format(Now, yyyymmdd) txtItem(7).Enabled = False txtSQL = select lb from dm_wzlb Set mrcc = ExecuteSQL(txtSQL, msgText) If Not Then Do While Not Combo1(1).AddItem (0) Loop End If mblChange = FalseEnd Sub輸入完畢后,單擊“保存”按鈕。 載入窗體時(shí),首先根據(jù)標(biāo)志變量判斷狀態(tài),然后決定是添加還是修改,代碼如下:Private Sub Form_Load() Dim intCount As Integer Dim msgText As String Dim i As Integer Dim mrcc As If gintWZSmode = 1 Then = amp。邊界處理 If 10 * Then Exit Sub End If If + / 2 Then Exit Sub End If 39。 , yyyymmdd) Case Else .TextMatrix(.Rows 1, i) = (i 1) amp。表頭項(xiàng)居中 .FillStyle = flexFillRepeat .Col = 0 .Row = 0 .RowSel = 1 .ColSel = .Cols 1 .CellAlignment = 4 39。固定表頭 .FixedRows = 1 39。這個(gè)窗體用來顯示產(chǎn)品設(shè)置信息,并且可以對(duì)各條記錄進(jìn)行操作。for ying shou 應(yīng)付全局變量Public gintOFFERmode As Integer 39。for xiao shou ding dan 銷售單全局變量Public gintZCmode As Integer 39。for ruku huo 入庫(kù)單全局變量Public gintXSDHmode As Integer 39。for WZLB setup 產(chǎn)品類別設(shè)置全局變量Public gintDHmode As Integer 39。for YWY setup 業(yè)務(wù)員設(shè)置全局變量Public gintCKSmode As Integer 39。for KH setup 客戶設(shè)置全局變量Public gintYWYLBSmode As Integer 39。for WZ setup 產(chǎn)品設(shè)置全局變量Public gintGFSmode As Integer 39。Login Failed so exit app End End If Unload fLogin Set fMainForm = New frmMain End Sub過程Main將在系統(tǒng)啟動(dòng)時(shí)首先執(zhí)行,這就保證對(duì)用戶的管理。這個(gè)判斷需要在系統(tǒng)運(yùn)行的最初的進(jìn)行,因此將代碼放在公用模塊中。由于系統(tǒng)啟動(dòng)后,需要對(duì)用用戶進(jìn)行判斷。所有的功能模塊都需要這個(gè)函數(shù),所以我們將它放在公用模塊中,代碼如下:Public Sub EnterToTab(Keyasc As Integer) If Keyasc = 13 Then SendKeys {TAB} End IfEnd SubKeyasc 用來保存當(dāng)前按鍵,SendKeys函數(shù)用來指定的按鍵。password=fwqa。data source=d2jf21。returns a DB ConnectString ConnectString = provider=SQLOLEDB。在ExecuteSQL函數(shù)中使用了ConnectString函數(shù),這個(gè)函數(shù)用來連接數(shù)據(jù)庫(kù)。其中SQL用來存放需要執(zhí)行的SQL語(yǔ)句,MsgString用來返回執(zhí)行的提示信息。 _ 條記錄 End IfExecuteSQL_Exit: Set rst = Nothing Set n = Nothing Exit Function ExecuteSQL_Error: MsgString = 查詢錯(cuò)誤: amp。get RecordCount Set ExecuteSQL = rst MsgString = 查詢到 amp。 _ query successful Else Set rst = New Trim$(SQL), n, _ adOpenKeyset, _ adLockOptimistic 39。添加函數(shù)ExecuteSQL,代碼如下:Public Function ExecuteSQL(ByVal SQL _ As String, MsgString As String) _ As 39。同時(shí)在這個(gè)模塊中設(shè)置公用模塊來存放整個(gè)工程項(xiàng)目公用的函數(shù)、過程和全局變量。創(chuàng)建數(shù)據(jù)庫(kù)和存儲(chǔ)過程如下:CREATE TABLE [dbo].[dh] ( [in_date] [datetime] NULL , [ywman] [char] (8) COLLATE Chinese_PRC_CI_AS NULL , [dh_no] [char] (8) COLLATE Chinese_PRC_CI_AS NOT NULL , [gfdm] [char] (8) COLLATE Chinese_PRC_CI_AS NULL , [wzdm] [char] (30) COLLATE Chinese_PRC_CI_AS NOT NULL , [sl] [numeric](10, 0) NOT NULL , [in_danj] [numeric](12, 2) NULL , [i_zk] [numeric](5, 0) NULL , [i_zke] [numeric](12, 2) NULL , [bz] [char] (100) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY]GOCREATE TABLE [dbo].[dm_ck] ( [dm] [char] (6) COLLATE Chinese_PRC_CI_AS NOT NU