630 likes | 1.01k Views
1-1 Visual Basic 與資料庫. VB 的資料庫應用程式可分三大部份: 1.使用者介面 2.資料庫引擎 3.資料儲存區. 資料庫. Microsoft Jet 資料庫引擎. 1-2 VB 與 Access . 皆可單獨建立本身的資料庫系統. 使用 Microsoft Jet 資料庫引擎. VB 較適合撰寫使用者介面 與 J et 資料庫引擎控制碼. Access 較適合建置資料庫檔案. VB 只要編譯成 EXE 檔,在任何地方皆可使用. 1.使用者介面. 後端資料庫 Access. 資料庫引擎.
E N D
1-1 Visual Basic 與資料庫 • VB的資料庫應用程式可分三大部份: 1.使用者介面 2.資料庫引擎 3.資料儲存區 資料庫 Microsoft Jet 資料庫引擎
1-2 VB 與 Access • 皆可單獨建立本身的資料庫系統. • 使用Microsoft Jet 資料庫引擎. • VB較適合撰寫使用者介面與Jet資料庫引擎控制碼. • Access較適合建置資料庫檔案. • VB只要編譯成 EXE 檔,在任何地方皆可使用.
1.使用者介面 後端資料庫 Access 資料庫引擎 前端使用者介面 VB
2.Microsoft Jet 資料庫引擎 a.為動態連結程式庫(DLL)檔案. b.可以處理儲存,頡取,更新資料. c.提供查詢處理器,可以處理執行結構化語言 SQL 的查詢. • 什麼是動態連結程式庫(DLL, Dynamic Link Libraries) ? • 什麼是 SQL (Structure Query Language) ?
3.資料儲存區 使用 Access 資料庫
2-1 VB 與 Access連結運用 • VBㄅ透過 Jet 資料庫引擎存取 Access 資料的方式可分為兩種: 1.資料控制項. --------------- 具有強大連結介面. 2.資料存取物件(DAO). ---- 完整程式撰寫介面.
資料控制項 資料存取物件DAO Customer.Recordset.MoveFirst Customer.Recordset.MovePrevious Customer.Recordset.MoveNext Customer.Recordset.MoveLast
2-2 牛刀小試 • 1.建置 Access 的資料庫. • 2.建立 VB 的表單及顯示控制項. • 3.設定 VB 與 資料連結. • 4.設定 VB 表單上各控制項屬性及連結. • 5.顯示&瀏覽資料. • 6.執行及修正. • 7.儲存或編譯.
3-1 Recordset 物件的運用 • Recordset 係指目前資料表中記錄指標位置物件. • 如 例1: 移動記錄指標 Data1.Recordset.MoveFirst 目前資料記錄指標
如 例2: 直接指向記錄位置 Data1.Recordsets(3).Fieds(2) Fields(0) Fields(2) Fields(1) Fields(3) Fields(4) Recordsets(3)
3-1-1 移動記錄的方法 • MoveFirst 移至第一筆 • MovePrevious 移至前一筆 • MoveNext 移至下一筆 • Movelast 移至最後一筆 * 上列4種 Recordset 物件移動方法中,皆須 以一個事件來驅動 ----- 按鈕控制項.
3-2 按鈕程式撰寫 1. 在表單上建立按鈕控制項. 2.分別在控制項中 Click 事件撰寫對應程式 3.執行. * Click = 按下
3-3 BOF 與 EOF • BOF 屬性 = 傳回真值 True ; 表示 Recordset 位 置在第一筆之前. • EOF 屬性 = 傳回真值 True ; 表示 Recordset 位 置在最後一筆之後.
Recordset.BOF = Tr Recordset.BOF = True = False 第一筆 = False 最後一筆 Recordset.EOF = True Recordset.EOF = Tr
3-3-1 撰寫程式處理 BOF 及EOF 1.程式流程 : 2.程式撰寫位置 ----- Data 控制項中之Reposition 事件 開始 BOF=T Recordset 移至第一筆 結束
3-3-2 需要加強的部份(一) • 超過資料範圍時,自動隱藏按鈕 …………………………….. Enabled 屬性 • 按鈕增加圖示顯示 ……………………... Style & Picture 屬性 • 顯示指標所在記錄序號 …………………… AbsolutePosition 屬性
3-3-2 需要加強的部份 (二) • 增加狀態列控制項 ……………………………. StatusBar • 顯示訊息視窗 …………………………….. MsgBox命令 • 按鈕說明文字 …………………………. ToolTipText屬性
MsgBox ([提示],[按鈕型態],[標題) 語法: MsgBox “[訊息]” , [型式] , “[標題]” • vbOKOnly 0 只顯示 OK 按鈕。 • VbOKCancel 1 顯示 OK 及 Cancel 按鈕。 • VbAbortRetryIgnore 2 顯示 Abort、 Retry 及 Ignore 按鈕。 • VbYesNoCancel 3 顯示 Yes、No 及 Cancel 按鈕。 • VbYesNo 4 顯示 Yes 及 No 按鈕。 • VbRetryCancel 5 顯示 Retry 及 Cancel 按鈕。 • VbCritical 16 顯示 警告 圖示。 • VbQuestion 32 顯示 問號圖示。 • VbExclamation 48 顯示驚嘆號 圖示。 • VbInformation 64 顯示 訊息圖示。 • VbDefaultButton1 0 第一個按鈕是預設值。 • VbDefaultButton2 256 第二個按鈕 是預設值。 • VbDefaultButton3 512 第三個按鈕是預設值。 • VbDefaultButton4 768 第四個按鈕是預設值。
MsgBox ( ) 函數傳回值 • vbOK 1 OK • vbCancel 2 Cancel • vbAbort 3 Abort • vbRetry 4 Retry • vbIgnore 5 Ignore • vbYes 6 Yes • vbNo 7 No
3-4-1 物件 • 物件(Object) ---- 介面物件 : 1.表單 2.控制項 ---- 系統物件 : 如印表機 ---- 資料存取物件 : 如 Recordset • 物件三要素 每個物件都由 屬性 . 事件 .方法 所構成.
3-4-2 物件的屬性 • 屬性即[東西的特徵]. 如 表單中之 Name屬性.Caption屬性…. • 設定物件屬性值,可透過兩種方式: 1. 由屬性表直接設定之. 2. 由程式設定 語法: 物件名. 屬性名 = 屬性值 例: Form1.Caption = “維護表單”
3-4-3 物件的事件 • 事件即是一個動作或狀況. 如: 按一下… 物件選項 事件 選項
3-4-4 物件的方法 • 方法是指作用在物件上的內建指令或函數. • 如: data1.Recordset. MoveFirst 控制項物件 方法 資料存取物件
4-1 資料連結功能的控制項 • 表單的設計 : • 色彩使用 -- 以灰色為標準色,輸入以白色表示 • 控制項的配置與間距 -- • 一般控制項高度 300 • 垂直間距 60/120 • 標籤對齊 -- 向左對齊 • 標準字型 -- 9點,新細明體(中文字) ; • 8點,Courier/FixedSys • 使用 Frame 來組合相關控制項
Data 資料控制項 屬性 : Connect DatabaseName RecordSource ReadOnly 唯讀 Exclusive 獨佔 方法 : Refresh 更新 事件 : Reposition
Label 標籤 屬性 : Caption Font FontName FontSize ………. Enable 方法 : 事件 :
TextBox 文字框 屬性 : Text Font MultiLine 多行 ScrollBars 卷軸 PasswordChar 密碼 方法 : 事件 : Change GetFocus
OptionButton 選項鈕 ---- 由Value屬性值(True/False)決定 屬性 : Value 值 Caption 標題 Style 文字或圖 Picture 圖 事件 : Click 選取
CheckBox 檢核框 • 屬性 : • 同OptionButton • Value 值: • 0 = 不核取 • 1 = 核取 • 2 = 無效(灰色) • 可複選
Frame 框架 ---- 控制項容器,以建立控制項群組 • 必須使用剪下及貼上方式才能收納控制項
Line 線 屬性 : BorderColor 線段顏色 BorderStyle 線段樣式 0~6 BorderColor 線段寬度 Shape 方形 屬性 : BackColor 背景顏色 BackStyle 背景樣式 0 - 透明 1 - 不透明 Shape 形狀 0-矩形 1-正方 2-橢圓 3-圓 4-圓角矩形 5-圓角正方
ListBox 列表框 方法 : AddItem 新增項目到列表框 RemoveItem刪除項目 屬性 : Text Sorted 排序 事件 :
ComboBox 複合框 方法 : AddItem 新增項目到複合框 RemoveItem刪除項目 屬性 : Text Style 樣式 0 - 下拉式+文字框 1 - 固定式+文字框 2 - 單純式
DBList 資料連結列表框 • 使用前須先「設定使用元件」 「Microsoft Data Bound • List Controls 5.0 」. • 屬性 : • RowSource 清單選項來源資料表 • ListField 清單選項來源資料表中對應之欄位 • DataSource 輸入資料連結資料表 • DataSource 輸入資料連結資料表中對應之欄位 • Text 點選之選項值
DBCombo 資料連結複合框 • 屬性 : • RowSource 清單選項來源資料表 • ListField 清單選項來源資料表中對應之欄位 • DataSource 輸入資料連結資料表 • DataSource 輸入資料連結資料表中對應之欄位 • Text 點選之選項值
OLE 收納器控制項 • 屬性 : • SizeMode 大小樣式 0 - 裁減 • 1 - 不用依比例縮放 • 2 - 自動調整收納器 • 3 - 依比例縮放 • DataSource • DataField
功能表設計 • 概念 • 可分「頂層功能表」及「快顯功能表」. • 功能項目後面加了(…),代表將會啟動對話方塊. • 功能項目後面加了(),代表另有子功能表. • 以分隔線區分功能項目類別.
功能表編輯器 屬性區 編輯區
屬性區 • 標題 Caption …………. 功能名稱 • 名稱 Name …………… 物件代表名稱 • 快速鍵 ShortCut ……… 設定該功能之快速鍵 • 核取設定 Checkd ……. 設定該功能項目是否為核 • 取項目 • 有效 Enabled ………….設定該功能項目是否有效 • 可看見 Visble …………設定該功能項目是否為可 • 見 • 程式: [功能項目Name].[屬性] = 值
編輯區 改變排列順序 改變排列層次 • 對應命令 於表單功能項目下,撰寫其 Click事件程序
MDI 多重文件介面 • 所謂 MDI (Muti Document Interface) 多重文件介面,指在一個主視窗之下,可以擁有許多子視窗. • 建立主表單(MDI):「專案」「新增MDI表單」. • 建立子表單:改變表單屬性 [MDIchid]值為 True 即可.
第五章 系統分析 • 系統功能架構規劃. • 資料庫建立. • 逐一設計子功能流程. • 測試. • 修正.
5-1 系統功能架構規劃 啟始表單 登入表單 MDI主表單 資料維護 報表列印 視窗 說明 借書還書資料維護 密碼及使用者維護 出版社資料維護 圖書資料維護 會員資料維護
5-2 製作啟始表單 • BorderStyle 表單框線樣式 • ControlBox 控制圖示列顯示 • Caption 標題 • Picture 置入圖片 • MDIChild 子表單設定 • Timer 物件 -- 5秒後,關閉表單 • Timer.interval = 秒 * 1000 觸動時間事件
表單展開方式 • Me.Height 表單高度 • Me.Width 表單寬度 • Me.Left 表單左邊位置 • Me.Top 表單上緣位置 • Screen.Width 螢幕寬度 • Screen.Height 螢幕高度 • Show 顯示表單 • Hide 隱藏表單
表單展開方式 - 上下展開 Dim i As Integer For i = 1 To 850 Me.Height = i * 5 '表單高度 5 ~ 4250 Me.Width = 6000 ‘表單寬度 = 6000 '表單左邊位置 Me.Left = (Screen.Width - Me.Width) \ 2 '表單上緣位置 Me.Top = (Screen.Height - Me.Height) \ 2 - 1000 Me.Show Next i
製作 螢幕保護程式 - 1 • 螢幕保護程式其實為一執行檔( .exe )。 • 祇要在 VB5 中 選取功能表中「檔案/製成 XXX .exe」將執行檔副檔名改為( .scr)即可。 • 存放路徑為 C:\Windows或 C:\Windows\System • 概念
製作 螢幕保護程式 - 2 • 程式設計技巧 • 表單屬性: Caption = 空白 BorderStyle = 0 - 沒有框線 WindowsState = 2 - 最大化 • 以Timer 物件來控制動畫。 • 在 Form 之 KeyDown() 及 MouseClick 事件,關閉表單。
製作 螢幕保護程式 - 3 • 進階修正 • 螢幕保護程式啟動時,其附帶參數可用來判斷啟動方式: ”/a ”或 ”/A ”─ 按下「密碼保護 > 變更」 ”/c ”或 ”/C ”─ 按下「設定值」 ”/p ”或 ”/P ”─ 按下「初次選取」 • 使用 App.PrevInstance 來判斷是否已在執行程式,避免重複啟動。