Открытие формы по условию

Автор st.inna, 13 ноября 2023, 09:37

0 Пользователи и 1 гость просматривают эту тему.

st.inna

Всем здравствуйте!

Есть база данных по оборудованию. В базе есть поле с информацией о дате следующего осмотра оборудования.

Есть запрос "Просроченное_оборудование", который выбирает оборудование, у которого дата его осмотра наступила или просрочилась:
SELECT "Наименование_оборудования",
       "Дата_следующего_осмотра_оборудования"
FROM "ОБОРУДОВАНИЕ"
WHERE "Дата_следующего_осмотра_оборудования" <= CURRENT_DATE

Есть форма с таким же названием "Просроченное_оборудование", источником которой является одноименный запрос.

Я хочу, чтобы при загрузке базы данных, первым делом загружалась форма "Просроченное_оборудование", НО только в том случае, если такое оборудование есть (т.е. с просроченной датой осмотра).

ВОПРОС: как в макросе на событие загрузки БД прописать условие, что
Если результат запроса НЕ ПУСТОЙ, то открывать форму "Просроченное_оборудование", иначе открывать другую форму?

Как открывать форму - это понятно :-)

Спасибо!

mikekaganski

Посмотрите на форуме темы, упоминающие RowSet. С его помощью Вы задаёте и выполняете запрос SQL и анализируете число возвращённых записей.
С уважением,
Михаил Каганский

st.inna

Для тех, кому интересно, отвечаю на свой же вопрос :-)

В макросе прописала:

oRecordset1 = Application.CurrentDb().OpenRecordset("SELECT ""Наименование"", ""Дата_следующего_осмотра_оборудования"" FROM ""ОБОРУДОВАНИЕ"" WHERE ""Дата_следующего_осмотра_оборудования"" <= CURRENT_DATE ")

Kolichestvo_zapisey = oRecordset1.RecordCount

If Kolichestvo_zapisey > 0 Then

DoCmd.OpenForm("Просроченное_оборудование")

Else ........
      
End If


Это всё будет работать при условии, что в начале этого макроса была загружена библиотека Access2BASE