我正在尝试在 openoffice base 中向组合框添加几个选项。组合框只有两个选项可供选择,因此用表格来指定列表中的项目是荒谬的。如何在编辑模式下向组合框添加选项?我知道在 Visual Studio 中,我可以通过简单地创建一个组合框控件并打开属性,滚动到“列表内容”属性并在每个项目中添加输入(用换行符分隔)来实现这一点。如何在 openoffice base 中做到这一点?在互联网上搜索后,我找不到任何地方的答案。
答案1
编辑组合框的属性。在 的数据选项卡中Type of list contents
,指定SQL [Native]
。对于List content
,指定以下查询:
SELECT 'No' FROM DUAL UNION SELECT 'Yes' FROM DUAL
这是如果引擎是 Oracle 的话。对于 MySQL,只需要这个:
SELECT 'Yes' UNION SELECT 'No';
对于嵌入式 HSQLDB 引擎,版本 1.8 需要创建一个特殊表。[1] 创建一个名为的表,该表MY_DUMMY
只有一列和一行。其行为类似于 Oracle 的双重的表。然后像这样指定查询:
SELECT 'No' FROM MY_DUMMY UNION SELECT 'Yes' FROM MY_DUMMY
[1] 在较新版本的 HSQLDB 中,可以使用(值(0))作为虚拟表,但 LO 默认使用旧版本。
[2]联盟结合两个 SELECT 语句。
编辑:
以下是使用 Apache OpenOffice 4.1.2 的分步说明。所有表格和字段均采用大写,以简化 SQL。
- 在 OpenOffice 中,转到
File -> New -> Database
。 - 广播
Create a new database
.[3] 下一步. No, do not register the database.
Finish
. 将文件保存在某处。Create Table in Design View
。- 字段名称:
ID
。字段类型:Integer [ INTEGER ]
。 - 右键单击左侧
ID
并指定Primary key
。 - 另存为
MY_DUMMY
然后关闭表格。 Create Table in Design View
。- 再次创建一个
ID
字段作为主键。 VALUE
还创建一个名为type 的字段Text [ VARCHAR ]
。- 另存为
MY_TABLE1
并关闭。 - 双击表
MY_DUMMY
并添加一条值为 的记录0
。 - 按回车键保存记录,然后关闭表格。
- 双击表
MY_TABLE1
并添加两个ID
带有0
和 的记录1
。 - 将
VALUE
字段设置No
为两个记录并关闭表。 - 在该
Forms
地区的,Use Wizard to Create Form...
Tables or queries
:Table: MY_TABLE1
。- 单击
>>
即可移动ID
至VALUE
右侧。 - 按
Finish
,然后关闭表格。 - 右键单击
MY_TABLE1
表单并选择Edit
。 - 使用组合框工具,拖动一个大正方形来创建组合框。
- 按下
Cancel
关闭向导。 - 右键单击组合框并选择
Control
。 - 在
Data
选项卡中,对于Data field
,指定VALUE
。 - 对于
Type of list contents
,请指定Sql [Native]
。 - 对于
List content
,请指定SELECT 'No' FROM MY_DUMMY UNION SELECT 'Yes' FROM MY_DUMMY
。 - 保存并关闭表单。
- 双击打开表单。
- 在组合框中,单击
Yes
。 - 在组合框的顶部,单击右侧
Yes
以将光标移动到那里。 - 按下
Enter
以接受组合框的值。
现在您应该看到表中的值变为Yes
。