【文章內(nèi)容簡(jiǎn)介】
簽進(jìn)行顯示。 ( 1)演示與分析 標(biāo)簽 標(biāo)簽 標(biāo)簽 標(biāo)簽 組合框 3)“確定”按鈕單擊時(shí) ① 判斷用戶是否選擇了值,如否,則提示。 ② 若用戶選擇了值,彈出對(duì)話框確認(rèn)用戶是否確定要選修課程,若是,則執(zhí)行選修操作(寫(xiě)數(shù)據(jù)庫(kù)操作) 。 ③ 讀取數(shù)據(jù)庫(kù),計(jì)算用戶還可以選擇的選修課程門(mén)數(shù),并提示;若已滿 4門(mén),提示并關(guān)閉當(dāng)前窗體,返回學(xué)生主窗體。 ( 1)演示與分析 按鈕 組合框 4)“返回”按鈕單擊時(shí), 關(guān)閉當(dāng)前窗體,返回“學(xué)生主窗體” 。 ( 1)演示與分析 按鈕 ( 2)界面設(shè)計(jì) 窗體 標(biāo)簽 按鈕 組合框 標(biāo)簽 標(biāo)簽 標(biāo)簽 標(biāo)簽 按鈕 標(biāo)簽 標(biāo)簽 思考:如何在組合框里放置登錄學(xué)生沒(méi)有選修的課程名字 ? ① 在查詢中寫(xiě) 1個(gè) SQL語(yǔ)句,查詢出登錄學(xué)生還沒(méi)有選修的課程名字。 ② SELECT CN FROM C WHERE CNO NOT IN(SELECT DISTINCT CNO FROM SC WHERE SNO=usersno)? 該如何在 SQL語(yǔ)句中使用全局變量呢? 該如何在 SQL語(yǔ)句中使用全局變量呢 ? 1)首先,在模塊中定義 1個(gè)全局函數(shù),令該函數(shù)的返回值為要使用的全局變量。 2)其次,將該函數(shù)賦給 SQL語(yǔ)句即可。 ③利用向?qū)Ы⒔M合框,并將該查詢引入為該組合框的數(shù)據(jù)。 ①招兵買馬(添加控件) 窗體 標(biāo)簽 按鈕 組合框 標(biāo)簽 標(biāo)簽 標(biāo)簽 標(biāo)簽 標(biāo)簽 按鈕 標(biāo)簽 ②認(rèn)識(shí)新員工,起綽號(hào)(給控件命名) 學(xué)生選課 選擇標(biāo)簽 確定按鈕 選擇組合框 課程號(hào)標(biāo)簽 課程名標(biāo)簽 學(xué)時(shí)標(biāo)簽 任課教師 1標(biāo)簽 任課教師 2標(biāo)簽 返回按鈕 歡迎標(biāo)簽 ③員工培訓(xùn)(控件設(shè)置) 1)培訓(xùn)窗體 ①取消滾動(dòng)條 ② 取消最大最小化按鈕 ③ 取消分割線 ④ 取消導(dǎo)航按鈕 ⑤ 取消記錄選擇器 ⑥ 添加背景圖片以美化界面(嵌入、拉伸、窗體中心) ( 4)功能實(shí)現(xiàn) 關(guān)鍵代碼介紹 ( 1) 如何將記錄添加進(jìn)數(shù)據(jù)庫(kù) ① 寫(xiě)出插入記錄的 SQL語(yǔ)句 Dim insertstring As String insertstring = insert into sc(sno,o) values(39。 + usersno + 39。,39。 + selectinsertcourseo + 39。) ② 執(zhí)行 SQL語(yǔ)句 False insertstring ( 2)如何讀取組合框的值? Me!選擇組合框 .Value ( 3)如何設(shè)置組合框當(dāng)前顯示的內(nèi)容 Me!選擇組合框 .Value = 請(qǐng)選擇 ( 4)如何更新組合框的數(shù)據(jù)? Me!選擇組合框 .Requery 1)打開(kāi)窗體時(shí) ①如果用戶沒(méi)有登錄,則關(guān)閉當(dāng)前窗體,打開(kāi)“登錄”窗體。 ② 如果用戶已經(jīng)登錄,但選課已滿 4門(mén),則關(guān)閉當(dāng)前窗體,打開(kāi)“學(xué)生主窗體”。 ③ 如果窗體成功打開(kāi),則顯示歡迎信息,將課程詳細(xì)信息標(biāo)簽顯示置為空。 If username = Then acForm, 學(xué)生選課 登錄 Exit Sub End If 1)打開(kāi)窗體時(shí) ① 如果用戶沒(méi)有登錄,則關(guān)閉當(dāng)前窗體,打開(kāi)“登錄”窗體。 ②如果用戶已經(jīng)登錄,但選課已滿 4門(mén),則關(guān)閉當(dāng)前窗體,打開(kāi)“學(xué)生主窗體”。 ③ 如果窗體成功打開(kāi),則顯示歡迎信息,將課程詳細(xì)信息標(biāo)簽顯示置為空。 Dim rs As Set rs = New Dim SQLstring As String SQLstring = select * from sc where sno=39。 + usersno + 39。 SQLstring, , adOpenKeyset, adLockOptimistic 1)打開(kāi)窗體時(shí) ① 如果用戶沒(méi)有登錄,則關(guān)閉當(dāng)前窗體,打開(kāi)“登錄”窗體。 ②如果用戶已經(jīng)登錄,但選課已滿 4門(mén),則關(guān)閉當(dāng)前窗體,打開(kāi)“學(xué)生主窗體”。 ③ 如果窗體成功打開(kāi),則顯示歡迎信息,將課程詳細(xì)信息標(biāo)簽顯示置為空。 If = 4 Then MsgBox 您的選課已滿 4門(mén),不能再選 !, vbOKOnly, 警告 Set rs = Nothing acForm, 學(xué)生選課 學(xué)生主窗體 Exit Sub End If 1)打開(kāi)窗體時(shí) ① 如果用戶沒(méi)有登錄,則關(guān)閉當(dāng)前窗體,打開(kāi)“登錄”窗體。 ② 如果用戶已經(jīng)登錄,但選課已滿 4門(mén),則關(guān)閉當(dāng)前窗體,打開(kāi)“學(xué)生主窗體”。 ③如果窗體成功打開(kāi),則顯示歡迎信息,將課程詳細(xì)信息標(biāo)簽顯示置為空。 Me!歡迎標(biāo)簽 .Caption = 歡迎您 , + username + 同學(xué) ! Me!課程號(hào)標(biāo)簽 .Caption = Me!課程名標(biāo)簽 .Caption = Me!學(xué)時(shí)標(biāo)簽 .Caption = Me!任課教師 1標(biāo)簽 .Caption = Me!任課教師 2標(biāo)簽 .Caption = 2)組合框的值更新時(shí), 通過(guò)讀取組合框的值獲取到用戶選擇的課程名,并使用該課程名查詢課程的詳細(xì)信息,將查詢到的課程詳細(xì)信息以相應(yīng)的標(biāo)簽進(jìn)行顯示。 Me!任課教師 2標(biāo)簽 .Caption = Dim course As String course = Me!選擇組合框 .Value Dim SQLstring As String Dim rs As Set rs = New 2)組合框的值更新時(shí), 通過(guò)讀取組合框的值獲取到用戶選擇的課程名,并使用該課程名查詢課程的詳細(xì)信息,將查詢到的課程詳細(xì)信息以相應(yīng)的標(biāo)簽進(jìn)行顯示。 SQLstring = select ,ct,tn from c,tc,t where = and = and =39。 + course + 39。 SQLstring, , adOpenKeyset, adLockOptimistic 2)組合框的值更新時(shí), 通過(guò)讀取組合框的值獲取到用戶選擇的課程名,并使用該課程名查詢課程的詳細(xì)信息,將查詢到的課程詳細(xì)信息以相應(yīng)的標(biāo)簽進(jìn)行顯示。 Dim i As Integer For i = 1 To If i = 1 Then Me!課程號(hào)標(biāo)簽 .Caption = 課程號(hào) : + rs(o) selectinsertcourseo = rs(o) Me!課程名標(biāo)簽 .Caption = 課程名 : + rs() Me!學(xué)時(shí)標(biāo)簽 .Caption = 課程號(hào) : amp。 rs(ct) Me!任課教師 1標(biāo)簽 .Caption = 任課教師 : + rs(tn) End If 2)組合框的值更新時(shí), 通過(guò)讀取組合框的值獲取到用戶選擇的課程名,并使用該課程名查詢課程的詳細(xì)信息,將查詢到的課程詳細(xì)信息以相應(yīng)的標(biāo)簽進(jìn)行顯示。 If i = 2 Then Me!任課教師 = rs(tn) Next i Set rs = Nothing 3)“確定”按鈕單擊時(shí) ①判斷用戶是否選擇了值,如否,則提示。 ② 若用戶選擇了值,彈出對(duì)話框確認(rèn)用戶是否確定要選修課程,若是,則執(zhí)行選修操作(寫(xiě)數(shù)據(jù)庫(kù)操作)。 ③ 讀取數(shù)據(jù)庫(kù),計(jì)算用戶還可以選擇的選修課程門(mén)數(shù),并提示;若已滿 4門(mén),提示并關(guān)閉當(dāng)前窗體,返回學(xué)生操作主界面窗體。 If Me!選擇組合框 .Value = 請(qǐng)選擇 Then MsgBox 你沒(méi)有選擇任何課程 !請(qǐng)先選擇課程 !, vbOKOnly, 警告 ! Exit Sub End If 3)“確定”按鈕單擊時(shí) ① 判斷用戶是否選擇了值,如否,則提示。 ②若用戶選擇了值,彈出對(duì)話框確認(rèn)用戶是否確定要選修課程,若是,則執(zhí)行選修操作(寫(xiě)數(shù)據(jù)庫(kù)操作)。 ③ 讀取數(shù)據(jù)庫(kù),計(jì)算用戶還可以選擇的選修課程門(mén)數(shù),并提示;若已滿 4門(mén),提示并關(guān)閉當(dāng)前窗體,返回學(xué)生操作主界面窗體。 If MsgBox(您確定要選修 + Me!選擇組合框 .Value + 課程嗎?, vbOKCancel, 請(qǐng)確定 !) = vbOK Then Dim insertstring As String insertstring = insert into sc(sno,o) values(39。 + usersno + 39。,39。 + selectinsertcourseo + 39。) False insertstring 3)“確定”按鈕單擊時(shí) ① 判斷用戶是否選擇了值,如否,則提示。 ② 若用戶選擇了值,彈出對(duì)話框確認(rèn)用戶是否確定要選修課程,若是,則執(zhí)行選修操作(寫(xiě)數(shù)據(jù)庫(kù)操作)。 ③讀取數(shù)據(jù)庫(kù),計(jì)算用戶還可以選擇的選修課程門(mén)數(shù),并提示;若已滿 4門(mén),提示并關(guān)閉當(dāng)前窗體,返回學(xué)生操作主界面窗體。 Dim rs As Set rs = New Dim SQLstring As String SQLstring = select * from sc where sno=39。 + usersno + 39。 SQLstring, , adOpenKeyset, adLockOptimistic 3)“確定”按鈕單擊時(shí) ① 判斷用戶是否選擇了值,如否,則提示。 ② 若用戶選擇了值,彈出對(duì)話框確認(rèn)用戶是否確定要選修課程,若是,則執(zhí)行選修操作(寫(xiě)數(shù)據(jù)庫(kù)操作)。 ③讀取數(shù)據(jù)庫(kù),計(jì)算用戶還可以選擇的選修課程門(mén)數(shù),并提示;若已滿 4門(mén),提示并關(guān)閉當(dāng)前窗體,返回學(xué)生操作主界面窗體。 If 4 Then Dim canselectcount As Integer canselectcount = 4 MsgBox 課程 39。 + Me!選擇組合框 .Value + 39。選修成功 !你還可選 amp。 canselectcount amp。 門(mén)課 , vbOKOnly, 請(qǐng)確定! Me!選擇組合框 .Requery Me!選擇組合框 .Value = 請(qǐng)選擇 Exit Su