Vb6 &引用;编译错误:只有注释可以出现在结束子函数、结束函数之后;Access 2010 VBA

Vb6 &引用;编译错误:只有注释可以出现在结束子函数、结束函数之后;Access 2010 VBA,vb6,ms-access-2010,Vb6,Ms Access 2010,我正在创建一个表单,并在VBA窗口中创建了我的第一个函数。该函数用于创建按钮。在“End function”之后键入任何内容后,我会收到一个错误——“只有注释出现在..”之后。怎么了?我是否将函数放在了错误的区域 这是我的密码: Option Compare Database Option Explicit Function MainMenuOptions() Dim frm As String frm = "Main" Dim SCFormB As Control Dim SCSear

我正在创建一个表单,并在VBA窗口中创建了我的第一个函数。该函数用于创建按钮。在“End function”之后键入任何内容后,我会收到一个错误——“只有注释出现在..”之后。怎么了?我是否将函数放在了错误的区域

这是我的密码:

Option Compare Database 
Option Explicit

Function MainMenuOptions()

Dim frm As String
frm = "Main"

Dim SCFormB As Control
Dim SCSearchB As Control
Dim SCReportB As Control

Set SCFormB = CreateControl(frm, acOptionButton, , , , 0.5, 0.6, 1.5, 0.55)
Set SCSearchB = CreateControl(frm, acOptionButton, , , , 0.5, 1.5, 1.5, 0.55)
Set SCReportB = CreateControl(frm, acOptionButton, , , , 0.5, 2.4, 1.5, 0.55)


End Function

如果查看Microsoft Office开发中心,您会得到以下解释:

您将可执行代码放置在过程外部。任何非退化的 过程外部的行必须以注释分隔符(')开头。 声明性语句必须出现在第一个过程之前 公告当代码执行时,注释被忽略


这意味着可以在子系统或函数外部编写的代码类型是有限的。

如果查看Microsoft Office开发中心,您会得到以下解释:

您将可执行代码放置在过程外部。任何非退化的 过程外部的行必须以注释分隔符(')开头。 声明性语句必须出现在第一个过程之前 公告当代码执行时,注释被忽略


这意味着您可以在子函数或子函数之外编写的代码类型是有限的。

显然,您的模块中有多余的代码,这些代码位于函数或子函数之外。在VBA编辑器中,选择“调试->编译”,它应该突出显示您可以删除或修改的有问题的代码


仅供参考:使用twips(1440英寸)表示左侧、顶部、宽度和高度。您可能希望将正在使用的数字乘以大约1440。

显然,您的模块中有多余的代码,它位于函数或子函数之外。在VBA编辑器中,选择“调试->编译”,它应该突出显示您可以删除或修改的有问题的代码


仅供参考:使用twips(1440英寸)表示左侧、顶部、宽度和高度。您可能想将您正在使用的数字乘以1440左右。

我最近遇到了这个问题。我正在创建一个新的股票/衍生品交易和管理应用程序,我在创建表单方面取得了惊人的进展,但有一次,我发现表单上控件的所有_Click()处理程序都出现了这个错误。但是,表单上某个字段的_Enter()处理程序并没有出现这种情况。在任何“结束”声明之后都没有多余的文本——根本没有!我发现,不知何故,不正确的行尾出现在“End”语句的末尾


修复方法:转到每个“end”语句的末尾,点击DELETE直到下一个子语句到达光标(即,现在下一个过程的开始与上一个proc的end语句位于同一行),然后点击ENTER将下一个子语句放回它自己的行。这将确保在每个事件处理程序的末尾都有正确的CR/LF(或该编辑器/编译器所需的任何内容)。

我最近遇到了这个问题。我正在创建一个新的股票/衍生品交易和管理应用程序,我在创建表单方面取得了惊人的进展,但有一次,我发现表单上控件的所有_Click()处理程序都出现了这个错误。但是,表单上某个字段的_Enter()处理程序并没有出现这种情况。在任何“结束”声明之后都没有多余的文本——根本没有!我发现,不知何故,不正确的行尾出现在“End”语句的末尾


修复方法:转到每个“end”语句的末尾,点击DELETE直到下一个子语句到达光标(即,现在下一个过程的开始与上一个proc的end语句位于同一行),然后点击ENTER将下一个子语句放回它自己的行。这将确保在每个事件处理程序的末尾都有正确的CR/LF(或该编辑器/编译器所需的任何内容)。

为什么需要在结束函数后键入任何内容?除非这是为了节省开发时间,否则这不是一个好主意。您不需要在最终确定的项目中创建按钮。我正在尝试创建一个动态表单。在主窗体窗口中,我插入了函数。我做了一些研究,发现我应该创建一个新模块,并在那里插入函数,然后在需要时从模块中调用函数。建议这样做吗?谢谢。为什么要在结束函数后键入任何内容?除非这是为了节省开发时间,否则这不是一个好主意。您不需要在最终确定的项目中创建按钮。我正在尝试创建一个动态表单。在主窗体窗口中,我插入了函数。我做了一些研究,发现我应该创建一个新模块,并在那里插入函数,然后在需要时从模块中调用函数。建议这样做吗?谢谢,我在网站上看到了。我想我需要研究如何使用vba及其模块。我假设你必须使用这些模块来编写函数,然后在主界面上调用它们?我在网站上读过这篇文章。我想我需要研究如何使用vba及其模块。我假设您必须使用这些模块来编写函数,然后在main上调用它们?