MS-Access 表单在加载时显示数字,而不是名称

MS-Access Form shows Number, not Name on load

我有一个数据库,我在其中应用了一个名称,一个主组和一个子组。 当我进入 MainGroup f.e 时。手榴弹,仅应显示子组元素,如“攻击手榴弹”等。 一般来说,它通过将其写入我的表单中的 MainGroup-Combobox 来工作。

 Private Sub MunHauptgruppeRef_AfterUpdate()    
Me.MunUntergruppeRef.Requery
Me.MunUntergruppeRef.RowSource = " SELECT UnterGrpNR, UnterGrpName FROM tbl_UnterGruppen WHERE UnterHauptGruppenNr = " & MunHauptgruppeRef.Value & "   ORDER BY UnterGrpName ASC"

问题是,如果我再次在我的表单中加载数据,它只会显示与“子组合框数据”相关的数字 1( f.e. 35 for Attack-Grenade ) , but not the Name itself. After I reselect the entry in my Main-Combobox(Grenade), it shows the right sub-data which was saved. 2

尝试重新查询 Form_Load 或重新查询组合框本身。到目前为止没有任何帮助。

制作了一些视频3

您需要将 Private Sub MunHauptgruppeRef_AfterUpdate() 中的代码添加到您的 Form_Current 事件中,这将在您循环浏览时将您的组合框行源刷新为 MunHauptgruppeRef 组合框的当前值你的记录。您还需要在设置 Me.MunUntergruppeRef.RowSource.

后调用 Me.MunUntergruppeRef.Requery

您还可以在新记录中添加检查,因为代码不会 运行 当前事件。看这里https://docs.microsoft.com/en-us/office/vba/api/access.form.newrecord