我目前正在创建一个应用程序,用于为某个项目分配员工。这些员工可以被移除到项目中,并可以再次返回项目。
我有这些表格:
employees_tbl
id
first name
last name
projects_tbl
id
name
project_assignment_tbl
id
project_id
employee_id
date_removed (NULL)
因此,每次我们将用户移至项目时,date_removed
中的project_assignment_tbl
列都将加上日期/时间戳,每次我们向项目添加员工时,都会插入新数据在project_assignment_tbl
我之所以这样做是因为在我的应用程序中我还想获得项目作业历史记录。
所以在我的应用程序中,我将转到一个特定项目,(/project/1
),然后我将从那里指派一名员工。
我的问题是,如何显示/查询未分配给特定项目的员工列表?这可能听起来很简单,但我在如何显示之前分配的用户以及在项目中删除它们时遇到了问题,但我想再次显示它们,因为它们已被删除到某个项目。
非常感谢您的帮助!谢谢!
答案 0 :(得分:0)
如果您的意思是从未分配到项目:
Sub highlight(phm as variant)
Dim w As Workbook
Dim sh As Worksheet
Dim x As Integer
Dim rn As Range
Dim k As Long
Dim number() As integer
If phm <> 0 Then
phm = Split(phm, ",")
ReDim number(LBound(phm) To UBound(phm)) As Integer
Set sh = w.Worksheets("sheet1")
sh.Select
Cells.Find("Number Type").Select
Set rn = sh6.UsedRange
k = rn.Rows.Count + rn.Row - 1
On Error Resume Next
For i = 1 To k
For j = LBound(number) To UBound(number)
number(j) = CInt(phm(j))
If Err.number = 0 Then
If ActiveCell.Value = number(j) Or IsEmpty(ActiveCell.Value) Then
Selection.Interior.ColorIndex = xlNone
Else
Selection.Interior.Color = vbGreen
Exit For
End If
End If
Next j
ActiveCell.Offset(1, 0).Select 'moves activecell down one row.
Next i
End If
ActiveWorkbook.Save
End Sub
如果您的意思是当前没有分配到项目:
SELECT e.*
FROM employees_tbl e
WHERE e.id NOT IN (SELECT employee_id
FROM project_assignment_tbl
WHERE project_id=1234) // sample project ID