@Command([RefreshHideFormulas]) 有什么作用?

heartneverdie 2003-09-05 03:23:22
我是初学者

 按照help里的步骤,在表单里新建一个文本域,起名Name
 再放一个按钮click代码里写
FIELD Name := @Prompt([OkCancelEdit]; "Enter Your Name"; "Type your name in the box below."; @UserName);
 报错!说
 No main or selection expression in formula: ''

改成:
FIELD Name := @Prompt([OkCancelEdit]; "Enter Your Name"; "Type your name in the box below."; @UserName);
@Command([RefreshHideFormulas])

就通过了,我完全是按照help里的样例写的,原文里没有
@Command([RefreshHideFormulas]) 这句,是help疏漏了吗?
...全文
59 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
poptpeter 2003-09-05
  • 打赏
  • 举报
回复
帮助没有错,只是你没有看全而已。

FIELD

样例
当给保存在文档里的域赋值时(与临时域相对),必须要用到 FIELD 关键字。您可以用 FIELD 更改现有域的内容或创建新的域。
语法
FIELD fieldName := value ;
警告 当在现有文档中使用 FIELD 关键字创建新域时,注意不要和已有的域重名。
在一些情况下,操作公式不能判定一个结果(例如:一个按钮公式)时,将返回“No Main or Selection expression in formula”的错误消息。那么可以提供一个值,如空串(""),或者在公式的结尾提供一个表达式,如下所示:
SELECT @All
用法
这个关键字常用于代理、按钮、热点和操作公式中。它不能用于列公式、选择公式、条件隐藏公式、窗口标题或表单公式中。

我初学的时候也不喜欢看帮助,就揣摩“No Main or Selection expression in formula”的意思,想到要加SELECT @All。其实可以在最后加一个"",或者放一个@Return(""),都很随意的。
heartneverdie 2003-09-05
  • 打赏
  • 举报
回复
谢谢两位指点,可是那页帮助文档里并没有说field不能单独使用,它也是那样用的啊。
如此看来我的学习材料还是遗漏了很多东西,请教一下,像我这样的人想尽快上手开,
该如何学起才不至于继续犯这样概念性错误呢?
zhoux0922 2003-09-05
  • 打赏
  • 举报
回复
@Command([RefreshHideFormulas]) 的意思是:刷新文档或视图中的隐藏公式;
其实错误就是你在Field 公式后没有写其他的公式,Field不能单独使用!
hq_1980 2003-09-05
  • 打赏
  • 举报
回复
@Command([RefreshHideFormulas]) 的意思是:刷新文档或视图中的隐藏公式。
其实这个错误和@Command([RefreshHideFormulas])是没有关系的。你把@Command([RefreshHideFormulas])换成""也能编译通过。

其实FIELD XX:=XX;只是一个声明,公式中并不认为它是一个真正表达式。所以会提示你:没有主表达式……

我个人认为比较标准的写法是:
FIELD Name := Name;
@SetField( "Name"; @Prompt([OkCancelEdit]; "Enter Your Name"; "Type your name in the box below."; @UserName) )

535

社区成员

发帖
与我相关
我的任务
社区描述
企业开发 Exchange Server
社区管理员
  • 消息协作社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