程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Access數據庫 >> 關於Access數據庫 >> access2007自定義菜單的另類導入導出

access2007自定義菜單的另類導入導出

編輯:關於Access數據庫
 摘 要:在網上搜索,搜到此文,可解決以下問題:當你想把某數據庫的自定義菜單加入到自己開發的數據系統中時,可用此方法,迅速解決。
正 文:

一、自定義菜單的存放位置:

所有自定義菜單都存放在系統表:MsysCmdbars 當中,類型為二進制

如果沒有MsysCmdbars或表中沒有記錄, 說明沒有自定義菜單

二、MsysCmdbars的結構

所有自定義菜單的資料都存放在[Grptbcd]二進制字段中,包括名稱、圖標、引用代碼。。。

字段[TBNAME]僅作參考用

三、MsysCmdbars的導入和導出

 不可以在打MsysCmdbars表的狀態下,對數據進行刪除或增加,系統會提示:本表不可刪除,
數據為讀。

但經本人研究發現通過以下方法可對MsysCmdbars表中的數據進行修改或增加:

Dim obj As ADODB.Stream

導出數據:

Function OutMenu()
Dim rs As Recordset, I As Integer, ret
Set rs = CurrentDb.OpenRecordset("Select * from MsysCmdbars")
rs.MoveFirst
Dim obj As New ADODB.Stream
With obj
.Type = adTypeBinary
.Open
.Write rs.FIElds(0)
.SaveToFile "N:\Ben.txt", adSaveCreateOverWrite
End With

Set obj = Nothing
Set rs = Nothing
End Function

導入菜單:
Function InMenu()
Dim rs As Recordset, I As Integer, ret
Set rs = CurrentDb.OpenRecordset("Select * from MsysCmdbars")
Dim obj As New ADODB.Stream
With obj
.Type = adTypeBinary
.Open
.LoadFromFile "N:\Ben.txt"
rs.AddNew
rs.FIElds(0) = .Read
rs.FIElds(1) = "SHIPMenu"
rs.Update
End With

Set obj = Nothing
Set rs = Nothing
End Function


用以上的方法就可以很容易保存自己精心設計的菜單為TXT 或其他文件, 使用時再導入就可以了

至於二進制數據結構就沒進行深入研究,如哪位有更深入的研究心得,希望能給我發個MAIL

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved