添加带 ID 的记录,从另一个 table 中选择 NAME

Add record with ID, selecting NAME from another table

谁能帮我创建 Libreoffice Base 表单? 我有下表:

我正在尝试添加一个表单以使用以下字段输入新的资源记录:[RESOURCE_NAME]、[CURRENCY_NAME] 和 [AMOUNT]。但经过 10 多次尝试后,我还没有成功。我尝试通过向导添加它,selecting RESOURCES 作为主窗体,CURRENCIES 作为子窗体,反之亦然。我已经尝试过基于它们的视图和表单。这些尝试只给了我或没有机会进入新的记录,要么创造新的 CURRENCY。

我不需要通过此表单创建新货币,我只想输入新资源(只输入一次,不可修改,不可删除)。因为我不想记住所有的 ID,所以我想通过下拉列表 select 货币名称。

任何人都可以提供有关如何操作的说明吗?

谢谢。

为此您不需要子表单 - 只需使用 RESOURCES 作为主表单(仅表单)创建您的表单文档。

您将需要一个列表框来输入货币项目。一个列表框有两个字段,一个显示字段和一个保存在 table 中的字段。您将其设置为显示 CURRENCY_NAME 并存储 CURRENCY_ID.

当您创建列表框时,弹出的向导可能会为您提供所需的内容。如果向导不足:

  • 确保表单文档在设计模式下打开:在 "Form Controls" 工具栏上,带有三角形的铅笔图标 leftmost/topmost 应该被压下。如果此图标变灰,请关闭您的文档,右键单击其名称并选择 "Edit"。
  • 右键单击列表框并选择"Control";这将打开属性 window
  • 在选项卡 "Data" 上将 "Type of list contents" 更改为 "Sql"
  • 在字段 "List content" 中输入 SELECT "CURRENCY_NAME", "CURRENCY_ID" FROM "CURRENCIES" ORDER BY "CURRENCY_NAME"
  • 绑定字段应默认为 1。如果不是 1,请将其更改为 1。
  • 关闭属性 window 并保存您的表单。它现在应该可以正常工作了。

如果您想要在 table 网格中添加一个列表框:创建 table 后,在编辑模式下,右键单击您要更改的列名并选择 "Replace with" 然后 "listbox"。

已编辑以包含 OP 关于绑定字段需要为 1 的评论