模块
目录
索引 🔎︎

# 数据

「数据」选项卡页面可用于为选中的控件指定数据源。

要访问此命令...

打开选中表单元素的右键菜单 - 选择「控件 - 数据」选项卡。

打开「表单控件」工具栏或「表单设计」工具栏，点击「控件」图标 - 数据选项卡。

对于带有数据库链接的表单，需要在「表单属性」中定义其数据库。这些功能可以在「数据」选项卡中找到。

对于不同控件，「数据」选项卡页面中显示的设置也可能不同。您只能看到当前控件和上下文可以使用的选项。
可以使用以下字段:

## 列表内容

对于数据库表单，为表单元素的列表内容指定数据源。此字段也可用来为未连接数据库的文档定义值列表。

就数据库表单而言，数据源确定列表框或组合框的条目。根据选中的类型，可以在「列表内容」中选择不同的数据源，只要数据库中存在这些对象。「列表内容的类型」中选中类型的所有可用数据库对象都可以在这里找到。如果选择「值列表」选项作为类型，则数据库表单中可以使用引用。如果控件的显示由 SQL 命令控制，则在此输入 SQL 语句。

SQL 命令示例:

对于列表框， SQL 命令的表述形式如下:

SELECT field1, field2 FROM table,

此处「表格」是指数据在控制字段的列表中显示的表格 (列表表格)。「字段 1」是确定表单中的可见条目的数据字段，它的内容将在列表框中显示出来。「字段2」是表单表格中的字段，如果选择了「固定的字段=1的话，这个字段与表单表格 (数值表格) 通过在数据字段」中指定的字段相链接。

对于组合框， SQL 命令的表述形式如下:

SELECT DISTINCT field FROM table,

其中，"field" 是列表表格 "table" 中的数据字段，此表格的内容显示在组合框的列表中。

「HTML 文档中的数值列表」

对于 HTML 表单，可以在「列表内容」中输入数值列表。选择「列表内容的类型」中的选项「数值列表」。在这里输入的数值不会显示在表单中，它们的作用是为可见的条目指定值。「列表内容」中的条目对应于 HTML 标记 <OPTION VALUE=...>。

在传送列表框或组合框中选中条目的数据时，表单中显示的值的列表 (通过常规选项卡的「列表条目指定) 和数值列表 (通过「数据」选项卡的列表内容」指定) 均是要考虑的因素: 如果数值列表 (<OPTION VALUE=...>) 中的选中位置上是 (非空) 文字，则传送该文字。否则，传送 (<OPTION>) 控制中显示的文字。

如果要使值列表含有空字符串，则在「列表内容」中的相应位置输入值 $$$empty$$$ (注意大小写)。LibreOffice 将此输入解释为空字符串，并将其指定到相应的列表条目。

如下的表格显示了 HTML、JavaScript 和以"ListBox1" 列表框为依据的 LibreOffice 字段「列表内容」间的相互关系。其中「条目」是指表单中的一个可见的列表条目:

「HTML 标记」 | 「JavaScript」 | 「控件值列表中的条目 (列表内容) 」 | 「传递数据」
<OPTION>Item | 不可能 | "" | 可见列表条目 ("ListBox1=Item")。
<OPTION VALUE="Value">Item | ListBox1.options[0].value="Value" | "Value" | 分配给列表条目的值 ("ListBox1=Wert")
<OPTION VALUE="">Item | ListBox1.options[0].value="" | "$$$empty$$$" | 一个空字符串("ListBox1=")。

## 列表内容的类型

确定填充列表框和组合框中列表的数据。

如果使用「数值列表」选项，控件将显示「常规」选项卡中的「列表条目」字段包含的所有条目。对于数据库表单，可以使用引用值 (请参阅使用数值列表的引用一节)。

如果控件的内容来自数据库，可以使用其他选项确定数据源的类型。例如，可以选择表格或查询。

## 固定的字段

如果在属性浏览器中删除「固定的字段」的内容，结果集的第一个字段用于显示和交换数据。

