首页 > 解决方案 > 为什么 find 命令必须使用 '&' 运行?

问题描述

我是一名中国学生。首先,我的英语很差。LOL~~~ 我对Visualfox Pro的一些语法规则感到很困惑。

在我的表中有一个名为 id 的字符字段,运行下面的命令找到它的 id 等于 'A0001' 的记录:

index on id tag _id
id='A0001'
find &id

&id 返回一个变量名A0001,我只想知道解释器如何将变量名与表中的字符字段进行比较??

对于上面的代码,也可以改写如下:

find A0001

标签: visual-foxpro

解决方案


如果您有一个与当前选定表中的字段同名的变量,则在引用该变量时将使用该字段的内容。您可以通过添加前缀“m”来避免这种情况。(意思是使用内存变量而不是字段)。所以这样做:

id = 'A001' && assignment always goes to the variable

SEEK m.id

& 技术可能有用的一种方法是,如果您想引用几个值之一:

id1 = 'A001'

id2 = 'B002'

to_find = 'm.id2'

SEEK &to_find && Acts like: SEEK m.id2


推荐阅读