2011-11-16 49 views
-1

我刚进入ms-access.It是我第一次使用VB和ms-access,所以请原谅我,如果这是一个基本问题。我得到了ms-access的应用程序,它是一个.adp文件。需要定制这个应用程序。 后应用双击显示波纹UI enter image description here如何知道菜单栏控件项目的属性

按住Shift +双击得到波纹UI enter image description here

按住Alt + F11得到了波纹管UI(代码) enter image description here 图片-1指出一个组合。想要自定义这个组合。为此目的需要知道组合名称。

1)How to know the control name from my ms-access .adp file. 
2)By using smart navigation(like vs2010),In ms-Access combo is it possible to add combo items ? 
3)How to get Smart Navigate items from combo 

如果有建议的任何查询PLZ ask.any类型将提前

回答

1

acceptable.Thanks你必须得到所设置的菜单栏的名称。此菜单栏可以在启动(应用程序范围)中设置,也可以在启动窗体属性表的“其他”选项卡中设置。此外,虽然大多数控件可以通过内置UI(Access 2007之前)添加到自定义菜单栏中,但组合框不是这些控件之一(因此需要将代码组添加到菜单栏)。这段代码本来可以作为一个工具“一次”运行,添加了这个控件(它可能会持续到应用程序)。

另一种可能性是应用程序启动时的代码将组合框添加到自定义菜单栏中。

另一种可能性是应用程序启动时的代码在启动时使用VBA代码“创建”菜单栏和组合框。事实上,大概有15种不同的东西需要检查 - 一位经验丰富的Access开发人员可以在大约10分钟内检查这些东西。但是,要写出20件事情来检查,在哪里找到这些东西,以及如何检查这些东西,我需要一些严肃的打字和附近的书。

所以有一个相当的学习曲线访问(一个较长的然后说使用C#和编写代码在VS2010)。

使这个问题复杂化的是,在Access 2003之后,删除了允许修改菜单栏的GUI部件。这意味着您必须使用Access 2003或2007以后,您必须使用VBA代码来创建/维护/更新/修改内置菜单栏。

此外,由于您看到的是自定义菜单栏,而不是功能区,但您使用的是Access功能区版本,因此这意味着您拥有的数据库格式为2007年以前的格式(即:创建于2003年或之前)。

您的情况有多糟糕取决于这些菜单栏是在代码中创建的,还是由GUI创建的。我会说在启动时使用“经常”代码来创建或管理菜单栏,但这可能不是您的情况(您必须通过查看应用程序启动时运行的启动代码来确定这一点)。

但是,正如Access 2003所述,在菜单栏中添加一个组合框总是需要自定义代码。自定义代码可能是一次性编写代码并抛出,或者代码每次启动时都会运行。除非我们查看代码,否则我们不知道这个答案 - 如前所述,组合框的代码很可能永远不会被保留(换句话说,您可以运行代码来创建组合框,并且它会一直存在关于代码如何添加菜单栏)。

所以第一件事情就是检查系统范围内指定的自定义菜单栏(或者检查是否其实有一个 - 他们可能不是)。

如前所述,加剧这个问题是在2007年,你会看到一个带状不是菜单栏。所以这本身就是一个你必须面对的问题(2007年需要一些技巧来实现这一点)。所以在菜单栏是如何设置,显示可能使用这种方法在这个环节这里概述:

http://www.accessribbon.de/en/index.php?FAQ

在上面,向下滚动到

“我想我的数据库在A2003或之前创建只显示我自己的菜单栏”

我不能直接链接到因为某种类型的AJAX页面的上面,所以你必须向下滚动和点击链接将其展开。上面的链接还显示了在2007年选项设置系统范围菜单栏的位置。你必须确定这个问题。

我也会考虑做关键字“命令栏”搜索,并查看是否有任何VBA代码上来。如前所述,创建该组合的代码可能只运行一次并抛出,或者可能是启动代码的一部分。代码每次运行的概率较高,但我们不知道。

顺便说一下,你看过启动代码吗?启动代码将以“大多数情况下”启动时指定的形式运行。但也有可能是一个名为“autoexec”的启动宏。因此,如果存在名为AutoExec的宏,则还需要检查宏区域(不要在Access中混淆术语宏和VBA代码 - 它们是不同的概念和不同类型的代码)。

如上所述,按住启动期间移禁用两个自动执行宏和启动形式。这意味着你可以只有一个autoexc宏来完成一堆事情,然后启动一个启动表单。或者你也许刚刚起步。或者你可以同时拥有 - 一切皆有可能,你必须在这里查看所有案例。

Access作为一个开发平台,往往有一个相当长的学习曲线(我会说一个很好的协议长于学习说C#和VS2010)。

如果你不得不在这个项目上做很多工作,你可能应该带一些有几年经验的人,或者上面的20件事情要检查不会让你花10分钟来测试,但每个我问的事情可能需要一小时才能完成(所以现在你只需花20或30个小时的时间来检查一些需要经验丰富的开发人员大概10到20分钟的时间)。

一个不错的技术水平检查表是这样的:

(一般有一个技术水平的“很多”,但下面的故障就足以开始了对这种类型的项目)。

Stage 1 Innocent (never heard of the product) 

Stage 2 Aware (Has read an article about X) 

Stage 3 Apprentice (has attended a three-day seminar) 

Stage 4 Practitioner (ready to use X on a real project) 

Stage 5 Journeyman (uses X naturally and automatically in his job) 

Stage 6 Master (has internalized X, knows when to break the rules) 

Stage 7 Expert (writes books, gives lectures, looks for ways to extend x) 

人们不应该尝试一个项目,由具有3期或更低的人一个团队。这是失败的一个肯定的火灾公式。团队可以由第4阶段组成,但他们应该至少可以进入第5阶段或第6阶段。(参考:Page-Jones,Meilir。“美国程序员,1990年7月至8月”软件工程专业的七个阶段“ )。

因此,根据您在这里投入多少时间,您可能希望引入一个有经验的人 - 尤其是那些完成菜单栏并与ADP合作的人。

无论如何,上述都应该让你开始,但考虑到你的问题,你已经沉浸在你的脑海中,无法在Access中进行Access开发所需的基本任务。