2010-04-17 44 views
1

是否可以使用informix客户端工具提供以下类型的功能?用于查询的下拉式组合框式功能

当用户输入名称的前两个字符时,下拉列表为空。在第三个字符中,列表中只填写了以这三个字符开头的名字。在第四个字符,MS-Access完成第一个匹配的名称(假设组合的AutoExpand打开)。一旦输入足够的字符来识别客户,用户就会跳到下一个字段。

在按键间加载组合的时间很短。这只会针对每个条目发生一次,除非用户再次退回前三个字符。

如果你的列表中仍然包含了太多的记录,你可以通过不断conSuburbMin的值更改为3〜4

回答

1

由另一个量级降低他们这需要两件事情的组合,其中只有一个部分受Informix DBMS或Informix客户端API的控制。

首先,您需要接受用户输入的小工具异步生成与用户键入内容匹配的查询,从DBMS中提取一些结果并显示它们。其次,您需要DBMS快速响应这些查询。问题的一部分是“查询需要什么形式”。但基本功能是:

SELECT TitleCaseName 
    FROM ReferenceTable 
    WHERE LowerCaseName[1,3] = 'abc'; 

您可能会也可能不打扰'优先行';您可能会也可能不会打扰ORDER BY。你的代码只会选择前N行。你可以用一些优先级信息来做 - 最常用的名字等等。

但是这对于任何数据库管理系统来说基本上是一样的 - 给出或者采取诸如处理案例映射的技术选择的细节函数调用vs列)以及子字符串vs LIKE'abc%'的表示法。

虽然棘手的东西是用户输入和从DBMS收集数据的异步组合,最好用多线程处理,一个处理用户输入,一个处理DBMS和(可能)处理显示(或者也可能是处理用户输入的处理)。这就需要挂钩UI API - 而不是Informix API自己做的事情。 UI可以通过ODBC或任何其他类似的API轻松获得Informix(或任何其他DBMS)。