Module
Contents
Index 🔎︎

# 資料

[資料]標籤頁允許您將資料源指定給選取的控制項。

若要使用此指令...

已選取表單項目的右鍵功能表「控制項...」- 選項標籤「資料」

開啟 [資料庫控制項] 工具列或 [資料庫表單設計] 工具列，按一下控制項圖示 - [資料] 標籤

所屬的資料庫可針對具有資料庫連結的表單在表單屬性中設定。在此，可以在「資料」選項標籤中找到這個功能。

控制項的[資料]標籤頁的可能設定取決於相應的控制項。您僅能看見目前控制項和上下文可用的選項。下列欄位可用：

## 來源儲存格範圍

輸入包含清單方塊條目或工作表組合方塊的儲存格範圍。若您輸入多欄範圍，則僅有最左欄的內容會用於填入控制。

## 參照值 (開啟)

可以為選項按鈕和核取方塊指定參照值。傳送 Web 表單時，參照值將傳送至伺服器。在資料庫表單中，此處輸入的值將寫入指定給控制項欄位的資料庫中。

Web 表單中的參照值

若您設計 Web 表單，並要將控制項狀態資訊傳送至伺服器，參照值將非常有用。若使用者按一下控制項，對應的參照值便會傳送至伺服器。

例如，如果有兩個控制項欄位，分別針對選項「女性」和「男性」，將參照值 1 指定給「女性」欄位，2 指定給「男性」欄位，則當使用者按一下「女性」欄位時，數值 1 會傳送至伺服器，按一下「男性」欄位時，數值 2 會傳送至伺服器。

資料庫表單的參照值

同時也可以在資料庫表單下透過參照值識別選項欄位或核取方塊的狀態，以及在資料庫中儲存這個參照值。例如，若是您有三個選項的群組「運行中」、「完成」和「再次呈遞」，以及當時的參照值「ToDo」、「OK」和「WV」，則這些參照值便會顯示在資料庫中，如果按下當時的選項。

## 參照值 (關閉)

試算表內的核取方塊和單選按鈕可與目前文件中的儲存格連結。若啟用此控制項，則您在 [參照值 (開啟)] 中輸入的值會複製到儲存格中。若停用此控制項，則 [參照值 (關閉)] 中的值會複製到儲存格中。

## 固定的欄位

如果您在屬性瀏覽器中刪除 [結合欄位] 儲存格的內容，結果集的第一個欄位會用來顯示及交換資料。

這個可針對清單方塊所使用的屬性會決定，所連結工作表的哪個資料欄位會在表單中顯示。

如果表單中的清單方塊要顯示的表格內容為某表單表格之連結，請在 [清單內容類型] 欄位中定義該顯示要由 SQL 指令決定或由被存取的（連結）表格決定。借助 [綁定的欄位] 特性，您可以使用索引來指定清單欄位要連結的查詢或表格的資料欄位。

屬性[固定的欄位]僅用於存取一個以上表格的表單。如果該表單僅基於一個表格，則要在該表單中顯示的欄位直接在[資料欄位]下指定。然而，如果您要此清單方塊顯示透過共用資料欄位連結至目前表格的表格中的資料，則連結的資料欄位由屬性[固定的欄位]來定義。

如果您選取了[清單內容的類型]下的「SQL」，則 SQL 指令決定要指定的索引。示例：如果您指定 SQL 指令，例如[清單內容]下的「SELECT Field1, Field2 FROM tablename」，則參照下列表格：

固定的欄位 | 連結
-1 | The index of the selected entry in the list is linked to the field specified under Data field.
{empty} or 0 | 「欄位 1」資料庫欄位是和在資料欄位下所指定的欄位連結。
1 | 「欄位 2」資料庫欄位是和在資料欄位下所指定的欄位連結。

如果您選取了[清單內容的類型]下的「表格」，則此表格結構定義要指定的索引。示例：如果在[清單內容]下已選取資料庫表格，則參照下列表格：

固定的欄位 | 連結
-1 | The index of the selected entry in the list is linked to the field specified under Data field.
{empty} or 0 | 工作表的第一欄是和在資料欄位下所指定的欄位連結。
1 | 工作表的第二欄是和在資料欄位下所指定的欄位連結。
2 | 工作表的第三欄是和在資料欄位下所指定的欄位連結。

## 清單內容

