小编max*_*gen的帖子

获取当前VBA功能的名称

对于错误处理代码,我想获取发生错误的当前VBA函数(或子)的名称.有谁知道如何做到这一点?

[编辑]谢谢大家,我曾希望存在一个无证的技巧来自我确定功能,但这显然不存在.猜猜我会继续使用我当前的代码:

Option Compare Database: Option Explicit: Const cMODULE$ = "basMisc"

Public Function gfMisc_SomeFunction$(target$)
On Error GoTo err_handler: Const cPROC$ = "gfMisc_SomeFunction"
    ...
exit_handler:
    ....
    Exit Function
err_handler:
    Call gfLog_Error(cMODULE, cPROC, err, err.Description)
    Resume exit_handler
End Function
Run Code Online (Sandbox Code Playgroud)

ms-access vba

30
推荐指数
5
解决办法
4万
查看次数

MS Access:没有足够的内存来执行此操作

我在具有4GB RAM的双核机器上使用Access 2003,运行Windows XP(Service Pack 3)[5.1.2600]

我定期收到错误消息"没有足够的内存来执行此操作.关闭不需要的程序并再次尝试操作."

检查任务管理器表示有足够的​​可用内存.关闭其他开放的程序没有任何区别.

这种情况偶尔发生,并且在不同的情况下:有时在保存表单设计或VBA代码更改时,有时在多个表单打开和使用时.

如果尝试保存设计更改,并且发生此错误,则Access对象已损坏且无法恢复.

任何可能导致这种情况的建议都会受到欢迎.

MTIA

memory ms-access ms-access-2003

10
推荐指数
3
解决办法
6万
查看次数

MySQL'更新时间戳'列 - 触发器

我正在为我的许多表添加一个tsu类型的列(时间戳更新)DATETIME.

我需要编写BEFORE UPDATE将更新列的触发器CURRENT_TIMESTAMP(),但我无法正确.尝试:

DELIMITER $$
CREATE
    TRIGGER `cams`.`tsu_update_csi` BEFORE UPDATE
    ON `cams`.`csi`
    FOR EACH ROW BEGIN
        UPDATE csi SET tsu = CURRENT_TIMESTAMP WHERE csi_code = OLD.csi_code;
    END$$
DELIMITER ;
Run Code Online (Sandbox Code Playgroud)

任何人都能指出我正确的方向吗?MTIA

mysql triggers

9
推荐指数
2
解决办法
3万
查看次数

MS Access : Determine Object Type

Is there a way to determine the Object type, when passing a reference to a function?

I'm using a security permissions function, which determines if the user has permission to view/edit the Form passed to it by reference. I'd like to expand this to include reports as well.

To keep the function generic, I'd like to pass a ref for either a Form or a Report as an Object, eg: function gfSecurity_Permission(obj as Object)

但是,我需要确定type函数中的对象.

有谁知道这样做的方法?

MTIA

ms-access object access-vba

8
推荐指数
2
解决办法
1万
查看次数

在没有LinkChild/LinkMaster的情况下链接子报表

我正在维护并偶尔修改Access 97程序,这对于一家非常大的美国公司来说仍然是一个至关重要的部门工具.

许多报告使用"总计"子报表,我无法使用LinkChildFields\LinkMasterFields链接.在每种情况下,主报告都可以通过"报告管理器"表单按多种(或没有)标准进行过滤.

我通过使用在设计视图中打开任何子报表的通用函数来处理此问题,并编辑.Filter属性.100%正常工作.

但是,这会阻止我将应用程序作为.mde文件分发,因为设计视图在mde中不可用.

我已经尝试了我能想到的每一种选择:

  • 在Open事件期间将子窗体过滤器设置为Parent的子窗体过滤器(错误)
  • 在Open事件期间使用Docmd.ApplyFilter(在子窗体中什么都不做)

虽然这个"旧"应用程序非常适合部门使用它,但他们的IT部门希望实施"全局解决方案",而且我真的不希望竞争对手免费获得大量复杂业务规则.多年来一直努力工作.

有没有人对子窗体过滤有任何建议,所以我可以使用mde?

MTIA

ms-access

2
推荐指数
1
解决办法
1862
查看次数

标签 统计

ms-access ×4

access-vba ×1

memory ×1

ms-access-2003 ×1

mysql ×1

object ×1

triggers ×1

vba ×1