【正文】
st屬性:列表框控件的表項是使用數(shù)組的方式保存,數(shù)組的每一個元素存儲列表控件的一個表項1) Listcount屬性:控件列表部分項目的個數(shù)。2) Mutselect屬性:可以設(shè)置列表框為單選或允許多選屬性.3) Selectd屬性:標(biāo)示一個數(shù)組,數(shù)組各元素為:4) Selected(0),selected(1)…u 滾動條類的控件:1) Value屬性:滾動條上滑塊所在位置由value值所決定。2) Max和min屬性:對value值的最大,最小進(jìn)行限制。3) Largechange屬性:用戶點擊滾動條與鍵頭之間的區(qū)域時,value的改變量。4) OnClick事件:用來添加按鈕的單擊事件所執(zhí)行的程序代碼。u 定時器類類的控件:1) Interval屬性:表示定時的時間間隔,以毫秒為單位。2) Enable屬性:為true時(缺省值),激活定時器開始計時。為false時處于休眠狀態(tài).Visual :一是:用data控件進(jìn)行數(shù)據(jù)庫鏈接 ,二是利用adodc(ADO Data Control)進(jìn)行數(shù)據(jù)庫鏈接 。三是: (ActiveX Data Objects)進(jìn)行編程:現(xiàn)在我們來大致對這幾種技術(shù)應(yīng)用介紹:一、 用data控件進(jìn)行數(shù)據(jù)庫鏈接. 第一步:給窗體添加一個Data控件。第二步:用Access建立一個名為Pad的數(shù)據(jù)庫,在庫中建立一個表Myset,給表添加四個字段:backcolor(數(shù)據(jù)),forecolor(文本),fontname(文本),fontsize(文本)。注意:請將庫文件存入程序所在目錄。 如果你的機(jī)器沒安裝有Access,可通過VB建庫。二、 利用adodc(ADO Data Control)進(jìn)行數(shù)據(jù)庫鏈接:使用adodata控件訪問數(shù)據(jù)庫可以完全不用編寫代碼,只需要通過簡單的設(shè)置和操作其屬性就可以實現(xiàn)與數(shù)據(jù)庫的連接,通過綁定數(shù)據(jù)感知控件,就能提供一個訪問數(shù)據(jù)庫的界面,用來實現(xiàn)對數(shù)據(jù)庫的瀏覽,貼加,刪除,修改等操作.三、 利用DAO對數(shù)據(jù)庫進(jìn)行操縱:在visual basic 中提供了兩種與jet數(shù)據(jù)引擎接口的方法:data控件與數(shù)據(jù)訪問對象(DAO)DAO是database object的英文縮寫,要訪問數(shù)據(jù)庫一方面數(shù)據(jù)庫要提供訪問接口,另一方面要在編程環(huán)境中有對數(shù)據(jù)庫的支持.,這其中包括建立數(shù)據(jù)庫,定義表,字段和建立表間關(guān)系,定位和查詢數(shù)據(jù)庫等.關(guān)系數(shù)據(jù)庫介紹:關(guān)系數(shù)據(jù)庫是目前各類數(shù)據(jù)庫中最重要、最流行的數(shù)據(jù)庫,他應(yīng)用數(shù)學(xué)方法來處理數(shù)據(jù)庫數(shù)據(jù),是目前使用最廣泛的數(shù)據(jù)庫系統(tǒng)。20世紀(jì)70年代以后開發(fā)的數(shù)據(jù)庫管理系統(tǒng)產(chǎn)品幾乎都是基于關(guān)系的。在數(shù)據(jù)庫發(fā)展的歷史上,最重要的成就就是關(guān)系模型。 關(guān)系數(shù)據(jù)庫系統(tǒng)與非關(guān)系數(shù)據(jù)庫系統(tǒng)的區(qū)別是:關(guān)系系統(tǒng)只有“表“這一種數(shù)據(jù)結(jié)構(gòu);而非關(guān)系數(shù)據(jù)庫系統(tǒng)還有其他數(shù)據(jù)結(jié)構(gòu),對這些數(shù)據(jù)結(jié)構(gòu)有其他的操作。結(jié)構(gòu)化查詢語言SQL(Structured Query Language)是一種介于關(guān)系代數(shù)與關(guān)系演算之間的語言,其功能包括查詢、操縱、定義和控制四個方面,是一個通用的、功能極強(qiáng)的關(guān)系數(shù)據(jù)庫語言。目前已成為關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)語言MicrosoftAccess介紹:使用MicrosoftAccess,可以在單一的數(shù)據(jù)庫文件中管理所有的信息。在這個文件中,用戶可以將自己的數(shù)據(jù)分別保存在各自獨(dú)立的存儲空間中,這些空間稱作表;可以使用聯(lián)機(jī)窗體來查看、添加及更新表中的數(shù)據(jù);使用查詢來查找并檢索所要的數(shù)據(jù);也可以使用報表以特定的版面布置來分析及打印數(shù)據(jù)。 如果要保存數(shù)據(jù),請為每一種類型的信息創(chuàng)建一個表。如果要從查詢、窗體或報表中的多個表中將數(shù)據(jù)合并在一起,就要定義各個表之間的關(guān)系。 如果要搜索并檢索符合指定條件的數(shù)據(jù),包括來自多個表中的數(shù)據(jù),就要創(chuàng)建查詢。查詢的同時也可以更新或刪除多條記錄,并對數(shù)據(jù)執(zhí)行內(nèi)嵌或自定義的計算。 如果要簡單地直接在某個表中查看、輸入及更改數(shù)據(jù),請創(chuàng)建一個窗體。在打開一個窗體時,MicrosoftAccess將從一個或多個表中檢索數(shù)據(jù),并使用用戶在“窗體向?qū)А边x擇的版面布局或所創(chuàng)建的版面布局,將窗體顯示在屏幕上。 如果要分析數(shù)據(jù)或?qū)?shù)據(jù)以特定的方式打印出來,請創(chuàng)建一個報表。例如,可以打印一份將數(shù)據(jù)分組并計算數(shù)據(jù)總和的報表,也可以打印另一份帶有各種數(shù)據(jù)格式的打印郵件標(biāo)簽的報表。第二章 系統(tǒng)的設(shè)計3.1 系統(tǒng)的功能結(jié)構(gòu)設(shè)計主界面系統(tǒng)物資管理倉庫管理物資信息查詢數(shù)據(jù)統(tǒng)計3.2 系統(tǒng)的數(shù)據(jù)庫設(shè)計1. 商品表::::5:Outlib表:6:outlibdetail表:3.3 界面設(shè)計與代碼設(shè)計:代碼分析:Option ExplicitDim Myws As WorkspaceDim Mydb As DatabaseDim Myrs1 As RecordsetDim Myrs2 As RecordsetPrivate Sub cmdAdd_Click() Dim count As Integer, i As Integer Dim SQLstring As String Dim mrc As Recordset, mrcc As Recordset Dim Num As Integer, price As Single If = Then MsgBox 進(jìn)庫單號碼不能為空,請?zhí)顚懀? vbOKOnly + vbExclamation, 警告 Exit Sub End If While = False If (進(jìn)庫單號碼) = Then MsgBox 此進(jìn)庫單號碼已經(jīng)存在,請認(rèn)真核查!, vbOKOnly + vbExclamation, 警告 = = = = = Exit Sub Else End If Wend If = Then MsgBox 發(fā)票號碼不能為空,請?zhí)顚懀? vbOKOnly + vbExclamation, 警告 Exit Sub End If If = Then MsgBox 進(jìn)庫日期不能為空,請?zhí)顚懀? vbOKOnly + vbExclamation, 警告 Exit Sub Else If IsDate() Then Text3 = Format(Text3, yyyymmdd) Else MsgBox 進(jìn)庫時間格式應(yīng)為:yyyymmdd, vbOKOnly + vbExclamation, 警告 = Exit Sub End If End If If 1 Then (進(jìn)庫單號碼) = (發(fā)票號碼) = (進(jìn)庫日期) = If = Then (經(jīng)辦人) = Null Else (經(jīng)辦人) = End If If = Then (保管人) = Null Else (保管人) = End If count = For i = 1 To (count 1) (進(jìn)庫單號碼) = (材料編碼) = (i, 0) (數(shù)量) = Val((i, 4)) If (i, 5) = Then (單價) = Null Else (單價) = Val((i, 5)) End If (金額) = Val((i, 6)) If (i, 7) = Then (備注) = Null Else (備注) = (i, 7) End If SQLstring = select * from msurplus where 材料編碼=39。 amp。 (i, 0) amp。 39。 Set mrc = (SQLstring) 39。如果材料余額表中沒有當(dāng)前材料編碼的記錄,就添加 If = True Then SQLstring = select * from msurplus Set mrcc = (SQLstring) (材料編碼) = (i, 0) (數(shù)量) = 0 If (i, 5) = Then (單價) = Null Else (單價) = (i, 5) End If (金額) = 0 (備注) = Null Else End If Num = Val((i, 4)) price = Val((i, 6)) SQLstring = update msurplus set 數(shù)量=數(shù)量+ + CStr(Num) + ,金額=金額+ + CStr(price) + where 材料編碼=39。 amp。 (i, 0) amp。 39。 (SQLstring) Next i Unload Me (2).Text = 就緒 Exit Sub Else MsgBox 進(jìn)庫單中必須至少包含一項材料明細(xì)。 amp。 vbCrLf amp。 此進(jìn)庫單中未填寫材料信息,請?zhí)顚憽? vbOKOnly + vbExclamation, 警告 Exit Sub End IfEnd SubPrivate Sub cmdAddRecord_Click() (2).Text = 添加進(jìn)庫信息 1 End SubPrivate Sub cmdCancel_Click() = = = = = End SubPrivate Sub cmdClose_Click() Unload Me (2).Text = 就緒End SubPrivate Sub cmdDelRecord_Click() Dim i As Integer, j As Integer = False If 1 Then If MsgBox(確認(rèn)要刪除這條記錄嗎?, vbOKCancel + vbExclamation, 警告) = vbOK Then i = = (i, 0) = (i, 0) = = (i, 1) = (i, 1) = = (i, 2) = (i, 2) = = (i, 3)