国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

重新定位鏈接表二步走

2024-07-21 02:12:30
字體:
來源:轉載
供稿:網友

盡管accxp網上有很多關于定位鏈接表的貼子,但還是有很多的朋友詢問這方面的問題。應letter網友的提議,結合alex總版主的重新定位鏈接表文件源碼,現將這方面的具體操作介紹如下:

假設前臺數據庫文件名為frontbase.mdb
后臺數據庫文件名為backdata.mdb
frontbase當中有鏈接表tbl1, tbl2, tbl3, …,鏈接到backdata.mdb中

首先我們要在前臺數據庫文件的啟動窗體加載事件中判斷鏈接是否正確

方法是打開任意一個鏈接表,假設為tbl1,代碼如下:

public function checklinks() as boolean
' 檢查到后臺數據庫的鏈接;如果鏈接存在且正確的話,返回 true ?! ?
   dim dbs as database, rst as dao.recordset  
   set dbs = currentdb()
   ' 打開鏈接表查看表鏈接信息是否正確。
   on error resume next
   set rst = dbs.openrecordset(“tbl1”)
   rst.close
   ' 如果沒有錯誤,返回 true 。
   if err = 0 then
     checklinks = true
   else
     checklinks = false
   end if  
end function

啟動窗體的加載事件:
private sub form_load()
if checklinks = false then
docmd.openform “frmconnect”
end if
end sub

frmconnect 連接窗體如下圖

[img]f:/m.bmp[/img]


接下來的事情就是如何刷新鏈接表了。
上面的窗體右邊的按鈕是用用來調用api打開文件對話框,具體代碼如下:
declare function getopenfilename lib "comdlg32.dll" alias "getopenfilenamea" (popenfilename as openfilename) as boolean

type openfilename
   lstructsize as long
   hwndowner as long
   hinstance as long
   lpstrfilter as string
   lpstrcustomfilter as string
   nmaxcustfilter as long
   nfilterindex as long
   lpstrfile as string
   nmaxfile as long
   lpstrfiletitle as string
   nmaxfiletitle as long
   lpstrinitialdir as string
   lpstrtitle as string
   flags as long
   nfileoffset as integer
   nfileextension as integer
   lpstrdefext as string
   lcustdata as long
   lpfnhook as long
   lptemplatename as string
end type

private sub fileopen_click()
  dim ofn as openfilename
  dim rtn as string

  ofn.lstructsize = len(ofn)
  ofn.hwndowner = me.hwnd

  ofn.lpstrfilter = "數據庫文件 (*.mdb)" & vbnullchar & "*.mdb"
  ofn.lpstrfile = space(254)
  ofn.nmaxfile = 255
  ofn.lpstrfiletitle = space(254)
  ofn.nmaxfiletitle = 255
  ofn.lpstrinitialdir = currentproject.path
  ofn.lpstrtitle = "后臺數據文件為"
  ofn.flags = 6148

  rtn = getopenfilename(ofn)

  filename.setfocus
  if rtn = true then
    filename.text = ofn.lpstrfile
    filename.text = filename.text
    ok.enabled = true
  else
    filename.text = ""
  end if
end sub

連接按鈕刷新鏈接表 ,代碼如下:
private sub ok_click()
dim tabdef as tabledef
for each tabdef in currentdb.tabledefs
if len(tabdef.connect) > 0 then
tabdef.connect = ";database=" & me.filename.text & ";pwd=" + 后臺數據庫密碼
tabdef.refreshlink
end if
next
msgbox "連接成功!"
docmd.close acform, me.name
end sub


其實很簡單只有兩步,判斷鏈接是否正確和刷新鏈接表。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东山县| 临桂县| 南溪县| 扬州市| 丹凤县| 营山县| 盐城市| 达尔| 衡阳县| 翁牛特旗| 泌阳县| 千阳县| 香河县| 台安县| 怀宁县| 铅山县| 西平县| 扶绥县| 英德市| 灵宝市| 宜阳县| 新安县| 红河县| 茂名市| 海盐县| 柏乡县| 阳城县| 石屏县| 黄陵县| 辽源市| 静安区| 亚东县| 文安县| 白山市| 祁阳县| 晋宁县| 广宁县| 翁牛特旗| 祁东县| 鄂伦春自治旗| 乃东县|