1

我正在使用具有多个字段的定位,有时我收到“搜索字段数不正确”错误,并将其追踪到数据。

tbl.Locate('LName;FName;Stuff',
  VarArrayOf([LName+','+FName','+Stuff]),[loCaseInsensitive]);

有时它有效,有时它没有,如果它在文本中包含逗号,我将其追溯到 Stuff 中的逗号。

Stuff =“我的狗是灰色的”会起作用。

Stuff =“我在工作,但不开心”不会。额外的逗号使它看起来像四个数据字段。

我是否必须解析逗号的每个传入数据字符串,如果发现任何字符串,请将它们替换为 Locate 工作的内容?包含的逗号版本将在没有解析或修改的情况下存储,因为我不知道他们可能输入了什么。“我在工作,但不开心”是用户的有效输入。

谢谢。

4

1 回答 1

7

不要将所有搜索值连接成一个字符串。相反,将它们作为不同的项目放置在数组中,就像文档中的示例一样。也就是说,不要在字符串中包含逗号:

tbl.Locate('LName;FName;Stuff',
  VarArrayOf([LName, FName, Stuff]), [loCaseInsensitive]);
于 2013-04-04T15:26:30.353 回答