Hi All
What is wrong with this coding it is designed to pick up if someone is on holiday and if so assign the shift to someone on a different shift level:
Public Function Reassign()
Dim db As DAO.Database
Dim rst As DAO.Recordset
Dim StrSql As String
StrSql = "SELECT TeamMembers.Employee, TeamMembers.Active, WeekLog.ShiftLevel, WeekLog.[ShiftPattern ID] as Pattern FROM TeamMembers INNER JOIN WeekLog ON TeamMembers.Employee = WeekLog.[Employee Number] WHERE (((TeamMembers.Active)=No) AND ((WeekLog.ShiftLevel)=1));"
Set db = CurrentDb
Set rst = db.OpenRecordset(StrSql, dbOpenSnapshot)
If rst.BOF And rst.EOF Then
Call MsgBox("No Team Members meet the criteria."
Else
Do Until rst.EOF
DoCmd.RunSQL "UPDATE TeamMembers INNER JOIN WeekLog ON TeamMembers.Employee = WeekLog.[Employee Number] " &_
"SET TeamMembers.Standins = 1, WeekLog.ShiftLevel = 1, WeekLog.[ShiftPattern ID] = rst("Pattern"
" &_
"WHERE (((WeekLog.ShiftLevel)=2));"
rst.MoveNext
Loop
End If
rst.close
Set rst = Nothing
db.close
Set db = Nothing
End Function
The section giving me the hassle is:
DoCmd.RunSQL "UPDATE TeamMembers INNER JOIN WeekLog ON TeamMembers.Employee = WeekLog.[Employee Number] " &_
"SET TeamMembers.Standins = 1, WeekLog.ShiftLevel = 1, WeekLog.[ShiftPattern ID] = rst("Pattern"
" &_
"WHERE (((WeekLog.ShiftLevel)=2));"
But I can't see why?
Any ideas
all help greatly appreciated.
Many Thanks
Tim
What is wrong with this coding it is designed to pick up if someone is on holiday and if so assign the shift to someone on a different shift level:
Public Function Reassign()
Dim db As DAO.Database
Dim rst As DAO.Recordset
Dim StrSql As String
StrSql = "SELECT TeamMembers.Employee, TeamMembers.Active, WeekLog.ShiftLevel, WeekLog.[ShiftPattern ID] as Pattern FROM TeamMembers INNER JOIN WeekLog ON TeamMembers.Employee = WeekLog.[Employee Number] WHERE (((TeamMembers.Active)=No) AND ((WeekLog.ShiftLevel)=1));"
Set db = CurrentDb
Set rst = db.OpenRecordset(StrSql, dbOpenSnapshot)
If rst.BOF And rst.EOF Then
Call MsgBox("No Team Members meet the criteria."
Else
Do Until rst.EOF
DoCmd.RunSQL "UPDATE TeamMembers INNER JOIN WeekLog ON TeamMembers.Employee = WeekLog.[Employee Number] " &_
"SET TeamMembers.Standins = 1, WeekLog.ShiftLevel = 1, WeekLog.[ShiftPattern ID] = rst("Pattern"
"WHERE (((WeekLog.ShiftLevel)=2));"
rst.MoveNext
Loop
End If
rst.close
Set rst = Nothing
db.close
Set db = Nothing
End Function
The section giving me the hassle is:
DoCmd.RunSQL "UPDATE TeamMembers INNER JOIN WeekLog ON TeamMembers.Employee = WeekLog.[Employee Number] " &_
"SET TeamMembers.Standins = 1, WeekLog.ShiftLevel = 1, WeekLog.[ShiftPattern ID] = rst("Pattern"
"WHERE (((WeekLog.ShiftLevel)=2));"
But I can't see why?
Any ideas
all help greatly appreciated.
Many Thanks
Tim