- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VBA资料库存取关键技术.doc
VBA資料庫存取關鍵程式碼
目錄
1. 將資料表所有紀錄跑完一圈,並針對每一筆記錄欄位來修改或查詢 2
2. 觀念:如何寫程式碼來讀出某一資料表的全部資料,並做計算 3
3. 查詢『某一筆紀錄』的關鍵程式碼 4
4. 以關鍵字的方式查詢『某些筆紀錄』的關鍵程式碼 5
5. 修改某一筆記錄的關鍵程式碼 6
6. 刪除某一筆記錄的關鍵程式碼 7
7. 觀念:如何寫程式碼來讀出某一資料表的全部資料,並做計算 8
將資料表所有紀錄跑完一圈,並針對每一筆記錄欄位來修改或查詢
連結資料表
Dim Fx As ADODB.Recordset
Set Fx = New ADODB.Recordset
Fx.Open 資料表名稱, CurrentProject.Connection, , adLockOptimistic
將資料表所有紀錄跑完一圈,進行運算
Do While Not Fx.EOF
Fx(欄位1) = Fx(欄位2)+ Fx(欄位3)
Fx.MoveNext
Loop
顯示:計算完成
MsgBox (計算完成!)
觀念:如何寫程式碼來讀出某一資料表的全部資料,並做計算
比較:
前面:是在表單中,利用已經讀取資料表的紀錄→用已知欄未來做計算
現在:是還沒讀進資料表→要靠自己寫程式碼將資料表讀進來
觀念:
Recordset是ADO(ActiveX Data Objects)技術中最常用的物件
使用Recordset物件可以用來引用資料表的欄位資料
步驟1:先要開啟資料表
語法範例:
Dim fx As ADODB.Recordset //宣告fx為Recordset物件型態
Set fx = New ADODB.Recordset //產生一個ADO物件實體給fx
fx.Open “基本資料”, CurrentProject.Connection, adOpenStatic, adLockOptimistic
//將郵遞區號資料表打開,以便讀取資料表的欄位資料
步驟2:讀取欄位中的資料內容
fx(“平均成績”)
fx(“上機考”)
fx(“期中考”)
fx(“期末考”)
步驟3:移動紀錄位置指令
fx.MoveFirst→移到第一筆記錄
fx.MoveNext→移到下一筆記錄
fx.MoveLast→移到最後一筆記錄
fx.MovePrevious→移到上一筆記錄
fx.EOF→超過資料表的紀錄
步驟4:Recordset物件的Open方法
Fx.Open 資料來源,資料連結,指標型態,鎖定方式,選擇
其中,鎖定方式的參數有4種模式
adLockReadOnly:唯讀
adLockPessimistic:悲觀性鎖定
adLockOptimistic:樂觀性鎖定
adLockBatchOptimistic:樂觀性批次鎖定
當要將資料寫回索引用的資料表→使用adLockOptimistic模式
查詢『某一筆紀錄』的關鍵程式碼
宣告變數
Dim dbs, rs As Variant
Dim SqlStr As String
建立資料庫物件(使用目前資料庫)
Set dbs = CurrentDb
開啟資料表,並進行SQL語法查詢
SqlStr = Select * from 資料表 where name =jack
SqlStr = select * from 資料表名稱 where 欄位 = test
Set rs = dbs.openrecordset(SqlStr)
設定目前表單的資料來源為
Me.RecordSource = SqlStr
關閉資料庫物件
dbs.Close
以關鍵字的方式查詢『某些筆紀錄』的關鍵程式碼
宣告變數
Dim dbs, rs As Variant
Dim SqlStr As String
建立資料庫物件(使用目前資料庫)
Set dbs = CurrentDb
開啟資料表,並進行SQL語法查詢
SqlStr = Select * from 資料表 where name like *jack*
SqlStr = select * from 資料表 where 欄位 like * Me![text1] *
Set rs = dbs.openrecordset(SqlStr)
設定目前表單的資料來源為
Me.RecordSource = SqlStr
關閉資料庫物件
dbs.Close
修改某一筆記錄的關
您可能关注的文档
- SAP系统体系结构.doc
- SCI十分钟完成复杂项目方案——奥普特董瑞先生.ppt
- SDN下的动态负载均衡机制-计算机应用与软件.PDF
- SDVR161316CHD1480IPS网路型数位录影主机.PDF
- SEC一种在对等存储网络中的安全纠删码方案-PKU-北京大学.doc
- Session80可修复系统的可靠度计算.PDF
- SFFS低延迟的面向小文件的分布式文件系统.PDF
- Si11414243带I2C接口的临近环境光传感器IC-SiliconLabs.PDF
- SMP丛集上考量记忆体之平行排程演算法MemoryConsiderationfor.PDF
- SN8F26E61系列SONiX8位单片机-松翰科技.PDF
最近下载
- 电子数据取证技术PPT课件(共12章)第3章取证技术基础.pptx VIP
- 电子数据取证技术PPT课件(共12章)第2章电子数据取证规范.pptx VIP
- 北师大版三年级数学上册 (长方形周长)周长课件教学.pptx
- 23G518-1门式刚架轻型房屋钢结构(无吊车).docx
- 电子数据取证技术PPT课件(共12章)第5章UNIXLinux操作系统取证技术.pptx VIP
- 砥砺身心成就未来主题班会.pptx VIP
- 2024年《公文写作与处理》考试题库大全(含答案).pdf VIP
- 电子数据取证技术PPT课件(共12章)第9章网络取证技术.pptx VIP
- 建设银行笔试试题.docx
- 电子数据取证技术PPT课件(共12章)第4章Windows操作系统取证技术.pptx VIP
文档评论(0)