设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 800|回复: 16
打印 上一主题 下一主题

能否获取一个mde文件中的所有 form 的名称以及其他属性?

[复制链接]
跳转到指定楼层
1#
发表于 2002-10-16 16:29:00 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
能否获取一个mde文件中的所有 form 的名称以及其他属性?

我看到一个mde 文件非常漂亮,我要在自己的窗体中直接调用mde文件的所有属性包括forecolor font size backcolor tag 等等等,是否能办到?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
17#
 楼主| 发表于 2002-10-23 02:13:00 | 只看该作者
application创建的确不可见,但打开数据库是可见的而且速度慢,有没有办法像在workspace打开 database一样比较快比较隐蔽的办法
16#
发表于 2002-10-22 21:02:00 | 只看该作者
肯定要用某种方法打开它,才能取得名称和属性吧!但要是打开,显不显示都是慢哦,appliacation创建时是不可见的
15#
 楼主| 发表于 2002-10-21 06:14:00 | 只看该作者
以下是引用cg1在2002-10-17 20:04:42的发言:
你是说用 opencurrentdatabase 或者 openaccessproject 在创建后的access.application中做吗?

这个我已经实现了,可惜不太好,要同时打开2个数据库窗口,很麻烦,我现在想直接用另一个mdb上的窗体的所有属性覆盖本身窗体上所有的属性,这样就可以创造一种新的风格,但是我不要每次都打开一个新的 access 界面,很慢,而且难看
不知老大有否办法?


我已经说过了,上述办法早在我发贴前就完成了,我的要求并不止于此,请看上述引用

还有其他人知道吗?
14#
发表于 2002-10-21 06:08:00 | 只看该作者
以下是向Trynew讨来的,我就来个借花献佛吧,希望对你有所帮助。

gnoy兄,你好,用上刚看到的一句话:
第一、我不会,第二、就算我会我也不会去做,第三、就算我会去做我也不告诉你... ...

开个玩笑,首先多谢你的来信,启发了我。我原来也弄过一下动态生成窗体,不过挺烦,又觉得意义不大:Access本来就可随时修改,难道你还能让用户去设计窗体?就作罢了,只搞了个选定数据源自动生成Temp窗体的程序,作些修改以后放到论坛上去。另外,对于一个程序(包括Mde),第一是创意和用途,第二是技术和算法实现,第三才是界面,并且界面一定要有统一的(自己)风格。对于Mde文件,把它界面复制出来没啥意思。
这只是我的个人看法。欢迎你多点来信交流,友好冻死别忘告诉我一声。

下面这段小程序(从帮助里抄的)不知能否对你有点帮助


Dim appAccess As Access.Application

Sub OpenForm()
Dim strConPathToSamples As String
Dim frm As Form
' 将字符串初始化为数据库的路径。
strConPathToSamples = CurrentProject.Path & "\Source.mde"
' 创建 Microsoft Access 的实例。
Set appAccess = _
CreateObject("Access.Application")
' 在 Microsoft Access 窗口中打开数据库。
appAccess.OpenCurrentDatabase strConPathToSamples
'appAccess.Visible = True
' 打开“Orders”窗体。
appAccess.DoCmd.OpenForm appAccess.CurrentProject.AllForms(0).Name
Set frm = appAccess.Forms(appAccess.CurrentProject.AllForms(0).Name)
ListControlProps frm
End Sub

Sub ListControlProps(frm As Form)
Dim ctl As Control, prp As Property

On Error GoTo props_err
For Each ctl In frm.Controls
Debug.Print ctl.Properties("Name")
For Each prp In ctl.Properties
Debug.Print vbTab & prp.Name & " = " & prp.Value
Next prp
Next ctl

props_bye:
Exit Sub

props_err:
If Err = 2187 Then
Debug.Print vbTab & prp.Name & " = Only available " _
& "at design time."
Resume Next
Else
Debug.Print vbTab & prp.Name & " = Error Occurred: " & Err
Resume Next
End If
End Sub

另:
Trynew兄,我这“先斩后奏”不会怪我吧


13#
 楼主| 发表于 2002-10-21 05:53:00 | 只看该作者
hello ,难道就再也没有人知道了?
不知道也跟个帖子嘛!让我好知道多少人不知道,到时候解决了也好公布阿
再问

还是没有彻底解决
12#
 楼主| 发表于 2002-10-19 20:41:00 | 只看该作者
再问

还是没有彻底解决
11#
 楼主| 发表于 2002-10-18 04:05:00 | 只看该作者
你是说用 opencurrentdatabase 或者 openaccessproject 在创建后的access.application中做吗?

这个我已经实现了,可惜不太好,要同时打开2个数据库窗口,很麻烦,我现在想直接用另一个mdb上的窗体的所有属性覆盖本身窗体上所有的属性,这样就可以创造一种新的风格,但是我不要每次都打开一个新的 access 界面,很慢,而且难看
不知老大有否办法?

点击这里给我发消息

10#
发表于 2002-10-18 03:16:00 | 只看该作者
创建一个对象createobject("access.application")
再用它打开MDE,再循环所有对象allforms,allreports...如果无法取到窗体或报表里面控件的属性,可先用application.docmd.openform  打开这个窗体,再循环所有控件的所有properties, 如果是mdb.可判断窗体和报表的havmodule属性,为真可显示所有代码,如果是MDE或代码VBA加密,则做错误陷阱,基本上一个可用代码重造一个与原来的MDE界面类似的MDB出来,但代码除外。
9#
发表于 2002-10-18 03:14:00 | 只看该作者
真是大哥!
  我统统看不懂——————-——-——


         来个例子的了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-16 19:02 , Processed in 0.121766 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表