使用資料庫表單，指定用於該表單元素的清單內容的資料來源。此欄位可用於定義無資料庫連結的文件的數值清單。

就資料庫表單而言，資料源決定清單方塊或組合方塊的條目。根據選取的類型，如果這些物件存在於資料庫中，您可在[清單內容]下的不同資料源之間進行選擇。此處提供[清單內容的類型]下所選類型的所有可用資料庫物件。如果您已選取「數值清單」選項作為類型，您可以使用資料庫表單的參照。如果此控制項的顯示由 SQL 指令來控制，則在此處輸入該 SQL 陳述式。

用於 SQL 陳述式的示例：

清單方塊的 SQL 陳述式具有下列格式：

SELECT 欄位 1，欄位 2 FROM 工作表，

其中「工作表」為其資料顯示在控制項清單中的工作表 (清單工作表)。「欄位 1」為在表單中決定顯示的條目的資料欄位，其內容會在清單方塊中顯示。「欄位 2」是清單工作表中的欄位，其中如果「固定的欄位」選取為 = 1，則這會透過在「資料欄位」下所指定的欄位和表單工作表 (數值表格) 連結。

組合方塊的 SQL 陳述式具有下列格式：

SELECT DISTINCT 欄位 FROM 工作表，

在此，「field」是清單表格「table」中的資料欄位，此表格的內容顯示在組合方塊的清單中。

HTML 文件下的數值清單

對於 HTML 表單，您可以在[清單內容]下輸入數值清單。選取[清單內容的類型]下的選項「數值清單」。此處輸入的數值在表單中將不可見，並被用於將數值指定給可見的條目。[清單內容]下建立的條目對應於 HTML 標記 <OPTION VALUE=...>。

在清單方塊或組合方塊內所選條目的資料傳輸中，此表單中所顯示數值的清單 (在[一般]標籤的[清單項目]下輸入) 與在[資料]標籤的[清單內容]下輸入的數值清單，均被考量：如果 (非空) 文字位於此數值清單 (<OPTION VALUE=...>) 中的選取位置，則它將被傳送。否則，在 (<OPTION>) 控制項中顯示的文字被傳送。

如果此數值清單要包含空字串，則在 [清單內容] 下的對應位置輸入值「$$$empty$$$」(注意字母大小寫)。LibreOffice 將此輸入解譯為空字串，並將其指定給相應的清單項目。

下述工作表會根據一個名稱為「ListBox 1」的清單方塊顯示 HTML、JavaScript 和「清單內容」LibreOffice 欄位間的關聯。藉此，「Item」會繪製一個顯示在表單中的清單項目：

HTML 標籤 | JavaScript | 控制項數值清單中的條目 (清單內容) | 傳送會...
<OPTION>Item | 不可能 | "" | ...顯示的清單項目 ("ListBox1=Item")。
<OPTION VALUE="value">Item | ListBox1.options[0].value="value" | 「數值」 | ...指定至清單項目的數值 ("ListBox1=value")。
<OPTION VALUE="">Item | ListBox1.options[0].value="" | "$$$empty$$$" | ...空白字串 ("ListBox1=").

## 清單內容的類型

決定要填入清單方塊和組合方塊中清單的資料。

使用「數值清單」選項，在 [一般] 標籤的 [清單項目] 欄位中輸入的全部項目均顯示在此控制項中。對於資料庫表單，您可以使用參照值 (請參閱 「使用數值清單參照」 一節)。

如果此控制項的內容是從資料庫讀取的，您可以使用其他選項決定資料源的類型。例如，您可以在表格和查詢之間進行選擇。

## 空白字元順序為零

定義如何處理輸入的空字串。若設為 [是]，長度為零的輸入字串將會視為 NULL 值。若設為 [否]，則所有輸入都會以原狀接受而不進行任何轉換。

空字串指長度為零 ("") 的字串。通常，NULL 值並不等同於空字串。NULL 一詞經常用以表示未定義或不明的值，或「尚未輸入任何值。」

不同資料庫系統處理 NULL 值的方式各不相同。請參閱您使用之資料庫的說明文件。

## 篩選建議

設計表單時，您可以在相應 [屬性] 對話方塊的 [資料] 標籤中，為每個文字方塊設定「篩選建議」屬性。在篩選模式中的隨後搜尋中，您可以從這些欄位所包含的全部資訊中進行選取。此欄位內容就可以使用自動完成功能來選取。但請注意，此功能需要較多的記憶體空間和時間，尤其是在大型資料庫中使用時，因此請慎用。

