我刚刚进入ms-access。这是我第一次使用VB和ms访问,如果这是一个基本问题,请原谅我。我得到一个ms-access应用程序,它是一个.adp文件。需要定制此应用程序。 双击应用程序后显示下面的UI
按住Shift +双击获取波纹管UI
按住Alt + F11获取波纹管UI(代码) picture-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
如果有任何查询请询问。任何类型的建议都是可以接受的。谢谢提前
答案 0 :(得分:1)
您必须获取已设置的菜单栏的名称。此菜单栏可以在启动(应用程序范围)中设置,也可以在"其他"中设置。启动表单属性表的选项卡。此外,虽然大多数控件可以通过内置UI(在Access 2007之前)添加到自定义菜单栏,但组合框不是这些控件之一(因此需要代码才能将组合框添加到菜单栏)。这段代码本来可以运行一次"作为添加此控件的实用程序(它可能会持久存在于应用程序中)。
另一种可能性是应用程序启动时的代码将组合框添加到自定义菜单栏。
另一种可能性是应用程序启动时的代码"创建"使用VBA代码启动时的菜单栏和组合框。事实上,这里有大约15种不同的东西需要检查 - 一位经验丰富的Access开发人员可以在大约10分钟内检查这些内容。然而,要写出要检查的20件事以及在哪里找到这些东西以及如何检查这些东西,我需要在书本和书籍附近进行一些严肃的打字。
所以Access有一个学习曲线(较长的一个然后说使用c#并在VS2010中编写代码)。
复杂化这个问题是在Access 2003之后,删除了允许修改菜单栏的GUI部分。这意味着您必须使用Access 2003或2007年以后必须使用VBA代码来创建/维护/更新/修改内置菜单栏。
此外,由于您看到的是自定义菜单栏而不是功能区,但您正在使用Access的功能区版本,这意味着您拥有的数据库格式是2007年之前的格式(即:创建于2003年或之前)。 / p>
您的情况有多糟糕将取决于这些菜单栏是在代码中创建还是先前由GUI创建。我会说"经常"在启动时使用代码来创建或管理菜单栏,但这可能不是你的情况(你必须通过查看应用程序启动时运行的启动代码来确定这一点。)
然而如前所述,即使使用Access 2003将一个组合框添加到菜单栏,也需要自定义代码。该自定义代码可能是一次性代码编写和抛弃,或者代码在每次启动时运行。除非我们查看代码,否则我们不知道这个答案 - 正如所指出的那样,组合框的代码很可能永远不会被保留(换句话说,你可以运行代码来创建组合框,它会持久化取决于代码添加菜单栏的方式。)
所以首先要检查系统范围内指定的自定义菜单栏(或检查实际上是否有一个 - 它们可能不是)。
如上所述,复合此问题是在2007年你应该看到一个功能区而不是一个菜单栏。所以这本身就是你必须要处理的问题(需要一些技巧才能在2007年实现这一目标)。那么如何设置菜单栏以显示此链接中可能使用的方法:
http://www.accessribbon.de/en/index.php?FAQ
在上面,向下滚动到
"我希望我在A2003或之前创建的数据库只显示我自己的菜单栏"
由于某种类型的AJAX页面,我无法直接链接到上面,因此您必须向下滚动并单击链接以展开它。上面的链接还显示了2007年用于设置系统范围菜单栏的选项。你必须确定这个问题。
我还会考虑搜索关键字" commandbars"并查看是否有任何VBA代码出现。如上所述,创建该组合的代码可能已经运行一次并被抛弃,或者它可能是启动代码的一部分。代码每次运行的可能性更高,但我们不知道。
顺便问一下,你看过启动代码了吗?启动代码将采用指定在启动时运行的形式"大多数情况下"。然而,也可能是一个名为" autoexec"的启动宏。因此,如果存在名为AutoExec的宏,则还需要检查宏区域(不要在Access中混淆术语宏和VBA代码 - 它们是不同的概念和不同类型的代码)。
如上所述,在启动期间按住shift会禁用BOTH autoexec宏和启动表单。这意味着你可以拥有一个autoexc宏来完成一堆事情,然后启动一个启动表单。或者你可能只是创业形式。或者你可以同时拥有 - 一切皆有可能,你必须在这里查看所有案例。
作为开发平台的访问往往有一个相当长的学习曲线(我会说比学习说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。"软件工程专业的七个阶段&#34 ;,美国程序员,1990年7月至8月)。
因此,根据您在这里投入多少时间,您可能希望吸引有经验的人 - 特别是那些完成菜单栏并与ADP合作的人。
无论如何,上面的内容应该让你开始,但是如果你已经提出了问题,那么你就无法在Access中进行开发所需的Access中的基本任务。