vba - 代码无法在 Access 2017 中将值从一种形式传递到另一种形式
问题描述
我有一个名为MortalityDataEntertyform4
包含字段的表单GoatID
。
我想编写代码以打开表单并使用表单中的值Goatforsalelist3
填充字段。GoatID2
GoatID
MortalityDataEntertyform4
我尝试了以下打开表单的代码,但值没有被传输:
Private Sub Command189_Click()
Dim strFrmName As String
strFrmName = "GoatForSaleList3"
DoCmd.OpenForm strFrmName
With Forms(strFrmName)
Text165.Value = Me.Text78.Value
End With
End Sub
解决方案
控件前需要点:
.Text165 = Me.Text78
.Value
没有必要,尽管使用起来无伤大雅。
如果表单绑定到数据并且文本框绑定到字段并且表单未打开到新记录行,则代码将更改现有记录中的值。因此,要么将表单 DataEntry 属性设置为 Yes,要么在 OpenForm 方法中指定 acFormAdd:
DoCmd.OpenForm strFrmName, , , , acFormAdd
然后进一步确保现有数据不被更改:
If .NewRecord Then .Text165 = Me.Text78
另一种方法是使用 OpenArgs 将值传递给第二个表单,然后第二个表单代码使用 OpenArgs 设置其字段/控件值。
推荐阅读
- typescript - 如何指定数组的元素只能是 1 到 6 之间的数字?
- javascript - Leaflet 防止窗口滚动
- javascript - gridview 行删除确认框
- java - 如何使用信号量同时执行 2 个线程
- laravel-livewire - 如何使用数据库中的值作为 laravel livewire 中的属性
- javascript - 从VueJS中的api获取数据时如何添加加载器?
- reactjs - React Native FilatList 和 ScrollView 详细信息屏幕
- android - DrawerLayout 内的 RecyclerView
- javascript - 日期到 UTC 字符串在一天内返回日期,但比较返回 false
- python - 在 Python 中运行函数时未定义参数