熱度 2||
三、 實現(xiàn)非綁定的數(shù)據(jù)添加方法。
1.0 數(shù)據(jù)非綁定:是指數(shù)據(jù)不與窗體及窗體中數(shù)據(jù)輸入控件綁定。
2.0 數(shù)據(jù)非綁定優(yōu)點(diǎn)與不足。
2.1 優(yōu)點(diǎn)是:對于數(shù)據(jù)操作較靈活,可以實現(xiàn)同時對個數(shù)據(jù)源進(jìn)行操作;
2.2 不足是:相對全綁定以及非綁定數(shù)據(jù)操作有一定難度,需要一定的ACCESS基礎(chǔ),了解并掌握SQL語句及VBA編程。
3.0 例一:通過打開追加查詢添加數(shù)據(jù)。
3.1 新建一個追加查詢(實例:添加客戶記錄查詢),建立追加查詢方法大家參看有關(guān)資料,在此不做講解。大家可以在SQL編輯窗口中加入如下SQL語句,保存查詢即可。
Insert INTO 客戶 ( 公司名稱, 聯(lián)系人名字, 電話號碼 ) VALUES (Forms!非綁定—(查詢)!公司名稱, Forms!非綁定—(查詢)!聯(lián)系人名字, Forms!非綁定—(查詢)!電話號碼);
Insert INTO 是追加查詢關(guān)鍵字
客戶 ( 公司名稱, 聯(lián)系人名字, 電話號碼 ) 是指實例中“客戶表”中對應(yīng)各字段
VALUES 預(yù)追加值關(guān)鍵字
Forms!非綁定—(查詢)!公司名稱:窗體集合!窗體名!控件名
3.2 在窗體添加記錄按鈕單擊事件中添加如下所示代碼(參看非綁定一)。
按鈕代碼:主要功能是通過OpenQuery 方法打開追加查詢實現(xiàn)數(shù)據(jù)添加。
DoCmd.SetWarnings False ‘關(guān)閉系統(tǒng)信息的顯示
DoCmd.OpenQuery "添加客戶記錄查詢"
DoCmd.SetWarnings True
4.0 例二、例三:通過RunSQL或者Execute方法執(zhí)行SQL語句添加數(shù)據(jù)。
4.1 追加數(shù)據(jù)查詢SQL語句
Insert INTO 客戶(公司名稱,聯(lián)系人名字,電話號碼) VALUES ('" & Me.公司名稱 & "','" & Me.聯(lián)系人名字 & "','" & Me.電話號碼 & "')
4.2 RunSQL方法運(yùn)行SQL語句(參看非綁定二)。在添加記錄按鈕單擊事件加入如下代碼
Dim strSQL As String
strSQL = "Insert INTO 客戶(公司名稱,聯(lián)系人名字,電話號碼) "
strSQL = strSQL & "VALUES('" & Me.公司名稱 & "','" & Me.聯(lián)系人名字 & "','" & Me.電話號碼 & "')"
DoCmd.SetWarnings False ‘關(guān)閉系統(tǒng)信息的顯示
DoCmd.RunSQL strSQL
DoCmd.SetWarnings True
4.3 Execute方法運(yùn)行SQL語句(參看非綁定三)。在添加記錄按鈕單擊事件加入如下代碼
Dim strSQL As String
strSQL = "Insert INTO 客戶(公司名稱,聯(lián)系人名字,電話號碼) "
strSQL = strSQL & "VALUES('" & Me.公司名稱 & "','" & Me.聯(lián)系人名字 & "','" & Me.電話號碼 & "')"
CurrentDb().Execute strSQL
5.0 例四:利用DAO數(shù)據(jù)庫對象添加數(shù)據(jù)方法。
5.1 引用DAO 3.6 對象。如要用DAO對象來存取數(shù)據(jù)時,必須先引用DAO,否則使用DAO對象存取數(shù)據(jù)時會產(chǎn)生錯誤。
5.2在添加記錄按鈕單擊事件加入如下代碼。
Dim Rs As DAO.Recordset '申明Rs為DAO記錄集對象
Set Rs = CurrentDb.OpenRecordset("客戶") '設(shè)Rs記錄集為"客戶"表中所有數(shù)據(jù)
With Rs
.AddNew '開始新增新?lián)?/SPAN>
!公司名稱 = Me.公司名稱
!聯(lián)系人名字 = Me.聯(lián)系人名字
!電話號碼 = Me.電話號碼
.Update '更新數(shù)據(jù)
.Close '關(guān)閉當(dāng)前記錄集
End With
Set Rs = Nothing
說明:Recordset 是記錄集對象。我們在進(jìn)行數(shù)據(jù)存取時,必須將所有表都載入內(nèi)存,勢必影響數(shù)據(jù)處理的效率。通過Recordset記錄集對象,只會將所需的數(shù)據(jù)載入到Recordset對象中,然后針對這個記錄集操作就可以了,不僅提高數(shù)據(jù)處理效率,而且記錄集對象并不會影響數(shù)據(jù)庫的大小,存取完數(shù)據(jù)后關(guān)閉該記錄集并釋放內(nèi)存即可。
6.0 例五:利用ADO數(shù)據(jù)庫對象添加數(shù)據(jù)方法。
6.1 引用ADO 2.1 對象。如要用ADO對象來存取數(shù)據(jù)時,必須選引用ADO,否則使用ADO對象存取數(shù)據(jù)時會產(chǎn)生錯誤。
6.2在添加記錄按鈕單擊事件加入如下代碼。
Dim Rs As ADODB.Recordset '申明ADO記錄集對象
Dim StrName As String
Set Rs = New ADODB.Recordset '實例化記錄對象
StrName = "客戶"
With Rs
.Open StrName, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
.AddNew '開始新增數(shù)據(jù)
!公司名稱 = Me![公司名稱]
!聯(lián)系人名字 = Me![聯(lián)系人名字]
!電話號碼 = Me![電話號碼]
.Update '更新數(shù)據(jù)
.Close '關(guān)閉當(dāng)前數(shù)據(jù)集
End With
Set Rs = Nothing '釋放空間
說明:對于ADO申明,我們可以采用如上代碼來申明對象,再實例化;也可以按如下代碼,即在申明時加入New 關(guān)鍵字直接申明并實例化ADO對象。
Dim Rs As New ADODB.Recordset '申明ADO記錄集對象
關(guān)于數(shù)據(jù)添加方法分享到此。因為本文只是為了與大家分享本人在實踐中,掌握的ACCESS中添加數(shù)據(jù)的一些基本方法,對于其它觸及內(nèi)容并未做深入剖析,大家可以參看有關(guān)的資料,或是在實踐中不斷摸索并總結(jié),并舉一反三。如果本文對你有一點(diǎn)點(diǎn)幫助,那是我最為開心的事情。
本文相關(guān)實例請到ACCESSHOME論壇下載,也可與本人聯(lián)系與交流。
(江羽 2009.2.28)
|站長郵箱|小黑屋|手機(jī)版|Office中國/Access中國
( 粵ICP備10043721號-1 )
GMT+8, 2025-7-13 08:47 , Processed in 0.075622 second(s), 18 queries .
Powered by Discuz! X3.3
© 2001-2017 Comsenz Inc.