LOOKUP() 函 数
在表中搜索字段值与指定表达式匹配的第一个记录
语 法
LOOKUP( ReturnField , eSearchExpression , SearchedField [, cTagNam e])
返 值 类 型
字符型 数值型 货币型 浮点型 整型 双精度型 日期型 日期时间型或逻辑型
参 数 描 述
ReturnField
指 定 的 一 个 字 段 搜 索 成 功 时 LOOKUP ( ) 函 数 返 回 此 字 段 中 的 内 容 如 果搜 索 不 成 功 LOOKUP( ) 函 数 返 回 与 ReturnField 长 度 和 数 据 类 型 都 相 同 的空 字 符 串
eSearchExpression
指 定 搜 索 表 达 式 搜 索 表 达 式 常 常 是 表 中 某 个 字 段 的 内 容 或 者 与 活 动 索 引或 复 合 索 引 标 识 的 索 引 表 达 式 相 对 应
SearchedField
指 定 要 搜 索 的 字 段 如 果 该 表 没 有 活 动 索 引 LOOKUP ( ) 函 数 对 由
SearchedField 指 定 的 字 段 执 行 顺 序 搜 索
如果打开的某个索引文件或索引标识的索引关键字表达式正是您指定的搜索字段
LOOKUP ( ) 函数将利用索引文件或索引标识执行快速搜索
cTagName
指 定 L O O K U P ( ) 函 数 在 搜 索 时 使 用 的 复 合 索 引 标 识 名 复 合 索 引 搜 索 是
LOOKUP( ) 函 数 所 能 执 行 的 最 快 的 搜 索 方 式
说 明
如果搜索成功 LOOKUP ( ) 函数移动记录指针指向匹配记录 并返回该记录中指定字段的内容
如果没有找到搜索表达式 LOOKU P( ) 函数返回与 ReturnField 长度和数据类型相同的空字符串 并将记录指针定位在文件尾
如果使用 LOOKU P( ) 在父表中搜索 则把所有相关子表的记录指针移动到相关记录上
本函数不能用 Rushmore 优化
示 例
在下面的示例中 LOOKUP ( ) 函数使用索引标识 company 搜索字符串 "Ernst Handel" 的第一次出现 如果搜索成功 LOOKUP( ) 函数返回字段 contact 的内容 并由 @ ... SAT 命令显示这个返回值
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer ORDER company && 打开 Customer 表
CLEAR
@ 2,2 SAY LOOKUP ( contact, 'Ernst Handel', company, 'company')
请 参 阅
FIND, INDEX, LOCATE, SEEK, SEEK ( )