## 資料欄位

使用資料庫表單，您可以將控制項與這些資料欄位連結。

有以下數種可能：

1. 第一種情形：表單中僅有一個表格。

   在[資料欄位]中，指定資料源表格中要顯示內容的欄位。

2. 第二種情形：控制項屬於一個由 SQL 查詢建立的子表單。

   在[資料欄位]中，指定要顯示內容的 SQL 陳述式欄位。

1. 第三種情形：組合方塊

   在組合方塊中的調節方塊下指定目前表單工作表的欄位，可在其中儲存由使用者所輸入或選取的數值。(在組合方塊清單中所顯示的數值可以透過 SQL 陳述式決定，可在清單內容下鍵入組合方塊。)

2. 第四種情形：清單方塊

   此資料源表格不包含要顯示的資料，但包含透過共用資料欄位連結至此資料源表格的表格。

   如果要清單方塊顯示連結至目前資料源表格的表格中的資料，請在[資料欄位]下，指定該清單方塊的內容所參照的資料源表格的欄位。或者您可以指定控制此表單中資料顯示的資料庫欄位。如果兩個表格可以透過共用資料欄位連結，則此資料欄位提供與另一個表格的連結。這個資料欄位通常儲存有唯一的識別碼。在此表單中顯示內容的資料欄位由[清單內容]下的 SQL 陳述來指定。

和參照一起執行清單方塊。這可以藉由所連結的工作表透過 SQL 陳述式來進行 (第四種情形) 或是透過數值清單:

所連結工作表中的參照 (SQL 陳述式)

如果要清單方塊顯示資料庫表格 (透過共用資料欄位連結至此表單所依據的表格) 中的資料，則此表單表格的連結欄位在[資料欄位]下指定。

如果您選取了「SQL」或「Native SQL」，則可建立與在[清單內容的類型]下的[清單內容]欄位中指定的 SQL Select 之間的連結。例如，表格「Orders」與目前的表單控制項相連結，在資料庫中表格「Customers」與表格「Orders」相連結。您可以使用如下的 SQL 陳述式：

選取「顧客名稱」，顧客中的「顧客編號」，

其中「CustomerName」是來源於相連結的表格「Customers」中的資料欄位，「CustomerNo」是表格「Customers」中的欄位，而表格「Customers」與[資料欄位]下指定的表單表格「Orders」中的一個欄位相連結。

數值清單中的參照

可以在清單方塊下使用數值清單。這些是定義參照值的清單。藉此，表單中的控制項沒有直接地顯示資料庫欄位的內容，而是透過數值清單顯示所指定的數值。

如果您使用數值清單的參照值，則您在表單中[資料欄位]下所指定的資料欄位的內容不可見，而指定的數值卻可見。如果您選擇了[資料]標籤上[清單內容的類型]下的「數值清單」，並將參照值指定給表單中[清單項目]下可見的清單項目 (在[一般]標籤中輸入)，則此參照值會與給定資料欄位的資料內容相比較。如果參照值對應於資料欄位的內容，則相關聯的清單項目會顯示在此表單中。

## 連結儲存格的內容

選取在工作表上使用已連結儲存格連結清單方塊的模式。

1. 連結的內容：將所選清單方塊條目的文字內容與儲存格內容同步化。選擇「選取的條目」

2. 已連結的選取位置：清單方塊中單一選取項目的位置會與儲存格中的數值同步化。選擇「選取條目的位置」

## 連結的儲存格

指定工作表上連結的儲存格的參照。即時狀態或控制項內容會連結到儲存格內容。以下表格將列出控制與其對應的連結類型：

### 含有連結儲存格的核取方塊

動作 | 結果
選取核取方塊 | 在連結的儲存格中輸入 TRUE
取消選取核取方塊 | 在連結的儲存格中輸入 FALSE
三狀態核取方塊將被設定為「未確定」狀態 | 在連結的儲存格中輸入 #NV
輸入數字或會傳回連結儲存格中數字的公式 | 若輸入的值為 TRUE 或不是 0：已選取核取方塊 若輸入的值為 FALSE 或 0：已取消選取核取方塊
清除連結的儲存格、或輸入文字，或輸入會傳回文字或錯誤的公式 | 若為三狀態核取方塊，則核取方塊將被設定為「未確定」狀態，否則，取消選取核取方塊。
選取此方塊。[參照值] 方塊包含文字。 | 參照值方塊的文字將被複製到儲存格。
取消選取方塊。參照值方塊包含文字。 | 空白字串將被複製到儲存格。
參照值方塊包含文字。將相同的文字輸入儲存格中。 | 已選取核取方塊。
參照值方塊包含文字。將其他文字輸入儲存格中。 | 已取消選取核取方塊。

