在一家使用access開始程式的公司做專案,改進原系統成為支援barcode的物流系統.
他們使用程式和資料分離的方法,access的程式使用鏈結表指向原始表,就可以在程式中直接操作鏈結表就像操作本地表一樣.由於將資料部署在伺服器上做為生產資料庫,則除錯時將使用本地資料進行除錯,在程式中就要頻繁更改鏈結表的指向.以前他們都是手動進行修改很是忙煩,我看了下dao的資料就寫個小程式控制鏈結表.程式如下:
新增專案,引用dao3.
51,窗體上放三個textbox,兩個commandbutton,乙個commondialog,和乙個progressbar.編寫**如下:
option
explicit
private
subcmdbrowse_click(index
asinteger
)me.commondialog1.showopen
ifme.commondialog1.filename
<>
""then
me.txtpath(
0).text
=me.commondialog1.filename
endif
end sub
private
subcmdexit_click()
unload me
end sub
private
subcmdprocess_click()
dimi
aslong
, ok
aslong
, linkcount
aslong
fori =0
to2ifme.txtpath(i).text =""
then
msgbox
"請填寫所有路徑!
", vbokonly
+vbinformation, "提示
"exit
subend
ifnext
dimdb
asdatabase
setdb
=dbengine.opendatabase(me.txtpath(
0).text)
dimt
astabledef, s1
asstring
, s2
asstring
, s3
asstring
me.progressbar1.max
=db.tabledefs.count
me.progressbar1.value =0
foreach
t in db.tabledefs
me.progressbar1.value
=me.progressbar1.value +1
ift.connect
<>
""then
linkcount
=linkcount +1
t.connect
=replace
(t.connect, me.txtpath(
1).text, me.txtpath(
2).text)
dimfind
aslong
find
=instr(1
, t.connect, me.txtpath(
2).text)
onerror
resume
next
t.refreshlink
ifdao.errors.count
<>
0then
fori =0
todao.errors.count -1
ifdao.errors(i).number ="
3011
"then
'在目標表中未找到此表
ifvbno
=msgbox("
更改鏈結表時發生目標表鏈結錯誤:"&
vbcrlf &_
dao.errors(i).description, vbyesno
+vbinformation
+vbdefaultbutton2, "提示
") then
onerror
goto
errhandle:
err.raise vbobjecterror, me.name,
"使用者中斷操作!
"end
ifelse
debug.print dao.errors(i).description
endif
next
dao.errors.refresh
else
iffind
<>
0then
ok =
ok +
1end
ifend
ifend
ifnext
msgbox
"鏈結表重新整理完畢,資料庫中總計有:"&
_me.progressbar1.max &"
個資料表,其中鏈結表為:"&
linkcount &_
"個,成功匹配操作:"&
ok &
"個資料表.
", vbokonly
+vbinformation, "提示
"exit
suberrhandle:
msgbox
err.number &"
,"&err.source &"
,"&err.description, vbcritical
+vbokonly, "錯誤
"me.progressbar1.value =0
end sub
DAO讀寫ACCESS檔案
我在網上想尋找乙個使用 cdao 類來從資料表讀出或寫入資料資料,但是我沒有得到什麼線索。現在自己完成了這個功能,從乙個微軟的 access 檔案 mdb 檔案中快速 動態 簡便的建立 寫入 讀出資料 我們的例子是乙個基於對話方塊的程式。設計我們的介面 為了建立我們的資料庫介面,首先我們應該在工程的...
vc6 0使用DAO訪問access2000的問題
感覺dao已經是一種比較舊的資料庫技術,但我的乙個同學還在使用vc6.0跟mfc的dao類來操作access2000,並遇到了乙個問題,就是程式執行時提示說 無法識別資料庫格式 查了一下原因,應該是這樣的 vc6.0裡面的mfc預設使用的是dao3.5,而dao3.5使用的資料庫引擎是jet3.5,...
VB使用ADO操作Access資料庫
這裡只是個簡單不能再簡單的vb小程式例項,但它包含這幾個關鍵字 vb6.0 ado access 環境 visual basic 6.0 企業版 非精簡版,不然會缺少必須的控制項 資料庫 access資料庫,資料庫是xs.mbd,內建表為xj 結果 vb使用ado連線access資料庫,查詢xj表中...