【发布时间】:2017-10-11 15:07:06
【问题描述】:
我在尝试使用 OpenArgs 来引用表中的字段名称时遇到了一些问题。我对此很陌生,所以请多多包涵。
所以我有一个报告(CourseCatalog),其中包含带有课程名称的文本框,它是从表格(tblCourses)中提取的。当您点击一门课程时,它会打开一个表格,让您可以选择对课程进行评分(frmRate)。我使用 OpenArgs(从报告到评分表)为 frmRate 制作标题。工作正常。
现在我需要获取先前在代码中定义的数据(选择的星数,(intNumStars)),并将其放入表中。该表(“Allratings”)将课程名称(OpenArgs 值)作为列名,我想将 intNumStars(1-5) 放入这些列中的单元格中。
我似乎在引用 VarArgs 来实现这一点时遇到了一些问题。我的语法/逻辑可能(可能)是错误的,如果有人知道完成此任务的更好方法,请告诉我您的想法!谢谢!
Private Sub btnSubmit_Click()
Dim varargs
Dim rst As dao.Recordset
Dim db As dao.Database
Dim fld As dao.Field
varargs = Me.OpenArgs
Set db = CurrentDb()
Set rst = db.OpenRecordset("Allratings")
For Each fld In rst.Fields
If fld.Name = "varargs" Then
rst.AddNew
rst!"varargs" = intNumStars
rst.Update
End If
Next
结束子
【问题讨论】:
-
该表(“Allratings”)将课程名称作为字段名称 - 如果这是真的(并且您并不意味着您有课程名称列),这是糟糕的设计。这应该是一个联结表(参见 Wikipedia)。
-
我说错了,它是列名而不是字段名。我编辑了帖子以反映更正
标签: ms-access vba ms-access-2013