主從式資料庫系統 - CH8 1 第 8 章 DAO 物件應用和程式設計. 主從式資料庫系統 - CH8 2 本章宗旨 簡介 DAO 物件之引用方式 簡介 DAO 物件之各項資料操作指令 介紹資料表自動連入與移除之處理方式 介紹 VBA 資料庫操作指令與程序檔建檔範例 介紹事件導向之程式設計風格 介紹多功能整合式表單之設計方式.

Slides:



Advertisements
Similar presentations
FCU, Department of ECE, IC Design Research Lab. TEL: # 4945 Pre-SIm , Post-Sim.
Advertisements

6-1 指標簡介 6-2 指標與陣列 6-3 動態配置記憶體 6-4 本章綜合練習
布林代數的應用--- 全及項(最小項)和全或項(最大項)展開式
建立使用案例敘述 --Use Case Narrative
學習C++的基本語法 認識關鍵字與識別字的不同 學習程式碼偵錯的流程 學習如何提高程式的可讀性
“Rule” By OX. By Check CREATE TABLE 員工薪資 ( 編號 int IDENTITY PRIMARY KEY, 薪資 smallmoney, CHECK ( 薪資 > 0 AND 薪資
3Com Switch 4500 切VLAN教學.
BY OX. 檢視表與資料表的差異性 查詢 (query) 檢視表 (View) 的紀錄,是經由查詢 (query) 而來,而檢 視表的資料來源可以是單一資料表或是多資料表,甚 至其他檢視表 但檢視表中的紀錄只存在資料表中.
1 第一章 Word 的基本觀念 內容概要: Word 的特色 啟動與離開 Word 的方法 滑鼠游標與外型的介紹 基本操作 Word 視窗法則 使用 Word 遭遇問題時, 應如何利用軟體特 性而獲得輔助解說.
1 Web of Science 利用指引 單元二 瀏覽與處理查詢結果. 2 瀏覽檢索結果 查出的結果,預設以時間排列, 使用者可改變結果的排列方式: 還可以依被引用次數、相關度、 第一作者、刊名、出版年等排序 回到前先查的結果畫面 點選想看資料的完整書目 本館訂購範圍的期刊 全文,便可直接連結.
1 Web of Science 利用指引 逢甲大學圖書館 參考服務組 單元五 存檔或輸出.
Outlook Express.
第一章 變數、常數及資料型態. 變數 C 程式語言的變數名稱 第一個字必須是英文字母或底線 (_) 之後可以是數字, 英文字母或底線 (_) 不可以是保留字 例: Num (Ο) _score (Ο) C&C (X) 8num (X)
Last modified 2004/02 An Introduction to SQL (Structured Query Language )
國立聯合大學 資訊管理學系 陳士杰老師 MySQL5 視覺化資料庫管理工具 - MySQL Adminstrator.
1. 假設以下的敘述為一未提供 “ 捷徑計算 ” 能力的程式段,試用程 式設計的技巧,使此敘述經此改 寫的動作後,具有與 “ 捷徑計算 ” 之 處理方法相同之處理模式。 if and then E1 else E2 endif.
Structural Equation Modeling Chapter 7 觀察變數路徑分析=路徑分析 觀察變數路徑分析.
第 18 章 名稱空間與例外處理 18-1 名稱空間 18-1 名稱空間 18-2 例外處理 18-2 例外處理.
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 肆 資料分析與表達.
JAVA 程式設計與資料結構 第十章 GUI Introdution III. File Chooser  File Chooser 是一個選擇檔案的圖形介面, 無論我們是要存檔還是要開啟檔案,使 用這個物件都會讓我們覺得容易且舒適。
國立中山大學財產管理系統 線上報廢、盤點系統 總務處保管組 策劃 計算機與網路中心 分析設計 2008/03.
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
Chapter 13 塑模靜態觀點:物件圖 Static View : Object Diagram.
Introduction to Java Programming Lecture 17 Abstract Classes & Interfaces.
第 5 章 深入 Response 物件 製作. 網頁的轉向與強制輸出 - 讓網頁轉彎的 Redirect 敘述 運用 Response 物件的 Redirect 方法,將瀏覽器顯 示的網頁,導向至其他網頁,語法如下: Response.Redirect 網頁路徑與名稱 此網頁路徑與名稱  若是導向到同一台.
:Problem D: Bit-wise Sequence ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 10232: Problem D: Bit-wise Sequence 解題者:李濟宇 解題日期: 2006 年 4 月 16.
主從式資料庫系統 - CH6 1 第 6 章 主控端與伺服端連線設定. 主從式資料庫系統 - CH6 2 本章宗旨 簡介 MyODBC 工作原理 簡介 ODBC 資料管理員使用方法 簡介主從端各種連線方法與安全比較.
最新計算機概論 第 5 章 系統程式. 5-1 系統程式的類型 作業系統 (OS) : 介於電腦硬體與 應用軟體之間的 程式,除了提供 執行應用軟體的 環境,還負責分 配系統資源。
: Happy Number ★ ? 題組: Problem Set Archive with Online Judge 題號: 10591: Happy Number 解題者:陳瀅文 解題日期: 2006 年 6 月 6 日 題意:判斷一個正整數 N 是否為 Happy Number.
Department of Air-conditioning and Refrigeration Engineering/ National Taipei University of Technology MATLAB 操作與 系統動態模擬 SIMULINK 李達生.
1 MySQL 資料庫的使用 網頁資料庫的基礎 網頁資料庫的基礎 下載與安裝 MySQL 下載與安裝 MySQL 啟動 MySQL 伺服器 啟動 MySQL 伺服器 Web 介面的 MySQL 管理程式 Web 介面的 MySQL 管理程式 MySQL 建立資料庫 MySQL 建立資料庫 在 MySQL.
CH.8 偵錯 Visual Basic CH.8 偵錯 Visual Basic  資三甲   章乃云 三種類型的錯誤 三種類型的錯誤.
1 Netlibrary 電子書 Netlibrary 創始於 1998 年,是世界知名的電子書資 料庫,提供 450 多家出版社所出版近 100,962 ( 止)本的電子書,且以每月 2,000 本的 速度增加中。其中 80% 屬於學術性圖書,其餘 20% 一般圖書, 90% 以上為.
各種線上電子資源的特異功能 SwetsWise 的 alert, TOC alert 與 Favorites 2003/4/28 修改.
第 10 章 視窗應用程式的工具列與 功能表 10-1 主功能表控制項 10-1 主功能表控制項 10-2 快顯功能表控制項 10-2 快顯功能表控制項 10-3 工具列控制項 10-3 工具列控制項 10-4 狀態列控制項 10-4 狀態列控制項 10-5 字型與色彩對話方塊 10-5 字型與色彩對話方塊.
資料庫程式設計與系統管理 SQL Server 2005 Express 第六章 進階資料庫設計.
:Nuts for nuts..Nuts for nuts.. ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 10944:Nuts for nuts.. 解題者:楊家豪 解題日期: 2006 年 2 月 題意: 給定兩個正整數 x,y.
校外使用圖書館購置之資料庫 龍華大學圖書館. 讀者遠端認證 (RPA) 設定說明  透過圖書館架設完成的 RPA (Remote Patron Authentication) 讀者遠端認證代理主 機系統,讀者於校外或院外 可直接連線使 用本館所提供的資料庫。  若非使用本館電子資料,請勿設定此代理.
從此處輸入帳號密碼登入到管理頁面. 點選進到檔案管理 點選「上傳檔案」上傳資料 點選瀏覽選擇電腦裡的檔案 可選擇公開或不公開 為平台上的資料夾 此處為檔案分類,可顯示在展示頁面上,若要參加 MY EG 競賽,做品一律上傳到 “ 98 MY EG Contest ” 點選此處確定上傳檔案.
Chapter 17 Windows API 程式入門 VC++ 與 WindowsVC++ 與 Windows 建構遊戲設計的舞台 建構遊戲設計的舞台.
資料結構實習-一 參數傳遞.
6-2 認識元件庫與內建元件庫 Flash 的元件庫分兩種, 一種是每個動畫專 屬的元件庫 (Library) ;另一種則是內建元 件庫 (Common Libraries), 兩者皆可透過 『視窗』功能表來開啟, 以下即為您說明。
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2008.
Management Abstracts Retrieval System; MARS 檢索操作.
Section 4.2 Probability Models 機率模式. 由實驗看機率 實驗前先列出所有可能的實驗結果。 – 擲銅板:正面或反面。 – 擲骰子: 1~6 點。 – 擲骰子兩顆: (1,1),(1,2),(1,3),… 等 36 種。 決定每一個可能的實驗結果發生機率。 – 實驗後所有的實驗結果整理得到。
函式 Function Part.2 東海大學物理系‧資訊教育 施奇廷. 遞迴( Recursion ) 函式可以「呼叫自己」,這種動作稱為 「遞迴」 此程式的執行結果相當於陷入無窮迴圈, 無法停止(只能按 Ctrl-C ) 這給我們一個暗示:函式的遞迴呼叫可以 達到部分迴圈的效果.
校園網頁整合平台介紹 電算中心綜合業務組. 大綱 設計理念 功能介紹 實做 FAQ 特殊案例 Q&A.
845: Gas Station Numbers ★★★ 題組: Problem Set Archive with Online Judge 題號: 845: Gas Station Numbers. 解題者:張維珊 解題日期: 2006 年 2 月 題意: 將輸入的數字,經過重新排列組合或旋轉數字,得到比原先的數字大,
Chapter 10 m-way 搜尋樹與B-Tree
第12章 多重表單與模組的應用程式 12-1 VB.NET的方案與專案 12-2 模組化VB.NET應用程式 12-3 多重表單的應用程式
5 重複迴圈 5.1 增減運算符號 增量運算符號 減量運算符號
Biological Science Database 個人化服務設定步驟. Biological Science Database 僅提供專題選 粹服務 專題選粹 (Alerts) :查詢後,提供儲存檢 索策略的功能,日後每週將符合條件的 更新資料,採 方式通知。每筆設定 最多每週可收到.
INTRODUCTION TO MATLAB SHAWNNTOU. What Is MATLAB? MATLAB® is a high-performance language for technical computing. MATLAB® is a high-performance language.
1 EndNote 金珊資訊有限公司 2 EndNote X2 新功能 新增標籤 (Tab) 視窗 線上查詢群組 智慧群組 (Smart Groups) 新增參考文獻類型 查詢全文 標示日期 以電子郵件傳送壓縮的 Library 檔案 Library.
第 6 章 迴圈結構 6-1 計數迴圈 6-1 計數迴圈 6-2 條件迴圈 6-2 條件迴圈 6-3 巢狀迴圈 6-3 巢狀迴圈 6-4 While/End While 迴圈 6-4 While/End While 迴圈 6-5 跳出迴圈 6-5 跳出迴圈 6-6 VB.NET 的錯誤處理 6-6 VB.NET.
著作權所有 © 旗標出版股份有限公司 第 3 章 資料庫物件的關係. 本章提要 Access 資料庫物件的關係 Access 資料庫物件的關係 簡介 Access 的七大物件 簡介 Access 的七大物件 Access 的群組 Access 的群組.
Outlook 教學與研習 (1) - 設定及收發郵件 - 設定郵件規則 陽明大學資訊與通信中心 陳坤元 2006/03/27.
函式 Function 東海大學物理系‧資訊教育 施奇廷. 函式簡介 當程式越來越大、越複雜時,程式的維護、 除錯會變得更困難,此時必須引入函式來 簡化程式或將程式分段,將程式重複的部 分改寫為函式,將程式「模組化」 這種作法有下列優點:節省程式發展的時 間、邏輯容易瞭解、程式容易除錯、可分 工合作完成程式.
-Artificial Neural Network- Matlab操作介紹 -以類神經網路BPN Model為例
Visual C++重點複習.
第 5 章 選擇控制項與條件敘述 5-1 結構化程式設計 5-1 結構化程式設計 5-2 關係與邏輯運算子 5-2 關係與邏輯運算子 5-3 簡單的條件敘述 5-3 簡單的條件敘述 5-4 選擇控制項 5-4 選擇控制項 5-5 巢狀條件敘述 5-5 巢狀條件敘述 5-6 多選一條件敘述 5-6 多選一條件敘述.
OmniFile Full Text 系列資料庫 個人化服務設定步驟. 此相關資料庫之個人化服 務只提供類似專題選粹的 服務,然無提供 mail 通知的 服務,讀者可建立個人 ID , 並儲存檢索策略,日後需 再進入該資料庫,查詢檢 索策略之新進文章。 導航目次 個人化服務說明 個人帳號密碼申請 個人化服務設定.
數字系統與資料表示法 教師: 陳炯勳 數系轉換 r進制數字 稱為 base r或 radix r 有r個計數符號,計數順序逢r歸零(進位) A n A n - 1 ‥‥A 2 A 1 A 0 ﹒A -1 A -2 ‥‥A -m 其中A n 及A.
Microsoft Excel.
實體關係模型 (ER Model).
: Finding Paths in Grid ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11486: Finding Paths in Grid 解題者:李重儀 解題日期: 2008 年 10 月 14 日 題意:給一個 7 個 column.
著作權所有 © 旗標出版股份有限公司 第 14 章 製作信封、標籤. 本章提要 製作單一信封 製作單一郵寄標籤.
幼兒行為觀察與記錄 第八章 事件取樣法.
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 肆 資料分析與表達.
Presentation transcript:

主從式資料庫系統 - CH8 1 第 8 章 DAO 物件應用和程式設計

主從式資料庫系統 - CH8 2 本章宗旨 簡介 DAO 物件之引用方式 簡介 DAO 物件之各項資料操作指令 介紹資料表自動連入與移除之處理方式 介紹 VBA 資料庫操作指令與程序檔建檔範例 介紹事件導向之程式設計風格 介紹多功能整合式表單之設計方式 簡介 DAO 物件設計 API 之進階應用- SQL 指令集管理

主從式資料庫系統 - CH8 3 大 綱 8-1 前置處理 8-2 DAO 指令簡介 8-3 進階應用

主從式資料庫系統 - CH 前置處理 DAO 為 Data Access Object 之縮血寫 DAO 物件大都以 VBA 語言來設計程序或函數, 再以這些程序和函數來處理資料。完成程序設 計後,還需要將 DAO 物件引入,程序檔方能正 常執行

主從式資料庫系統 - CH 前置處理 ( 續 ) 引用過程 開啟任一表單在設計模式 點選主功能表【檢視】、【程式碼】 點選程式碼視窗【工具】、【設定引用項目 (R) 】 出現設定引用項目視窗後,捲動可引用項目,請勾 選【 Microsoft DAO 3.6 Object Library 】 按下優先權方向鍵,將前述選項往上移至頂端 按【確定】鈕,結束引用過程

主從式資料庫系統 - CH 前置處理 ( 續 ) 引用結果

主從式資料庫系統 - CH DAO 指令簡介 資料庫連結 紀錄集開啟指令語法 查詢介面建立與執行 資料處理程序 紀錄及欄位操作指令說明

主從式資料庫系統 - CH 資料庫連結 DAO 與其他資料庫連結方式 直接以連線物件連結,資料在伺服端處理 直接以連線物件連結,資料在主控端處理 透過資料庫引擎,搭配 ODBC 將資料表連入 Access

主從式資料庫系統 - CH8 9 資料庫連結比較 連線方式連線方法資料處理 區 紀錄搜尋方法查詢介面 連線物件 OpenConnectiondbUseOD BC 使用 SQL 之 Where 子句 可建立暫時性查詢 但不能指名 連線物件 OpenDatabasedbUseJet/ dbUseOD BC 使用 Find 可建立暫時性查詢 但不能指名 資料庫引擎 TransferDatabasedbUseJet 使用 Find 可建立暫時性查詢 且能指名

主從式資料庫系統 - CH 以 TransferDatabase 指令連結資 料表 1.1 TransferDatabase 指令 語法: Docmd.TransferDatabase 參數一,參數二, 參數三,參數四,參數五,參數六,參數七 參數一:連結型態,分別是 acLink, acImport, acExport ,請選用【 acLink 】 參數二:資料庫類型,請選用【 ODBC 資料庫】 參數三:資料庫名稱,須包含路徑或連結字串

主從式資料庫系統 - CH 以 TransferDatabase 指令連結資 料表 ( 續 ) 參數四:資料類型,請選用【 acTable 】 參數五:來源資料名稱,請輸入【資料表名稱】 參數六:目的資料名稱,請輸入【資料表名稱】 參數七:只含資料結構,請輸入【 False 】

主從式資料庫系統 - CH 以 TransferDatabase 指令連結資 料表 ( 續 ) 應用範例 DoCmd.TransferDatabase acLink, "ODBC 資料庫 ", "ODBC; Driver={MySQL ODBC 3.51 Driver}; Server=Localhost; Database=mysal; UID= 帳號 ; PWD= 密碼 ; Option=3 ", acTable, “cuinfo”, “cuinfo”, False 或改用 DoCmd.TransferDatabase acLink, "ODBC 資料庫 ", "ODBC; DSN= 資料來源名稱 ; Database=mysal; UID= 帳 號 ; PWD= 密碼 ; Option=3 ", acTable, “cuinfo”, “cuinfo”, False

主從式資料庫系統 - CH 以 TransferDatabase 指令連結資 料表 ( 續 ) 範例說明 帳號和密碼,輸入要登錄 MySQL 之對應帳號和 密碼 資料來源名稱則為 ODBC 資料管理員之設定名 稱 設定 DSN 時,可以單獨指定 Name 和 Host 參數, 帳號、密碼和資料庫名稱三項參述則在前述指 令內加入亦可,如此可提高系統安全性 上述指令可加入在表單介面內,然後搭配 On Open 事件程序使用

主從式資料庫系統 - CH 以公用程序連結資料表 首先點取【模組物件】、【新增】,新增一個名稱叫 conModule 之模組。 在模組內新增一個名稱叫【 LinkTable 】之公用程序, 完整指令如下: Public Sub LinkTable(wdb as string, tbn as string) DoCmd.TransferDatabase acLink, "ODBC 資料庫 ", "ODBC; Driver= “ & _ “{MySQL ODBC 3.51 Driver}; Server=Localhost; Database=” & wdb & “;” & _ “UID= 帳號 ; PWD= 密碼 ; Option=3 ", tbn, tbn, False End Sub

主從式資料庫系統 - CH 以公用程序連結資料表 ( 續 ) 在處理資料之表單介面適當位置 ( 例如 On Open 事件 ) 加入下列指令,即可連結資料表: Call LinkTable(“ 資料庫名稱 ”,” 資料表名稱 ”) 例如: Call LinkTable(“mysal”,”cuinfo”)

主從式資料庫系統 - CH 移除連結資料表 可直接在資料表物件容器點取對應資料表,然 後按刪除鍵,或是 以程序檔在應用程式介面內將連結資料表移除 應用範例:在 conModule 模組內新增一個名稱 叫 dlTmptbl 之公用程序

主從式資料庫系統 - CH8 17 dlTmptbl 程式內容 1. Public Sub dlTmptbl(tbn As String) 2. Dim tbl As TableDef 3. Dim db As Database 4. Set db = CurrentDb 5. With db 6. For Each tbl In db.TableDefs 7. If tbl.Name = tbn Then 8. db.TableDefs.Delete tbl.Name 9. Exit For 10. End If 11. Next tbl 12. End With 13. End Sub

主從式資料庫系統 - CH8 18 dlTmptbl 程式應用 在主功能表之 On Close 事件程序加入下列 指令,就可以自動移除連結資料表 1. Dim db as database 2. Dim rs as recordset 3. Set db = currentdb 4. Set rs=db.OpenRecordset(“Select * From sysTable Where database= ’mysal’”)

主從式資料庫系統 - CH8 19 dlTmptbl 程式應用 ( 續 ) 5. With rs 6. Do while not.EOF 7. Call dlTmptbl(rs!Table) 8..movenext 9. Loop 10. End With 11. rs.close

主從式資料庫系統 - CH 開啟資料表 指令 方法一: Set rs = db.OpenRecordset("cuinfo") 方法二: Set rs = db.OpenRecordset("Select * From cuinfo") 方法三: Set qry = db.CreateQueryDef(" 查詢名稱 ", "SQL 指 令 ") Set rs = qry.OpenRecordset()

主從式資料庫系統 - CH 開啟資料表 ( 續 ) 應用說明 此方式開啟之紀錄集,不能直接連結至 Access 之其他介面,只能以 DAO 物件提供之方法操作 紀錄 指定名稱建立查詢時,該查詢介面可儲存在 Access 查詢物件內,且該查詢介面可以直接連 結至表單介面

主從式資料庫系統 - CH 操作資料庫及處理資料 使用 SQL 指令操作資料庫及處理資料 Dim qry As QueryDef Set qry = db.CreateQueryDef("", "SQL 指令 ") qry.Execute

主從式資料庫系統 - CH 使用 OpenDatabase 方法 此方法須建立一個工作區,作為主從端對話空 間 連結指令: 語法: Set workspace = CreateWorkspace(name, user, password, type) Set database = workspace.OpenDatabase (dbname, options, read-only, connect)

主從式資料庫系統 - CH 使用 OpenDatabase 方法 ( 續 ) 其中各項變數之意義 : Workspace :工作區物件變數 name :工作區名稱,只建立一個工作區時,可不指名 user :工作區帳號,通常使用預設值 ”Admin” ,非 MySQL 之登入帳號。 password :密碼,可缺設 type :使用 dbUseJet( 主控端 )| 或是 dbUseODBC( 伺服端 ) dbname :資料庫名稱 (Jet) 或是資料來源名稱 (ODBC) Options :選項常數

主從式資料庫系統 - CH 使用 OpenDatabase 方法 ( 續 ) Options :可使用下列常數值 dbDriverNoPrompt :預設以 dbname 和 connection string 與伺服器連線,若連線資訊不足時將提示錯誤 dbDriverPrompt :連線時將提示 DSN 對話框,若處理人 員未選取 DSN ,則以預設之 DSN 資訊來連結 dbDriverComplete :此為預設值,假設連線字串已包含 足夠的連線資訊 dbDriverCompleteRequired :與 dbDriverComplete 類似, 除了 ODBC 驅動程式無法提示足夠的連線資訊時 read-only :唯讀屬性 connect :連線字串

主從式資料庫系統 - CH 應用範例 在模組內新增一公用程序 - openDB ,指令如下: 1. Public ws As Workspace 2. Public db As Database 3. Public As Recordset 4. Public Sub openDB() 5. Dim str As String 6. Set ws = DBEngine.CreateWorkspace("", “Admin", "", dbUseJet) 7. str = "ODBC; DRIVER={MySQL ODBC 3.51 Driver}; SERVER = localhost; DATABASE=mysal; UID= 帳號 ; PWD= 密碼 ; OPTION=3“ 8. Set db = ws.OpenDataBase(" 資料來源 ", dbDriverNoPrompt, False, str) 9.End Sub

主從式資料庫系統 - CH 應用範例 ( 續 ) 在主功能表之 On Open 事件程序加入下列指令, 就可以自動建立連線物件 Call openDB 資料表開啟與處理方法與第一種連結方式相同, 但是建立查詢介面時,不能指定介面名稱

主從式資料庫系統 - CH 紀錄集開啟指令 1. 語法 搭配連線物件或資料庫物件 語法: Set recordset = object.OpenRecordset ( 資料源, 型 態, 選項, 讀寫模式 ) 範例: Set rs = con.OpenRecordset( 引數串列 ) Set rs = db.OpenRecordset( 引數串列 )

主從式資料庫系統 - CH 語法 ( 續 ) 搭配查詢、紀錄集或資料表 語法: Set recordset = object.OpenRecordset ( 型態, 選項, 讀寫模式 ) 範例: Set rs = qry.OpenRecordset( 引數串列 )

主從式資料庫系統 - CH 各項參數之用法 資料源:可以是資料表或是 SQL 指令 型態:可選用下列常數 dbOpenTable :開啟資料表型式之紀錄集 ( 適用於 dbUseJet) dbOpenDynamic :開啟動態型之紀錄集 ( 適用於 dbUseODBC) dbOpenDynaset :開啟動態集之紀錄集,類似 ODBC keyset 紀錄指標 dbOpenSnapshot :開啟快照型之紀錄集, 類似 ODBC static 紀錄指標 dbOpenForwardOnly :開啟前導型之紀錄集

主從式資料庫系統 - CH 各項參數之用法 ( 續 ) 註: 若未指定型態, dbUseJet 預設為資料表型 若搭配物件為資料表或查詢,則預設為動態集 dbUseODBC 預設為前導型。

主從式資料庫系統 - CH 各項參數之用法 ( 續 ) 可選用下列常數選項 dbAppendOnly :新增紀錄,但不能編輯和刪 除 ( 適用於 dbUseJet 之 dynaset 紀錄集 ) dbSQLPassThrough :傳送一道 SQL 指令至伺 服端 ( 適用於 dbUseJet 之 snapshot- 紀錄集 ) dbSeeChanges :在多人使用環境下,有人試 圖變更他人正在編輯的資料,立即產生錯誤信 息 ( 適用於 dbUseJet 之 dynaset 紀錄集 )

主從式資料庫系統 - CH 各項參數之用法 - 選項 dbDenyWrite :預防他人修改或新增紀錄 ( 適用於 dbUseJet 紀錄集物件 ) dbDenyRead :預防他人讀取紀錄 ( 適用於 dbUseJet 之 table 紀錄集 ) dbRunAsync :非同步查詢 ( 適用於 ODBCDirect 工 作區 )

主從式資料庫系統 - CH 各項參數之用法 - 選項 dbExecDirect :執行查詢時,跳過 SQLPrepare 直 接叫用 SQLExecDirect ( 適用於 ODBCDirect 工作 區 ) ,當紀錄未以參數式查詢開啟時,需搭配此項 參數 dbInconsistent :允許不一致更新資料 ( 適用於 dbUseJet 之 dynaset 與 snapshot 紀錄集 ) dbConsistent :允許一致更新資料 ( 適用於 dbUseJet 之 dynaset 與 snapshot 紀錄集 )

主從式資料庫系統 - CH 各項參數之用法 - 讀寫模式 dbReadOnly :唯讀模式 (ODBCDirect 工作區預設模式 ) , 此模式不能同時出現在選項和讀寫參數設定 dbPessimistic :當下達 Edit 指令後,立即將包含該紀錄 之資料頁鎖定 (Jet 工作區預設模式 ) dbOptimistic :當下達 Update 指令後,才將包含該紀錄 之資料頁鎖定 (Jet 工作區預設模式 ) dbOptimisticValue :以記錄為單位樂觀型更新資料 ( 適用 於 ODBCDirect 工作區 ) dbOptimisticBatch :允許以批次方式樂觀型更新資料 ( 適 用於 ODBCDirect 工作區 )

主從式資料庫系統 - CH 查詢介面建立與執行 1. 查詢介面建立語法 語法: Set qry = object.CreateQueryDef (name, sqltext) qry :查詢物件變數 object :資料來源物件,可以是連線物件或是資料 庫物件

主從式資料庫系統 - CH 查詢介面建立語法 ( 續 ) name :查詢介面名稱 若 object 為連線物件或是資料庫物件時(只適用於 dbUseJet ),不得指定名稱 若為連結型資料表(以 TransferDatabase 連線者), 可以指定名稱,也可以缺設 指定名稱時,不可以和查詢物件內的其他介面同名 sqltext : SQL 指令敘述,建立 qry 物件時可缺設, 然後在他處設定 qry.SQL 之屬性值即可

主從式資料庫系統 - CH 查詢介面執行語法 若屬選取型 (Select) 之查詢介面,可直接連結至 表單來查看資料 或是以下列指令來開啟一個紀錄集 Set rs = qry.OpenRecordset() 若屬動作型 ( 如 Insert, Update, Delete 等 ) 之查詢 介面,可以使用下列指令來處理資料 qry.Execute options

主從式資料庫系統 - CH 查詢介面執行語法 ( 續 ) 其中 options 有下列常數選項: dbDenyWrite :預防他人寫入資料 ( 只適用於 Jet 工 作區 ) dbInconsistent :預設值,不一致的更新資料 ( 只適 用於 Jet 工作區 ) dbConsistent :一致型更新資料 ( 只適用於 Jet 工作 區 ) dbSQLPassThrough :將 SQL 傳送給伺服端去處理 資料 ( 只適用於 Jet 工作區 )

主從式資料庫系統 - CH 查詢介面執行語法 ( 續 ) dbFailOnError :處理資料發生錯誤時,倒捲回原 始狀態 ( 只適用於 Jet 工作區 ) dbSeeChanges :在多人使用環境下,有人試圖變 更他人正在編輯的資料,立即產生錯誤信息 ( 只適 用於 Jet 工作區 ) dbRunAsync :非同步處理資料 ( 適用於 ODBCDirect 工作區 ) dbExecDirect :使用於未以 SQLPrepare 方式呼叫 ODBC 介面方法 ( 適用於 ODBCDirect 連線物件之查 詢介面 )

主從式資料庫系統 - CH 資料處理程序 新增紀錄 指令 : rs.AddNew :新增一筆空白紀錄 ( 在記憶體 ) rs.Update :將記憶體資料寫回磁碟 rs!CU_Tel = Me!CU_Tel :將表單控制項資料置 入紀錄集之對應欄位 Me!CU_Tel = rs!CU_Tel :將紀錄集之欄位資 料置入表單控制項

主從式資料庫系統 - CH 資料處理程序 ( 續 ) 查詢紀錄 搜尋紀錄指令: rs.FindFirst 範例: rs.FindFirst "CU_No ='" & Me!CU_No & "'“ 找次筆指令: rs.FindNext 判斷未找到: rs.Nomatch

主從式資料庫系統 - CH 資料處理程序 ( 續 ) 刪除記錄 指令: rs.Delete 刪除資料時,最好能提示處理人員 Style = vbYesNo + vbCritical + vbDefaultButton2 rps = MsgBox(" 刪除紀錄嗎 ?", Style, " 刪除紀錄 ") If rps = vbYes Then rs.Delete End If

主從式資料庫系統 - CH 資料處理程序 ( 續 ) 儲存 / 編輯紀錄 指令: rs.Edit :執行編輯資料 ( 記憶體 ) rs.Update :將記憶體資料寫回磁碟

主從式資料庫系統 - CH 資料處理程序 ( 續 ) 更新資料、轉檔或批次刪除資料 使用動作查詢方法 範例: Str2=” Update rcpay, 銷貨金額計算 Set rcpay.CR_Spamt = rcpay!CR_Spamt “ & _ “+ 銷 貨金額計算 !Amount, rcpay.CR_Upamt = rcpay!CR_Upamt + “ & _“ 銷貨金額計算 !Amount, 銷貨金額計算.TR_Note = ‘T’ “ & _“WHERE ((([ 銷 貨金額計算 ].[TR_Note]) Is Null));” Set qry2 = db.CreateQueryDef("", str2) qry2.Execute

主從式資料庫系統 - CH8 46 更新資料、轉檔或批次刪除資料 使用紀錄集操作方法, 範例: str1=” Select spbill.SP_Blno, spbill.CU_No, splist.PD_No, splist.SP_Qty,” & _ “cuquoat.UN_Price, splist!SP_Qty*cuquoat!UN_Price AS Amount, “ & _ “splist.TR_Note FROM cuquoat Inner Join (spbill Inner Join splist ON “ & _ “spbill.SP_Blno = splist.SP_Blno) ON (cuquoat.CU_No = spbill.CU_No) “ & _ “And (cuquoat.PD_No = splist.PD_No) Where (((splist.TR_Note) Is Null)) ” & _ “ Order By spbill.CU_No;” Set qry1 = db.CreateQueryDef("", str1) Set rs1 = qry1.OpenRecordset() str2 = “Select * From rcpay Order By CU_No;” Set rs2 = db.OpenRecordset(str2) With rs1

主從式資料庫系統 - CH8 47 使用紀錄集操作方法 ( 續 ) Do While Not.EOF cu=!CU_No With rs2.MoveFirst.FindFirst “CU_No = ‘” & cu & “’” If Not.NoMatch Then.Edit !CR_Spamt = !CR_Spamt + rs1!Amount !CR_Upamt =!CR_Upamt + rs1!Amount.Update rs1.Edit rs1!TR_Note = ‘T’ rs1.Update End If End With.MoveNext Loop End With rs1.Close rs2.Close

主從式資料庫系統 - CH 紀錄及欄位操作指令說明 1. 搜尋紀錄指令: FindFirst 語法: FindFirst 參數一 參數二 參數三 說明:參數一為欄名,參數二為關係運算子,參數三為欄位 值 範例: rs.FindFirst “CU_No = ‘” & cu & “’” ,因為 cu 為字串變 數,所以前後需加上單引號,若為日期變數則前後要加上 # , 若為數值則直接代入變數 搜尋次筆,語法: FindNext 搜尋末筆,語法: FindLast

主從式資料庫系統 - CH 紀錄及欄位操作指令說明 ( 續 ) 2. 移動紀錄指令 移次筆,語法: MoveNext 移上筆,語法: MovePrevious 第一筆,語法: MoveFirst 最末筆,語法: MoveLast 3. 計算紀錄筆數 語法: rs . RecordCount ,回傳結果為長整數 4. 計算欄位數 語法: rs . Fields . Count ,回傳結果為整數 5. 取得欄名語法: rs(i).Name

主從式資料庫系統 - CH 紀錄及欄位操作指令說明 ( 續 ) 6. 欄位資料處理可選用下列任意型式: 指定欄名: rs(“ 欄名 ”) , rs.Fields(“ 欄名 ”) , rs.Fields.Item(“ 欄 名 ”) 皆可 指定欄序: rs(i) , rs.Fields (i) , rs.Fields.Item(i) , i 從 0 起算 取出欄值 範例: 變數= rs(i) ,或 rs! 欄名 存回欄值 範例: rs(i) =變數,或 rs! 欄名 = 變數 搭配 For 迴圈處理每個欄位 For i = 0 To rs.Fields.Count – 1 變數= rs(i) …….. Next i

主從式資料庫系統 - CH 進階應用 使用一個表單作為資料查詢介面,資料來源將 伺服端資料表直接連入 Access 查詢介面將使用下列元件: 組合方塊一:命名為【 tblDa 】,標籤抬頭提示 為【資料表】 組合方塊二:命名為【 qryDa 】 ,標籤抬頭提 示為【查詢表】 指令按鈕一:命名為【 tblCmd 】,標籤抬頭提 示為【查看資料表】

主從式資料庫系統 - CH 進階應用 ( 續 ) 文字方塊:命名為【 sqlDa 】,標籤抬頭提示為 【 SQL 指令】 子表單:命名為【 dtlData 】,標籤抬頭提示為 【資料明細】 指令按鈕二:命名為【 qryCmd 】,標籤抬頭提 示為【查看查詢表】 各控制項指令明細請看書本範例

主從式資料庫系統 - CH8 53 測試成果