【文章內(nèi)容簡介】
時,打開窗體,用鼠標和方向鍵都可以,原理大致就是上面所說的,當你點擊子節(jié)點時(點擊父節(jié)點不會有任何反應(yīng),但這也是不可缺少的一步),將激發(fā)TreeView1控件的NodeClick事件,在那里面編寫代碼,根據(jù)點擊的槽號進行判斷,以及所處的父節(jié)點的位置,經(jīng)過一個循環(huán),就可以得知要查詢的槽號,編譯成SQL語句,把它賦值個Adodc1控件的RecordSource屬性,然后Adodc1控件進行刷新,與它相連的DataGrid1控件顯示查詢數(shù)據(jù),雖然表面上說是數(shù)據(jù)的瀏覽,其實質(zhì)還是數(shù)據(jù)的查詢。第五章 鋁電解計算機管理軟件程序代碼第一節(jié) 啟動模塊代碼本畢業(yè)設(shè)計中,啟動模塊用于設(shè)置軟件運行時的公共數(shù)據(jù)環(huán)境和順序調(diào)用frmLogin(登錄窗) 、frmMain(主窗體)等下級模塊,由此進入管理軟件運行環(huán)境。Module1源程序如下:Option Base 1Public fMain As frmMainPublic CQX As StringPublic ConString As StringPublic ps_sqlCommon As StringPublic ps_ChartTitleCommon As StringPublic pa_ArrValueCommon()Public Declare Function sndPlaySound Lib Alias sndPlaySoundA (ByVal lpszSoundName As String, ByVal uFlags As Long) As LongPublic Declare Function ShellAbout Lib Alias ShellAboutA (ByVal hwnd As Long, ByVal szApp As String, ByVal szOtherStuff As String, ByVal hIcon As Long) As LongPublic Declare Function GetSystemMenu Lib user32 (ByVal hwnd As Long, ByVal bRevert As Long) As LongPublic Declare Function RemoveMenu Lib user32 (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As LongSub main() On Error Resume Next ConString = Provider=。 amp。 Data Source= amp。 amp。 \。 amp。 Persist Security Info=False Dim fLogin As New frmLogin Dim fStart As New frmStart 39。 vbModal vbModalEnd SubSub Close_ClosedButton(a, B) 39。使關(guān)閉按鈕失效 Dim hMenu hMenu = GetSystemMenu(a, 0) RemoveMenu hMenu, amp。HF060, amp。H1000 39。************************此段為使關(guān)閉按鈕失效End Sub第二節(jié) 登錄窗體模塊代碼 用戶登錄窗(frmLogin)用于當進入鋁電解管理軟件時,對用戶口令的驗證,這樣有效的防止非法用戶進行操作。frmLogin模塊運行效果圖51所示。登錄窗體運 行 圖 圖51 登錄窗體源程序代碼如下:Dim TIM As IntegerDim mydb As DatabaseDim myrs As RecordsetDim sql As StringPrivate Sub Form_Load() Dim a As String Dim B As Integer a = B = 0 Close_ClosedButton a, B X = sndPlaySound( amp。 \, amp。H1)End SubPrivate Sub Form_Activate() Set mydb = Workspaces(0).OpenDatabase( amp。 \) 39。打開數(shù)據(jù)庫 sql = select 操作員 from RegisterPerson Set myrs = (sql) 39。, dbOpenDynaset) If = False Then If = False Then For I = 0 To 1 ((0)) Next I If 0 Then = 0 End SubPrivate Sub cboUser_Click() Static li_i As Integer If li_i 0 Then X = sndPlaySound( amp。 \, amp。H1) End If li_i = li_i + 1End SubPrivate Sub cboUser_DropDown() X = sndPlaySound( amp。 \, amp。H1)End SubPrivate Sub cmdOk_Click() 39。確認操作員和密碼 Dim MESSAGE As String If Then Set mydb = Workspaces(0).OpenDatabase( amp。 \) Set myrs = (RegisterPerson, dbOpenDynaset) 操作員 = + Chr(34) + + Chr(34) + 39。 查找操作員 If Then 39。沒查到記錄 MsgBox (無此操作員!) Else If = (密碼) Then 39。確認密碼 Unload Me Set frmLogin = Nothing X = sndPlaySound( amp。 \, amp。H1) Else If TIM = 3 Then MESSAGE = MsgBox(密碼輸入錯誤,請向系統(tǒng)管理員查詢!, vbOKOnly, ) End End If X = sndPlaySound( amp。 \, amp。H1) MsgBox (密碼錯誤,請重新輸入密碼!) TIM = TIM + 1 39。密碼輸入錯誤次數(shù) = 0 = Len() End If End If End IfEnd SubPrivate Sub cboUser_KeyDown(KeyCode As Integer, Shift As Integer) 39?;剀嚀Q行 If KeyCode = vbKeyDown Then End IfEnd SubPrivate Sub txtPassword_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyDown Then End If If KeyCode = vbKeyUp Then End IfEnd SubPrivate Sub cmdExit_Click() Dim msg As Integer msg = MsgBox(確實要退出鋁電解畢業(yè)設(shè)計程序嗎?, vbYesNo Or vbDefaultButton2, 蘇華程序設(shè)計) If msg = 6 Then X = sndPlaySound( amp。 \, amp。H1) End End IfEnd Sub第三節(jié) 主窗體模塊代碼主窗體(frmMain)運行圖52所示。在本實列中,主窗體時控制中心,它通過建立在該窗體上的菜單而實現(xiàn)對各功能窗體的調(diào)用控制,其中一些常用功能調(diào)用還可以通過工具欄上的圖標按鈕完成。主窗體運行 界 面主窗體工具欄 圖52 主窗體運行圖frmMain模塊源程序如下:Private Sub Menu_CLL_Click() End SubPrivate Sub Menu_CDY_Click() End SubPrivate Sub Menu_CSJLL_Click() End SubPrivate Sub Menu_CXXCL_Click() End SubPrivate Sub Menu_CZT_Click() End SubPrivate Sub Menu_GZJL_Click() End SubPrivate Sub Menu_SelectCLL_Click() End SubPrivate Sub Menu_SelectCSJ_Click() End SubPrivate Sub Menu_SelectGZJL_Click() End SubPrivate Sub Menu_SJB_Click() End SubPrivate Sub Menu_SJBF_Click() Dim fs1 As New FileSystemObject Const vbOFNOverwritePrompt = amp。H2amp。 Const vbOFNPathMustExist = amp。H800amp。 = = 數(shù)據(jù)備份(蘇華設(shè)計) = *.mdb = 數(shù)據(jù)庫(*.MDB)|*.mdb|所有文件(*.*)|*.* = vbOFNOverwritePrompt Or vbOFNPathMustExist On Error GoTo Handll If Then amp。 \, , True MsgBox 數(shù)據(jù)庫信息備份成功。, vbOKOnly, 蘇華程序設(shè)計 Else MsgBox 沒有備份任何數(shù)據(jù), vbOKOnly, 蘇華程序設(shè)計 End If Exit SubHandll: MsgBox , vbOKOnly, 蘇華程序設(shè)計End SubPrivate Sub Menu_SJDR_Click() Dim fs As New FileSystemObject Const vbOFNFileMustExit = amp。H800amp。 = 數(shù)據(jù)導(dǎo)入(蘇華設(shè)計) = 數(shù)據(jù)庫(*.mdb)|*.mdb|所有文件(*.*)|*.* = vbOFNFileMustExit On Error GoTo Handll If Then , amp。 \數(shù)據(jù)庫備份\, True MsgBox 數(shù)據(jù)庫信息成功導(dǎo)入。, vbOKOnly, 蘇華程序設(shè)計 Else MsgBox 沒有導(dǎo)入任何數(shù)據(jù), vbOKOnly, 蘇華程序設(shè)計 End If Exit SubHandll: MsgBox , vbOKOnly, 蘇華程序設(shè)計End SubPrivate Sub MenuAbout_Click() ShellAbout , “關(guān)于”鋁電解控制系統(tǒng), 指導(dǎo)老師:李界家, amp。 Chr(13) amp。 設(shè)計者:蘇華 amp。 Chr(13) amp。 Mid(Str(Now), 1, 8), ByVal 0amp。End SubPrivate Sub MenuContent_Click() = amp。 \ End SubPrivate Sub MenuExit_Click() Dim msg As Integer msg = MsgBox(確實要退出鋁電解畢業(yè)設(shè)計程序嗎?, vbY