libreoffice-base - 如何从字段中获取内容
问题描述
我对 Base 完全陌生。我有不同的表格,但在其中一个命名F_STRUCT
的表格中,我正在尝试制作一个宏,允许用户在选择邮政编码时自动填充另一个字段。
所以数据库看起来像这样。
ID_ZIP ZIP CITY
1 97425 Les Avirons
2 82289 Toto
在我的表格中,我有一个允许选择邮政编码的选项。它的标签和名称是ZipCode
。
所以我真的不知道在哪里可以找到所有方法和寒意方法的 API 参考,我遵循了互联网上的示例。
我试过这个
Sub getZip
Dim Doc As Object
Dim DrawPage As Object
Dim Form As Object
Doc = StarDesktop.CurrentComponent
DrawPage = Doc.DrawPage
Form = DrawPage.Forms.GetByIndex(0)
Toto = Form.GetByName("ZipCode")
Print "hey"
End Sub
但它返回一个错误就Toto = Form.GetByName("ZipCode")
行了。
解决方案
该代码有效,因此问题一定是您如何创建表单或控件。请按照以下说明设置正确的示例:
- 在设计视图中创建表单
- 使用列表框工具(这就是您所说的“选择”吗?)并创建一个控件。
- 如果弹出向导,请取消向导。
- 右键单击控件并选择控件属性(不是名称,这将修改形状名称而不是控件的名称)。
- 将名称设置为“邮政编码”(不带引号)。
- 保存并关闭表单。
- 打开表格。在该表单的窗口中(
CurrentComponent
)转到Tools -> Macros -> Run Macro。
推荐阅读
- numpy - 使用 np.lib.stride_tricks.as_strided 的含义
- unity3d - 如何添加额外的相机,以便在我使用电影相机时使用脚本 onBecomeInvisible() 的对象不会被破坏?
- angular - 添加自定义属性以增强联合登录
- javascript - 模拟 axios 接收空对象
- amazon-web-services - AWS CDK -- 错误:在 Azure DevOps 管道中找不到模块“@aws-cdk/cloud-assembly-schema”
- asp.net - 您如何使用没有明显扩展名的网站 URL
- flutter - 在 Flutter 中缩小文本基线以下的区域
- g++ - 如何将 rpath 与 LLD 链接器 (LLVM) 一起使用
- react-hooks - React 状态变量被覆盖(useState)
- regex - 表示二进制 32 位十进制数的最佳正则表达式是什么?