【问题标题】:MS Access crashes every time I try to open Visual Basic每次我尝试打开 Visual Basic 时,MS Access 都会崩溃
【发布时间】:2020-07-13 20:44:55
【问题描述】:

所以我有一个拆分数据库。

dbBackEnd: Lives on the network drive, users don't touch it except through the front ends.
dbFrontEndv1:Stored by me for safekeeping, works fine
dbFrontEndv2:Stored by me for safekeeping, works fine
dbFrontEndv3:Users are interacting with this now, works fine
dbFrontEndv4: Freezes every time I try to do something in VBA

我现在玩了六次的游戏就是这个。

(1) 将 dbFrontEndv3 复制到一个新文件夹并重命名为 dbFrontEndv4。

(2) 打开 dbFrontEndv4 并打开 Form1。如果我现在保存并重新输入它就可以正常工作。

(3) 添加 1 或 2 个命令按钮。触发宏的命令按钮工作正常。 VBA 是这里造成麻烦的。

(4) 编译,没有错误。

(4) 保存退出

(5) 打开dbFrontEndv4,点击表格或其他任何与VBA相关的东西。

(6) 错误:“Microsoft Access 没有响应...”、“Acces 正在重新启动。

在添加和减去 subs、保存、关闭和重新打开之后,这似乎是有问题的。

Private Sub cmdMCF_Click()
Dim appExcel As Excel.Application
Dim wbook As Excel.Workbook
Dim wsheet As Excel.Worksheet

Set appExcel = New Excel.Application
appExcel.Visible = True
Set wbook = appExcel.Workbooks.Open("C:\Path\MyDoc.xlsx")
Set wsheet = wbook.Worksheets("MCF")

With wsheet
    .Cells(10, 1).Value = txtCustomerName
    .Cells(10, 2).Value = txtCustomerNumber
    .Cells(10, 3).Value = txtAddress + " " + txtCity + " " + txtState + " " + txtzip

    .Cells(12, 1).Value = txtPhone
    .Cells(12, 2).Value = txtEmail
    .Cells(12, 3).Value = txtmeasurenumber

    .Cells(14, 1).Value = txtStore
    .Cells(14, 2).Value = txtAssignedIP

End With

End Sub

如果它只是坐在他的代码中就可以了。但是当我为按钮命名 cmdMCF 时,错误就开始了。

问题是这个子,“复制和过去”,现在正在 dbFrontEndv3 上使用。毫不费力地,我在实现 dbFrontEndv3 时遇到了同样的错误。但后来它工作得很好。

上面代码中的什么可能导致这些随机崩溃?

【问题讨论】:

  • 编译会保存一个损坏的前端还是我必须从一个工作的数据库开始?
  • 它实际上是 de - 编译,但绝对值得一试。发生这种情况时,我会在开发过程中定期反编译/重新编译我的项目。

标签: ms-access vba ms-access-2013


【解决方案1】:

我遇到过类似的问题,即在一个访问版本中创建表单,然后在另一个版本中进行编辑。虽然文件应该跨版本兼容,但还是有一些差异。

尝试在您正在使用的版本中从头开始重新创建表单。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 2015-12-29
    • 2023-03-18
    • 1970-01-01
    • 2013-10-06
    相关资源
    最近更新 更多