这个用于列表框的属性决定了，一个被链接的表格中的哪个数据字段会显示在表单中。

如果表单中的列表框将要显示链接到表单表格的表格内容，则在「列表内容的类型」字段中定义显示是否取决于 SQL 命令或者是否访问 (链接) 表格。通过「联结字段」属性，可以使用索引来指定要将列表字段链接到查询或表格中的哪一个数据字段。

属性「固定的字段」仅适用于需要访问多个表格的表单。如果表单仅基于一个表格，则可以直接在「数据字段」中指定需要在表单中显示的字段。但如果要在列表框中显示表格中的数据，并且该表格通过公用数据字段链接到当前表格，则可以通过属性「固定的字段」来定义链接的数据字段。

如果在「列表内容的类型」中选择「Sql」，SQL 命令将确定要指定的索引。示例: 如果在「列表内容」下指定 SQL 命令，例如「SELECT Field1, Field2 FROM tablename」，将引用以下表格:

固定的字段 | 链接
-1 | 列表中选中条目的索引与在「数据字段」中指定的字段相链接。
{空} 或者 0 | 数据库字段"字段1"与在「数据字段」里指定的字段相链接。
1 | 数据库字段「字段 2」与在「数据字段」中指定的字段相链接。

如果在「列表内容的类型」中选择「表格」，将由表格结构定义要指定的索引。示例: 如果在「列表内容」中选择数据库表格，则引用以下表格:

固定的字段 | 链接
-1 | 列表中选中条目的索引与在「数据字段」中指定的字段相链接。
{空} 或者 0 | 表格的第 1 栏与在「数据字段」里指定的字段相链接。
1 | 表格第 2 栏与在「数据字段」中指定的字段相链接。
2 | 表格第 3 列与在「数据字段」中指定的字段相链接。

## 建议使用筛选

设计表单时，可以在相应的「属性对话框中数据」选项卡中，为每个文本框设置「筛选器建议」属性。这样，在筛选模式下进行搜索时，可以从这些字段含有的所有信息中进行选择。然后可以使用「自动完成」功能选择字段内容。需要注意的是，此功能会占用较多的内存空间和时间，在大型数据库中使用时尤其严重，因此请慎用。

## 引用值 (关)

电子表格中的复选框和单选按钮可绑定到当前文档中的单元格。如果启用该控件，在「引用值 (开) 」中输入的值将被复制到单元格。如果禁用该控件，「引用值 (关) 」中的值将被复制到单元格。

## 引用值 (打开)

您能为单选按钮和复选框指定引用值。当发送 Web 表单时，引用值将被提交到服务器。在数据库表单中，此处输入的值将被写入到指定给控件字段的数据库中。

「Web 表单引用值」

当您设计了一个 Web 表单并向服务器传送控件的状态信息时，引用值非常有用。当控件被用户点击时，相应的引用值会发送到服务器。

例如，您有两个控制字段 -「女性」和「男性」选项，并且分别给它们指定引用值 "1" 和 "2"。当用户点击「女性」字段时，会传送数值 "1"，当点击「男性」字段时，会传送数值 "2"。

「数据库表格的引用值」

在数据库表格中您也可以用引用值标记出一个选项框或复选框的状态，并把这个引用值存入数据库。比如: 如果您给一个组的 3 个选项「工作中」「完成」和「重复样式」各分配了一个引用值 "ToDo"、"OK" 和 "WV"，那么当您点击每个选项时，这些引用值就显示在数据库中。

## 数据字段

对于数据库表单，可以将控制与数据字段进行链接。

有以下几种可能:

1. 第一种情况: 表单中只有一个表格。

   在「数据字段」中，指定要显示其内容的数据源表格的字段。

2. 第二种情况: 控制属于一个由 SQL 查询建立的子表单。

   在「数据字段」中，指定要显示其内容的 SQL 语句字段。

1. 第三种情况: 组合框

   在组合框里，您在「数据字段」中指定当前表单表格的字段，由用户输入或选中的值将保存在该字段中。在组合框的列表中显示的数值由在「列表内容」中输入的 SQL 语句确定。