### 含有連結儲存格的選項按鈕 (單選按鈕)

動作 | 結果
選取選項按鈕。 | 在連結的儲存格中輸入 TRUE
取消選取選項按鈕，方法是選取其他選項按鈕 | 在連結的儲存格中輸入 FALSE
輸入數字或會傳回連結儲存格中數字的公式 | 若輸入的值為 TRUE 或不是 0：已選取選項按鈕 若輸入的值為 FALSE 或 0：取消選取選項按鈕
清除連結的儲存格、或輸入文字，或輸入會傳回文字或錯誤的公式 | 取消選取選項按鈕
按一下選項按鈕。參照值方塊包含文字。 | 參照值方塊的文字將被複製到儲存格。
按一下相同群組的其他選項按鈕。參照值方塊包含文字。 | 空白字串將被複製到儲存格。
參照值方塊包含文字。將相同的文字輸入儲存格中。 | 已選取選項按鈕。
參照值方塊包含文字。將其他文字輸入儲存格中。 | 已清除選項按鈕。

### 含有連結儲存格的文字方塊

動作 | 結果
將文字輸入文字方塊 | 文字將被複製到連結的儲存格
清除文字方塊 | 已清除連結的儲存格
在連結的儲存格中輸入文字或數字 | 文字或數字將被複製到文字方塊
將公式輸入連結的儲存格 | 公式結果將被複製到文字方塊
清除連結的儲存格 | 已清除文字方塊

### 含有連結的儲存格的數字欄位與格式化欄位

動作 | 結果
將數字輸入欄位 | 文字將被複製到連結的儲存格
清除欄位 | 在連結的儲存格中設定值 0
輸入數字或會傳回連結儲存格中數字的公式 | 數字將被複製到欄位
清除連結的儲存格、或輸入文字，或輸入會傳回文字或錯誤的公式 | 在連結的儲存格中設定值 0

### 含有連結儲存格的清單方塊

列出支援兩種不同連結模式的方塊，請參閱特性「連結的儲存格的內容」。

1. 連結的內容：將所選清單方塊條目的文字內容與儲存格內容同步化。

2. 已連結的選取位置：清單方塊中單一選取項目的位置會與儲存格中的數值同步化。

動作 | 結果
選取單一清單項目 | 連結的內容：項目文字將被複製到連結的儲存格。 選取已連結：所選項目的位置將被複製到連結的儲存格。例如，若選取第三個項目，則將複製數字 3。
選取數個清單項目 | 在連結的儲存格中輸入 #NV
取消選取所有清單項目 | 連結的內容：已清除連結的儲存格 選取已連結：在連結的儲存格中輸入值 0
在連結的儲存格中輸入文字或數字 | 連結的內容：尋找並選取相同的清單項目 選取已連結：已選取指定位置的清單項目 (第一個項目以 1 開頭)。若未找到，將取消選取所有項目。
將公式輸入連結的儲存格 | 尋找並選取符合公式結果與連結模式的清單項目
清除連結的儲存格 | 取消選取清單方塊中的所有項目
變更清單來源範圍的內容 | 清單方塊項目將根據變更來更新。已保留選取。這可能會更新連結的儲存格。

### 含有連結儲存格的組合方塊

動作 | 結果
將文字輸入組合方塊的編輯欄位中，或從下拉式清單中選取條目 | 文字將被複製到連結的儲存格
清除組合方塊中的編輯欄位 | 已清除連結的儲存格
在連結的儲存格中輸入文字或數字 | 文字或數字將被複製到組合方塊的編輯欄位中
將公式輸入連結的儲存格 | 公式結果將被複製到組合方塊的編輯欄位中
清除連結的儲存格 | 已清除組合方塊的編輯欄位
變更清單來源範圍的內容 | 下拉式清單項目將根據變更來更新。組合方塊與連結的儲存格的編輯欄位將不會變更。