У меня есть функции удаления и добавления, которые строят Таблицу 1 на основе входных данных пользователя. Поэтому для таблицы Table1 для каждого пользователя добавляется разное количество записей.
Мой SQL-код работает для поиска дат, но он делает это только один раз, мне нужно зациклить SQL-код по длине таблицы. Я не очень хорош в кодировании, я попробовал оператор while, не уверен, смогу ли я использовать переменную Z в критериях для этого, но я хочу, чтобы он работал до тех пор, пока не будет заполнен due_date в записи с наименьшим значением ID.
Вот что я попробовал:
Private Sub Command7_Click()
Y = DMax("ID", "Table1", BuildCriteria("Due_date", dbDate, "Null"))
A = DMin("ID", "Table1", BuildCriteria("Due_date", dbDate, "Not Null"))
X = DMin("ID", "Table1")
Z = DLookup("Due_date", "Table1", BuildCriteria("ID", dbLong, CStr(X)))
B = DLookup("Duration", "Table1", BuildCriteria("ID", dbLong, CStr(Y)))
C = DLookup("Due_date", "Table1", BuildCriteria("ID", dbLong, CStr(A)))
E = DateAdd("d", -B, C)
Dim SQL As String
SQL = "UPDATE Table1 " & _
"SET " & BuildCriteria("Due_date", dbDate, CStr(E)) & " " & _
"WHERE " & BuildCriteria("ID", dbLong, CStr(Y))
While Z Is Null
DoCmd.RunSQL SQL
End While
End Sub
Для иллюстрации:
Цель состоит в том, чтобы щелкнуть один раз, и вся таблица заполняется