G A T H E R 命 令

G A T H E R 命 令 - 图1G A T H E R 命 令 - 图2将当前选定表中当前记录的数据替换为某个数组 变量组或对象中的数据

语 法

GATHER FROM ArrayName | M E M V A R | N A M E Ob jectName

[FIELDS FieldList | FIELDS LIKE Skeleton | FIELDS EXCEPT Skeleton ] [MEMO]

参 数 描 述

F R O M ArrayName

G A T H E R 命 令 - 图3G A T H E R 命 令 - 图4G A T H E R 命 令 - 图5G A T H E R 命 令 - 图6G A T H E R 命 令 - 图7G A T H E R 命 令 - 图8G A T H E R 命 令 - 图9指 定 一 个 数 组 用 它 的 数 据 替 换 当 前 记 录 中 的 数 据 从 数 组 的 第 一 个 元 素起 各 元 素 的 内 容 依 次 替 换 记 录 中 相 应 字 段 的 内 容 第 一 个 数 组 元 素 的 内 容替 换 记 录 第 一 个 字 段 的 内 容 第 二 个 数 组 元 素 内 容 替 换 记 录 第 二 个 字 段 的 内容 依 此 类 推

G A T H E R 命 令 - 图10G A T H E R 命 令 - 图11G A T H E R 命 令 - 图12G A T H E R 命 令 - 图13如 果 数 组 的 元 素 少 于 表 的 字 段 数 目 则 忽 略 多 余 的 字 段 如 果 数 组 的 元 素 多于 表 的 字 段 数 目 则 忽 略 多 余 的 数 组 元 素

M E M V A R

G A T H E R 命 令 - 图14G A T H E R 命 令 - 图15指 定 一 组 变 量 或 数 组 把 其 中 的 数 据 复 制 到 当 前 记 录 中 变 量 的 数 据 将 传 送

G A T H E R 命 令 - 图16G A T H E R 命 令 - 图17G A T H E R 命 令 - 图18给 与 此 变 量 同 名 的 字 段 如 果 没 有 与 某 个 字 段 同 名 的 变 量 则 不 替 换 此 字段

G A T H E R 命 令 - 图19G A T H E R 命 令 - 图20提 示 在 SCATTER 命 令 中 包 含 M E M V A R 或 BLANK 子 句 可 以 创 建 与 字 段同 名 的 变 量

N A M E Ob jectName

G A T H E R 命 令 - 图21G A T H E R 命 令 - 图22G A T H E R 命 令 - 图23G A T H E R 命 令 - 图24G A T H E R 命 令 - 图25指 定 某 个 对 象 其 属 性 与 表 的 字 段 同 名 每 个 字 段 的 内 容 分 别 替 换 为 与 字 段同 名 的 属 性 的 值 如 果 没 有 与 某 个 字 段 同 名 的 属 性 则 此 字 段 的 内 容 不 做 替换

FIELDS FieldList

G A T H E R 命 令 - 图26G A T H E R 命 令 - 图27指 定 用 数 组 元 素 或 变 量 的 内 容 替 换 其 内 容 的 字 段 只 替 换 在 FieldList 中 指 定的 字 段 的 内 容

FIELDS LIKE Skeleton | FIELDS EXCEPT Skeleton

G A T H E R 命 令 - 图28G A T H E R 命 令 - 图29G A T H E R 命 令 - 图30选 用 LIKE 子 句 或 EXCEPT 子 句 或 者 同 时 包 含 以 上 两 个 子 句 可 以 有 选 择地 将 字 段 内 容 替 换 为 数 组 元 素 或 变 量 的 内 容 如 果 包 含 LIKE Skeleton

G A T H E R 命 令 - 图31G A T H E R 命 令 - 图32句 V isual FoxPro 将 替 换 与 Skeleton 匹 配 的 字 段 如 果 包 含 EXCEPT

G A T H E R 命 令 - 图33G A T H E R 命 令 - 图34Skeleton 子 句 V isual FoxPro 将 替 换 与 Skeleton 不 匹 配 的 所 有 字 段

G A T H E R 命 令 - 图35G A T H E R 命 令 - 图36G A T H E R 命 令 - 图37G A T H E R 命 令 - 图38G A T H E R 命 令 - 图39G A T H E R 命 令 - 图40Skeleton 支持通配符 * 和 ? 例如 要替换所有以字母 A 和 P 开头的字段 可 使 用下列命令

GATHER FROM gamyarray FIELDS LIKE A*,P*

M E M O

G A T H E R 命 令 - 图41指 定 用 数 组 元 素 或 变 量 的 内 容 替 换 备 注 字 段 的 内 容 如 果 省 略 M E M O 子

G A T H E R 命 令 - 图42G A T H E R 命 令 - 图43G A T H E R 命 令 - 图44G A T H E R 命 令 - 图45G A T H E R 命 令 - 图46句 则 在 用 数 组 或 变 量 的 内 容 替 换 字 段 内 容 时 GATHER 命 令 将 跳 过 备 注字 段 即 使 包 含 了 M E M O 关 键 字 GATHER 命 令 也 忽 略 通 用 字 段 和 图 片 字段

示 例

示例 1

G A T H E R 命 令 - 图47G A T H E R 命 令 - 图48G A T H E R 命 令 - 图49G A T H E R 命 令 - 图50此示例使用 GATHER 命令将数据复制到表的新记录中 在创建 Test 之后 使用SCATTER 命令创建一套基于表中字段的变量 然后对每个字段赋值并向表中添加一个空记录

CREATE TABLE Test FREE ;

(Object C(10), Color C(16), SqFt n(6,2)) SCATTER MEMVAR BLANK

m.Object="Box" m.Color="Red" m.SqFt=12.5 APPEND BLANK GATHER MEMVAR BROWSE

示例 2

G A T H E R 命 令 - 图51G A T H E R 命 令 - 图52G A T H E R 命 令 - 图53G A T H E R 命 令 - 图54此 示例 使用了 GATHER 命令及 NAME 子句将数据复制到表的新记录 在创建表 Test 之后 使用 SCATTER 命令创建具有基于表中字段属性的对象 然后为对象的属性赋值并向表添加一个空记录

CREATE TABLE Test FREE ;

(Object C(10), Color C(16), SqFt n(6,2))

SCATTER NAME oTest BLANK

oTest.Object="Box" oTest.Color="Red" oTest.SqFt=12.5 APPEND BLANK GATHER NAME oTest

RELEASE oTest

BROWSE

请 参 阅

APPEND FROM ARRAY, COPY TO ARRAY, DIMENSION, SCATTER