我正在使用Access 2010。
我正在设计一个数据库,以帮助跟踪社区计划中的参与者。
我有一个名为ParticipantMaster
的表,其中包含ParticipantID, FirstName, LastName, Address, Phone
等字段以及在此表格上构建的条目表单。
我有一组收集出勤数据的表格/表格(其级别显示他们是否参加了PARTIAL,HALF或FULL会话)...与我的问题相关的字段包括ParticipantID
(来自参与者)主人),WorkshopID
,Level
。
根据出勤数据,我创建了一个名为Attendance_FullorHalf
的查询,用于计算每个参与者参加过多少次或全部会话。字段包括ParticipantID
,CountStatus
,FirstName
,LastName
。此查询工作正常。
除了出勤之外,我还有一个名为Interviews
的表格和表格,每当我呼叫参与者时都会记录。他们出勤后才有资格接受采访。 2。
我希望在面试记录表上显示出勤人数,这样我就可以看到他们是否符合面试资格。
可能是一个显示类似
的文本框SELECT CountStatus from Attendance_FullorHalf
WHERE ParticipantID (from Attendance_FullorHalf query) = ParticipantID (of the record I'm on in the interview form)
我知道这可能不是我需要的那样的陈述 - 我只是写了这个来帮助解释我的问题。
因此,如果我在面试表格中,输入身份证号码为20-563的参与者的信息,我希望在该表格上显示参加者数量为20-563的参与人数。
希望我的问题很清楚 - 非常感谢你!
答案 0 :(得分:1)
当然,在表单oncurrent事件中,您可以编写一个查询来提取该参与者ID的出勤数据,然后使用查询结果更新文本框。
我在这里错过了什么吗?
以下评论后的编辑:
在面试记录表单上创建一个文本框
为表单创建一个onCurrent事件,然后选择代码生成器 你应该有一个如下所示的窗口
Private Sub Form_Current()
End Sub
进入这个你需要编写你的代码...这样的事情应该给你一个起点工作
Private Sub Form_Current()
Dim rs as DAO.Recordset 'recordset object to hold the results of the sql query
set rs = CurrentDB.OpenRecordset("INSERT YOUR SQL HERE")
If rs.RecordCount > 0 Then 'we have a value for this participant
txtBox.Text = rs![FIELDNAME] 'update the textboxes text value
Else
txtBox.Text = "0" 'else no value means 0
End If
set rs = nothing ' clean up the recordset after we've finished with it
End Sub
现在以上是非常粗糙和肮脏但原则相当合理。打开记录集,对它运行SQL,如果记录集现在有结果,则用这些结果更新文本框。
希望有助于您入门