【正文】
言分解翻譯成計(jì)算機(jī)可以識別的機(jī)器指令,并判斷每個(gè)語句的語法錯(cuò)誤。訪問數(shù)據(jù)庫Visual Basic具有強(qiáng)大的數(shù)據(jù)庫管理功能,利用數(shù)據(jù)控件和數(shù)據(jù)庫管理窗口,可以直接建立或處理Microsoft Access格式的數(shù)據(jù)庫,并提供了強(qiáng)大的數(shù)據(jù)存儲(chǔ)和檢索功能。對象的鏈接與嵌入(OLE)對象的鏈接與嵌入(OLE)將每個(gè)應(yīng)用程序都看做是一個(gè)對象(object),將不同的對象鏈接(link)起來,再嵌入(embed)某個(gè)應(yīng)用程序中,從而可以得到具有聲音、影像、圖像、動(dòng)畫、文字等各種信息的集合式的文件。但它可以通過動(dòng)態(tài)鏈接庫技術(shù)將C/C++或匯編語言編寫的程序加入到Visual Basic應(yīng)用程序中,可以像調(diào)用內(nèi)部函數(shù)一樣調(diào)用其他語言編寫的函數(shù)。SQL Server 、穩(wěn)定性、便于管理和易于開發(fā)的優(yōu)勢。除此而外SQL Server 2000充分的利用了Windows 2000的功能。 在ADO對象模型中,主要有三個(gè)用于數(shù)據(jù)庫訪問的對象:Connection對象提供了一個(gè)通向數(shù)據(jù)源的途徑,Command對象包含了執(zhí)行SQL語句或存儲(chǔ)過程所需要的信息,Record對象包含了詢問的結(jié)果。Record對象用于說明諸如此類的信息:文件系統(tǒng)中的子目錄和文件、電子郵件系統(tǒng)中的文件夾或信息。第二章結(jié)合軟件工程方法,對系統(tǒng)進(jìn)行需求分析、功能劃分、數(shù)據(jù)流圖設(shè)計(jì),并結(jié)合數(shù)據(jù)庫原理和功能劃分進(jìn)行ER圖的繪制、數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì),第三章根據(jù)需求分析的結(jié)果,用戶概念數(shù)據(jù)模型表示數(shù)據(jù)及其相互間的聯(lián)系。 核心任務(wù)本系統(tǒng)的主要功能是制定生產(chǎn)/采購計(jì)劃,物料需求計(jì)算,材料供求分析,其核心任務(wù)是:降低材料成本,降低庫存成本,縮短生產(chǎn)/采購周期,如何獲得更高的利潤。供應(yīng)商信息,包括的數(shù)據(jù)項(xiàng)有:供應(yīng)商編號,供應(yīng)商名稱,地址,郵政編碼,電話號碼,公司主頁,電子郵件地址,稅號,開戶銀行,聯(lián)系人,備注信息等。進(jìn)貨訂單信息,包括的數(shù)據(jù)項(xiàng)有:訂貨日期,編號,業(yè)務(wù)員,供應(yīng)商編號,產(chǎn)品編號,數(shù)量,單價(jià),折扣比例,總金額,備注信息等。轉(zhuǎn)倉信息,包括的數(shù)據(jù)項(xiàng)有:轉(zhuǎn)倉日期,編號,業(yè)務(wù)員,轉(zhuǎn)出倉庫的編號,轉(zhuǎn)入倉庫的編號,產(chǎn)品編號,數(shù)量,總金額,備注信息等。包括銷售單的管理以及銷售信息的查詢等。數(shù)據(jù)庫及其應(yīng)用系統(tǒng)開發(fā)全過程可分為以下幾個(gè)步驟:(一)需求分析;(二)數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計(jì)3.2 需求分析上章我們已經(jīng)做了詳細(xì)的分析在此不在進(jìn)行說明了。邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)就是把設(shè)計(jì)好的基本ER圖轉(zhuǎn)換為與選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。數(shù)據(jù)庫由下面多個(gè)表格組成,各個(gè)表格的設(shè)計(jì)結(jié)果如下面表格所示。同時(shí)在這個(gè)模塊中設(shè)置公用模塊來存放整個(gè)工程項(xiàng)目公用的函數(shù)、過程和全局變量。 _ query successful Else Set rst = New Trim$(SQL), n, _ adOpenKeyset, _ adLockOptimistic 39。 _ 條記錄 End IfExecuteSQL_Exit: Set rst = Nothing Set n = Nothing Exit Function ExecuteSQL_Error: MsgString = 查詢錯(cuò)誤: amp。在ExecuteSQL函數(shù)中使用了ConnectString函數(shù),這個(gè)函數(shù)用來連接數(shù)據(jù)庫。data source=d2jf21。所有的功能模塊都需要這個(gè)函數(shù),所以我們將它放在公用模塊中,代碼如下:Public Sub EnterToTab(Keyasc As Integer) If Keyasc = 13 Then SendKeys {TAB} End IfEnd SubKeyasc 用來保存當(dāng)前按鍵,SendKeys函數(shù)用來指定的按鍵。這個(gè)判斷需要在系統(tǒng)運(yùn)行的最初的進(jìn)行,因此將代碼放在公用模塊中。for WZ setup 產(chǎn)品設(shè)置全局變量Public gintGFSmode As Integer 39。for YWY setup 業(yè)務(wù)員設(shè)置全局變量Public gintCKSmode As Integer 39。for ruku huo 入庫單全局變量Public gintXSDHmode As Integer 39。for ying shou 應(yīng)付全局變量Public gintOFFERmode As Integer 39。固定表頭 .FixedRows = 1 39。 , yyyymmdd) Case Else .TextMatrix(.Rows 1, i) = (i 1) amp。 載入窗體時(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。代碼如下: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。添加判斷是否有相同的ID記錄 If gintWZSmode = 1 Then txtSQL = select * from dm_wz where dm =39。 Set mrc = ExecuteSQL(txtSQL, msgText) If = False Then MsgBox 已經(jīng)存在此產(chǎn)品編號的記錄!, vbOKOnly + vbExclamation, 警告 txtItem(0).SetFocus Exit Sub End If End If 39。 39。 Trim(txtItem(intCount)) amp。 Trim(Combo1(1)) amp。 Trim(txtItem(intCount)) amp。 Trim(txtItem(8)) 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。 1 Else MsgBox 警告, vbOKOnly + vbExclamation, 請首先選擇需要修改的紀(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除編號為 amp。 Trim((intCount, 1)) amp。 產(chǎn)品入庫需要實(shí)現(xiàn)入庫和庫存信息的更新。 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)的功能是:訂貨單的管理、入庫單的管理、進(jìn)貨信息的查詢。 的進(jìn)貨單記錄嗎?, vbOKCancel + vbExclamation, 警告) = vbOK Then intCount = txtSQL = delete from dh where dh_no =39。 Trim((intCount, 1)) amp。 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)如下圖所示的窗體。,39。,39。,39。再加入新記錄 txtSQL = execute wz_setup 39。 amp。 Trim(txtItem(0)) amp。 不能為空! 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。 修改 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輸入完畢后,單擊“保存”按鈕。邊界處理 If 10 * Then Exit Sub End If If + / 2 Then Exit Sub End If 39。表頭項(xiàng)居中 .FillStyle = flexFillRepeat .Col = 0 .Row = 0 .RowSel = 1 .ColSel = .Cols 1 .CellAlignment = 4 39。這個(gè)窗體用來顯示產(chǎn)品設(shè)置信息,并且可以對各條記錄進(jìn)行操作。for xiao shou ding dan 銷售單全局變量Public gintZCmode As Integer 39。for WZLB setup 產(chǎn)品類別設(shè)置全局變量Public gintDHmode As Integer 39。for