2. 第四种情况: 列表框

   数据源表格中本身不含要显示的数据，而是含有一个表格，该表格通过公用数据字段链接到数据源表格。

   要在列表框中显示与当前数据源表格相连的表格中的数据，请在「数据字段」中指定列表框内容所引用的数据源表格字段，或者指定控制表单中数据显示的数据库字段。如果两个表格可以通过公用数据字段相连，则此数据字段提供到另一个表格的链接。数据字段通常存储了明确的标识码。其内容显示在表单中的数据字段由「列表内容」中的 SQL 语句指定。

带有引用的列表框。既可以在链接的表格中通过 SQL 语句来实现这个功能 (第4种情况)，也可以通过数值列表来达到这个目的:

「通过链接表格引用 (SQL 语句) 」

要在列表框中显示数据库表格中的数据，而该数据库表格通过公用数据字段与表单所依据的表格相连，则需要在「数据字段」中指定表单表格的链接字段。

如果在「列表内容」字段的「列表内容的类型」中选择「SQL」或「原生 SQL」，则链接将通过 SQL Select 创建。例如，如果表「Orders」被链接到当前表单控制，数据库中的「Customers」表被链接到「Orders」表，则可以使用以下 SQL 语句:

SELECT CustomerName, CustomerNo FROM Customers,

其中，"CustomerName" 是链接的 "Customers" 表格的数据字段，"CustomerNo" 是 "Customers" 表格的字段，该表格与「数据字段」下指定的 "Orders" 表单表格的字段相链接。

「使用值列表的引用」

在列表框中您可以使用数值列表，这是定义引用值的列表。这样，表单中的控制字段不再直接显示数据库字段的内容，而是显示通过数值列表指定的数值。

如果使用数值列表的引用值，则表单中不会显示「数据字段」中指定的数据字段内容，而是显示指定的数值。如果在「数据」选项卡的「列表内容的类型」中选择「数值列表」，并在「列表条目」(在常规选项卡中) 中为表单中可见的列表条目指定了引用值，则会将这些引用值与给定数据字段的数据内容进行比较。如果引用值与数据字段的内容相符，表单中将显示相关的列表条目。

## 源单元格区域

输入一个包含电子表格中列表框或组合框条目的单元格区域。 如果输入区域包含多列，则只有最左侧一列的内容用来填充控件。

## 空白字符是 NULL

定义如何处理输入的空字符串。如果将此属性设置为「是」，则输入的长度为零的字符串将被视为 NULL 值。如果将此属性设置为「否」，则任何输入的字符串都被视为其本来的样子，不做任何转换。

空字符串是一个长度为零的字符串 ("")。通常情况下，NULL 值与空字符串不一样。一般而言，术语 NULL 用于表示一个未定义的值、一个未知的值，或「尚未输入任何值」。

数据库系统各有不同，它们可能使用不同的方法处理 NULL 值。请参阅您使用的数据库的文档说明。

## 链接单元格的内容

选择列表框与电子表格中的链接单元格之间的链接模式。

1. 「链接的内容」: 已选中列表框条目的文本内容与单元格内容一致。选择「选中条目」。

2. 「链接的选中内容位置」: 列表框中被选中的单个条目的位置与单元格的数值一致。选择「所选条目的位置」。

## 链接的单元格

指定一个到电子表格的链接单元格的引用。控件的有效状态或内容链接到单元格的内容。以下表格列出了控件及其对应的链接类型:

### 带有链接单元格的复选框

操作 | 结果
选中复选框: | 在链接的单元格中输入 TRUE。
取消选中复选框: | 在链接的单元格中输入 FALSE。
三态复选框设为「不确定」状态 | 在链接的单元格中输入 #NV。
在链接的单元格中输入数字或可返回数字的公式 | 如果输入值为 TRUE 或非 0: 选中复选框 如果输入值为 FALSE 或 0: 取消选中复选框。
清除链接的单元格，输入文本或者输入可返回文本或错误的公式 | 如果是三态复选框则设为「不确定」状态，否则取消选中复选框。
选择框。「引用值」框包含文本。 | 将「引用值」框中的文本复制到单元格。
取消选中该框。「引用值」框包含文本 | 系统将空字符串复制到单元格中。
「引用值」框包含文本。在单元格中输入相同的文本 | 复选框已选中。
「引用值」框包含文本。在单元格中输入其他文本 | 取消选中复选框。

