【文章內(nèi)容簡介】
End If 39。關(guān)閉數(shù)據(jù)對(duì)象 For i = 1 To Text1(i) = Text1(i).Locked = False Next i = False For i = 1 To Text1(i).Enabled = True Next i = True : Text1(1).SetFocus Case modify 39。修改 If 0 ThenblnAdd = False 39。設(shè)置變量,如果為False,則在【保存】按鈕中作修改操作 tlbState Toolbar1, True 39。調(diào)用模塊中的過程 For i = 1 To Text1(i).Locked = False Next i = False view_data 39。調(diào)用自定義的過程 mybookmark = For i = 1 To Text1(i).Enabled = True Next i = True Else MsgBox 系統(tǒng)沒有要修改的數(shù)據(jù)!, , 提示窗口 End If Case delete 39。刪除 If 0 Then 39。查詢其他表中是否有相關(guān)的信息正在使用,如果有這不能刪除該信息 Dim rs2 As New select * from tb_SCGL_wlxq where wlxq_wlbh=39。 + (wlxx_id) + 39。, n, adOpenKeyset If 0 Then MsgBox 該信息正在使用,不能刪除!, , 信息提示 Exit Sub Else For i = 0 To Text1(i).Text = Next i = Call view_data 39。調(diào)用數(shù)據(jù)顯示自定義過程 Call Dgr_Title 39。調(diào)用設(shè)置表頭的字定義過程 End If Else MsgBox 系統(tǒng)沒有要?jiǎng)h除的數(shù)據(jù)!, , 提示窗口 End If Case save 39。保存 On Error GoTo SaveErr 39。錯(cuò)誤處理 If Text1(1).Text = Then MsgBox 系統(tǒng)不允許 amp。 Label2 amp。 為空!, , 提示窗口 Exit Sub End If If blnAdd = True Then 39。添加新記錄 (insert into tb_SCGL_wlxx(wlxx_id,wlxx_wlmc,wlxx_wlgg,wlxx_wldw,wlxx_cpbh,wlxx_cpmc,wlxx_cpgg,wlxx_bz,wlxx_wlsl) values(39。 + Text1(0) + 39。,39。 + Text1(1) + 39。,39。 + Text1(2) + 39。,39。 + Text1(3) + 39。,39。 + + 39。,39。 + Text1(4).Text + 39。,39。 + Text1(5).Text + 39。,39。 + Text1(6) + 39。,39。 + Text1(7) + 39。)) Unload Me 1 : tlbState Toolbar1, False For i = 1 To Text1(i).Locked = True Next i = True Else 39。修改原有記錄 (update tb_SCGL_wlxx set wlxx_wlmc =39。 + Text1(1) + 39。,wlxx_wlgg=39。 + Text1(2) + 39。,wlxx_wldw=39。 + Text1(3) + 39。,wlxx_cpbh=39。 + + 39。,wlxx_cpmc=39。 + Text1(4) + 39。,wlxx_cpgg=39。 + Text1(5) + 39。,wlxx_bz=39。 + Text1(6) + 39。,wlxx_wlsl=39。 + Text1(7) + 39。 where wlxx_id=39。 + Text1(0).Text + 39。) Unload Me 1 : = mybookmark tlbState Toolbar1, False 39。調(diào)用模塊中的自定義過程 For i = 1 To Text1(i).Locked = True Next i = True End If Exit SubSaveErr: 39。出錯(cuò)處理程序 MsgBox , , 信息提示 Case cancel 39。 取消 tlbState Toolbar1, False For i = 1 To Text1(i).Locked = True Next i = True : Call view_data Case find 39。查詢 Mystr = InputBox(請輸入要查詢的物料信息編號(hào), 物料信息查詢, WL001) select * from tb_SCGL_wlxx where wlxx_id =39。 + Mystr + 39。, n, adOpenKeyset If 0 Then For i = 0 To 3 If (i) Then Text1(i).Text = (i) Else Text1(i).Text = = Next iIf (4) Then = (4) Else = If (5) Then Text1(4).Text = (5) Else Text1(4).Text = If (6) Then Text1(5).Text = (6) Else Text1(5).Text = If (7) Then Text1(6).Text = (7) Else Text1(6).Text = If (8) Then Text1(7).Text = (8) Else Text1(7).Text = End If Case close 39。關(guān)閉 Unload Me End Select End Sub 生產(chǎn)計(jì)劃單管理生產(chǎn)計(jì)劃單管理窗體是生產(chǎn)管理系統(tǒng)中一個(gè)比較重要的部分。后面的物料計(jì)劃管理模塊、產(chǎn)品入庫模塊都與生產(chǎn)計(jì)劃單有著密切的聯(lián)系。在生產(chǎn)計(jì)劃單中可以完成對(duì)生產(chǎn)計(jì)劃單的增加、刪除、修改、查找操作。在生產(chǎn)計(jì)劃單管理中,當(dāng)用戶單擊【增加】按鈕時(shí),系統(tǒng)會(huì)自動(dòng)生成生產(chǎn)計(jì)劃單編號(hào),并將企業(yè)所生產(chǎn)的產(chǎn)品添加到產(chǎn)品編號(hào)組合框中,當(dāng)用戶選擇要生產(chǎn)的產(chǎn)品編號(hào)后,系統(tǒng)會(huì)自動(dòng)將產(chǎn)品名稱、產(chǎn)品規(guī)格、計(jì)量單位自動(dòng)添加到相應(yīng)的文本框中,用戶只需添入計(jì)劃數(shù)量、投產(chǎn)日期、計(jì)劃日期等即可。無須用戶查找相應(yīng)的產(chǎn)品信息,使用戶操作更加簡便。生產(chǎn)計(jì)劃單窗體的運(yùn)行結(jié)果如圖9所示。圖9 生產(chǎn)計(jì)劃單管理運(yùn)行結(jié)果1.窗體設(shè)計(jì)(1)在“工程”中新建一個(gè)窗體,將窗體的“名稱”設(shè)置為Frm_Jhgl_Scjhd,Caption屬性設(shè)置為“生產(chǎn)計(jì)劃單”,MaxButton屬性設(shè)置為False,StartUpPosition屬性設(shè)置為2–屏幕中心。(2)向窗體上添加1個(gè)Toolbar控件,1個(gè)ImageList控件。向ImageList控件中添加圖片,并將這兩個(gè)控件連接起來。(3)向窗體上添加1個(gè)ADO控件,1個(gè)DataGrid控件。設(shè)置DataGrid控件的“名稱”為Dgr_Scjhd,DataSource屬性設(shè)置為Adodc1。設(shè)置Adodc1控件的CommandType屬性為1–adCmdText,RecordSource屬性設(shè)置為select * from tb_SCGL_scjhd。其中DataGrid控件用于顯示生產(chǎn)計(jì)劃單信息,ADO控件用于數(shù)據(jù)連接。(4)向窗體上添加2個(gè)DTPicker控件,“名稱”設(shè)置為Dtp_Tcrq和Dtp_Wgrq,分別用于顯示投產(chǎn)日期和完工日期。(5)向窗體上添加2個(gè)ComboBox控件,分別設(shè)置其“名稱”為Cbx_Cpbh和Cbx_wcf,Style屬性為0–Dropdown Combo。分別用來顯示產(chǎn)品編號(hào)和是否完工。(6)向窗體上添加Label控件和TextBox控件。設(shè)置TextBox控件為“名稱”是Text1的控件數(shù)組。2.代碼設(shè)計(jì)在生產(chǎn)計(jì)劃單管理窗體中的增加、刪除、修改操作都是利用基本的SQL語句執(zhí)行的,在這里就不做詳細(xì)的介紹,請參見源程序。在這里只介紹一下如何利用〈Enter〉鍵使光標(biāo)從一個(gè)文本框移動(dòng)到下一個(gè)文本框當(dāng)中。并且當(dāng)該文本框獲得焦點(diǎn)時(shí),背景色設(shè)置為藍(lán)色,失去焦點(diǎn)時(shí),背景色恢復(fù)為白色。下面首先介紹一下有關(guān)光標(biāo)移動(dòng)的代碼。對(duì)于控件數(shù)組的處理方法,可利用KeyPress事件和Index屬性來實(shí)現(xiàn),其關(guān)鍵代碼如下: Private Sub text1_KeyPress(Index As Integer, KeyAscii As Integer)If KeyAscii = 13 Then 39。按下回車鍵 If Index = 4 Then 39。如果光標(biāo)在Text1(4)上, 39。則將焦點(diǎn)設(shè)置在Dtp_Tcrq上 Exit Sub 39。結(jié)束本事件 End If If Index = 5 Then Exit Sub 39。若光標(biāo)在Text1(5)上,則結(jié)束 Text1(Index + 1).SetFocus 39。光標(biāo)移至下一個(gè)文本框End IfEnd Sub對(duì)于非數(shù)組控件的處理方法,可直接利用KeyDown事件,這里以Cbx_Cpbh控件(ComboBox控件)為例,其實(shí)現(xiàn)的關(guān)鍵代碼如下:Private Sub Cbx_Cpbh_KeyDown(KeyCode As Integer, Shift As Integer)If KeyCode = 13 Then Text1(4).SetFocusEnd Sub下面再介紹一下關(guān)于背景色的設(shè)置方法。對(duì)于控件數(shù)組的處理方法,可利用GotFocus事件和LostFocus事件以及Index屬性來實(shí)現(xiàn),其關(guān)鍵代碼如下: Private Sub