Microsoft Access其中条件不适用于子窗体

时间:2017-05-02 15:48:40

标签: forms ms-access macros

我构建了一个名为“clientlist”的表单: enter image description here

我在点击时放置了一个带有条件的宏:

  

=“IDclient_logindata =”& [Maschere]![客户端列表]![IDclient]

这意味着当我点击一个id客户端时,访问将打开另一个具有相应IDclient的表单。例如,如果我点击IDclient 3: enter image description here

它打开另一个名为“client_logindata”的表单过滤到IDclient_logindata 3。 然后,我构建了一个导航形式: enter image description here 使用clientlist作为子表单。但是,当我单击一条记录,任何记录时,每次使用IDclient_logindata形式为1的client_logindata表单时,它都会打开,为什么它不能在子表单中工作? “导航表单”的设计视图:enter image description here

3 个答案:

答案 0 :(得分:1)

以这种方式解决:=" IDclient_logindata =" &安培; [IDclient]

答案 1 :(得分:0)

使用子表单时,references to controls需要相对于将子表单视为子控件的主表单。

考虑将条件调整为以下结构。请注意这是英文版本:

var ratingPromise = service.getRating();
var orderPromise = service.getOrder();

//USE $q.all
$q.all([ratingPromise, orderPromise]).then(function()  {
     //CHAIN POST
     return service.postHero();
}).then(function(response) {
     console.log("Success");
}).catch(function(error) {
     console.log("Error");
     throw error;
});

或者专门为您量身打造(确保准确拼写所有对象):

="IDclient_logindata=" & Forms!myMainForm!mySubform.Form!mySubformControl

答案 2 :(得分:0)

OP已经找到了一个比以下更简单的工作解决方案。但是,我仍然有兴趣看看我们是否可以在原始模型上使用某些东西,并且我猜想对于尝试使用VBA而不是嵌入式宏来实现相同功能的用户,以下情况仍然可能很有用。

原始问题中代码的问题在于,相关表单并未在最高级别打开。但作为子表格。

表格"正常"子表单,您可以像这样引用子表单上的控件:

Forms!navform!clientlist.form!IDclient

其中navform是外部表单的名称。或者在一般情况下,像这样:

Forms!Mainform!Subform1.Form!ControlName

然而,"导航表格"向导,当将子表单拖动到布局视图中的添加新选项卡时,并不能很好地命名子表单。所以我不得不这样编码:

Forms![Navigation Form]!NavigationSubform.Form!ControlName

令我惊讶的是,当我在“导航表单”选项卡中添加了更多表单并且控件名称与所讨论的控件相同时,此代码继续有效。我猜NavigationSubform会自动指向当前焦点的标签。