### 带有链接单元格的单选按钮 (单选按钮)

操作 | 结果
点击单选按钮 | 在链接的单元格中输入 TRUE。
选中一个单选按钮以取消选中另一个单选按钮 | 在链接的单元格中输入 FALSE。
在链接的单元格中输入数字或可返回数字的公式 | 如果输入值为 TRUE 或非 0: 选中单选按钮 如果输入值为 FALSE 或 0: 取消选中单选按钮。
清除链接的单元格，输入文本或者输入可返回文本或错误的公式 | 取消选中单选按钮。
点击单选按钮。「引用值」框包含文本 | 将「引用值」框中的文本复制到单元格。
点击同组中的其他单选按钮。「引用值」框包含文本。 | 系统将空字符串复制到单元格中。
「引用值」框包含文本。在单元格中输入相同的文本 | 选中单选按钮。
「引用值」框包含文本。在单元格中输入其他文本 | 清除单选按钮。

### 带有链接单元格的文本框

操作 | 结果
在文本框中输入文本 | 将文本复制到链接的单元格。
清除文本框 | 清除链接的单元格。
输入文本或数字到链接的单元格中 | 将文本或数字复制到文本框。
将公式输入到链接的单元格中 | 将计算结果复制到文本框。
清除链接的单元格 | 清除文本框。

### 带有链接单元格的数字字段和格式化字段

操作 | 结果
在字段中输入数字 | 将数字复制到链接的单元格中。
清除字段 | 在链接的单元格中设置「0」值。
在链接的单元格中输入数字或可返回数字的公式 | 将数字复制到字段中。
清除链接的单元格，输入文本或者输入可返回文本或错误的公式 | 在字段中设置「0」值。

### 带有链接单元格的列表框

列表框支持两种不同的链接模式，请参阅属性「链接的单元格内容」。

1. 「链接内容」: 已选中列表框条目的文本内容与单元格内容一致。

2. 「链接的选中内容位置」: 列表框中被选中的单个条目的位置与单元格的数值一致。

操作 | 结果
选择单个列表项 | 内容已链接: 将条目的文本复制到链接的单元格。 所选内容已链接: 将选中项的位置复制链接的单元格。 例如，如果选中第三项，那么数字「3」将被复制。
选中多个列表项 | 在链接的单元格中输入 #NV。
取消选中所有列表项 | 内容已链接: 清除链接的单元格。 所选内容已链接: 在链接的单元格中输入值「0」。
在链接的单元格中输入文本或数字 | 内容已链接: 查找并选中一个相等的列表项。 所选内容已链接: 选中指定位置的列表条目 (第一条从「1」开始)。如果未找到，取消选中所有条目。
将公式输入到链接的单元格中 | 查找并选中与计算结果和链接模式匹配的列表项。
清除链接的单元格 | 取消选中列表框中的所有条目。
修改列表源区域的内容 | 根据所作修改，更新列表框项。保留选中项，这将导致链接的单元格的更新。

### 带有链接单元格的组合框

操作 | 结果
在组合框的编辑字段中输入文本，或者从下拉列表中选择一个条目 | 将文本复制到链接的单元格。
清除组合框的编辑字段 | 清除链接的单元格。
在链接的单元格中输入文本或数字 | 将文本或数字复制到组合框的编辑字段。
将公式输入到链接的单元格中 | 将计算结果复制到组合框的编辑字段。
清除链接的单元格 | 清除组合框的编辑字段。
修改列表源区域的内容 | 根据所作修改，更新下拉列表项。组合框的编辑字段和链接单元格不会改变。