论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Access数据库教程
Tag:2000,2003,2007,查询,sql,,教程,安全,转换,排序,复制,删除,修改,视频教程

access2007自定义菜单的另类导入导出

文章类别:Access数据库 | 发表日期:2008-10-16 14:36:59

摘 要:在网上搜索,搜到此文,可解决以下问题:当你想把某数据库的自定义菜单加入到自己开发的数据系统中时,可用此方法,迅速解决。
正 文:

一、自定义菜单的存放位置:

所有自定义菜单都存放在系统表: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

视频教程列表
文章教程搜索
 
Access数据库推荐教程
Access数据库热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058