我有一个监控员工休假和培训的数据库,每8周一个小组会聚集然后进行培训,我所追求的是一种方式而不是单独为每个成员分配一个培训活动ID,而不是打开活动并选择参与者,从这里,每个工作人员将针对他们记录这种特定的培训 到目前为止,我已经通过ID识别每个员工和GID的每次培训,但是在参加此培训活动时遇到了所有ID?
答案 0 :(得分:0)
可以使用未绑定表单完成此 BULK INSERT 。最小控件可以是一个Listbox,ComboBox,一个TextBox和一个Button。
ListBox ( staffList ),应该允许选择多个项目;将从Staff表中获取其RowSource,类似于
SELECT
staffID,
staffName
FROM
staffTable;
属性为Bound Column : 1
,Column Count : 2
,Column Widths : 0cm;2.542cm
ComboBox ( eventCombo ),将从Event表中获取其RowSource,类似于
SELECT
eventID,
eventName
FROM
eventTable;
属性为Bound Column : 1
,Column Count : 2
,Column Widths : 0cm;2.542cm
然后 TextBox ( dateTxt )只有一个Date控件(对于事件的日期)。
按钮( addEventBtn )点击后面的代码就是,
Private Sub addEventBtn_Click()
Dim varItem As Variant
If Me.staffList.ListIndex = -1 Then
MsgBox "No Staff selected. You have to select at least one staff before you can proceed !", vbCritical
Me.dateTxt.SetFocus
Exit Sub
End If
If Me.eventCombo.ListIndex = -1 Then
MsgBox "No Event selected. You have to select at least one staff before you can proceed !", vbCritical
Me.dateTxt.SetFocus
Exit Sub
End If
If IsNull(Me.dateTxt) Then
MsgBox "No Date selected. You have to select Date before you can proceed !", vbCritical
Me.dateTxt.SetFocus
Exit Sub
End If
For Each varItem In Me.staffList.ItemsSelected
CurrentDB.Execute "INSERT INTO tbl_EventList (eventID_FK, staffID_FK, eventDate) VALUES (" & _
Me.eventCombo & ", " & Me.staffList.ItemData(varItem) & ", " & Format(Me.dateTxt, "\#mm\/dd\/yyyy\#") & ")"
Next
End Sub
这应该可行。请根据您的设计进行更改!如果您有任何疑问,请将其添加到评论中。