powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Открытие формы по условию
18 сообщений из 18, страница 1 из 1
Открытие формы по условию
    #32798903
Фотография Ирча
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет люди! Помогите ПЛЗ
Access 2003 mdb
Есть три формы Но основе двух таблиц связанных один ко многим
В первой ключ PodrID
Если во второй таблице есть Связанная запись, открываю форму "frmDogovor"
для просмотра и подсчета,
если нет, тогда форму "frmDogKorrect" для добавления записи в подчиненную таблицу
Пишу так
Код: plaintext
1.
2.
3.
4.
5.
Set rst = CurrentDb.OpenRecordset("SELECT tbDogovID.* FROM tbDogovID where [IDPodr] = " & Me.PodrID)
If rst( 0 ) >  0  Then
   DoCmd.OpenForm "frmDogKorrect"
     Else: DoCmd.OpenForm "frmDogovor"
End If
rst.Close
В случае отсутствия записи в подчиненной, пишет:Текущая запись отсутствует, и останавливает код
Я-то знаю, что она отсутствует, как обойти этот момент, чтобы форма открылась?
...
Рейтинг: 0 / 0
Открытие формы по условию
    #32798905
Фотография Alexander G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проверять
rst.recordcount>o
...
Рейтинг: 0 / 0
Открытие формы по условию
    #32798916
Фотография Ирча
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БО СПО
Век живи, век учись
...
Рейтинг: 0 / 0
Открытие формы по условию
    #32798919
Фотография Shark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отсутствие записей лучче проверять .bof and .eof
Recordcount иногда не работает
...
Рейтинг: 0 / 0
Открытие формы по условию
    #32798929
Фотография Alexander G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
точнее не иногда, а
DAO
Для присоединенных объектов TableDef свойство RecordCount всегда имеет значение –1.
ADO
The cursor type of the Recordset object affects whether the number of records can be determined. The RecordCount property will return -1 for a forward-only cursor; the actual count for a static or keyset cursor; and either -1 or the actual count for a dynamic cursor, depending on the data source.
...
Рейтинг: 0 / 0
Открытие формы по условию
    #32799369
Фотография Ирча
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо еще раз
Поменяла на BOF and EOF
Тоже работает - Чудеса!:)
...
Рейтинг: 0 / 0
Открытие формы по условию
    #32799402
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сегодня день функции DCount!!!

В третий топик ее пишу

DCount - господа, это функция дня - ей надо пользоваться, чтобы рекордсеты лишний раз не открывать :)
...
Рейтинг: 0 / 0
Открытие формы по условию
    #32799695
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DCount - фигня!

Гораздо интереснее создать рекордсет; объявить счетчик; в цикле перебрать все записи, увеличивая счетчик на 1!
...
Рейтинг: 0 / 0
Открытие формы по условию
    #32800371
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программист-ЛюбительDCount - фигня!

Гораздо интереснее создать рекордсет; объявить счетчик; в цикле перебрать все записи, увеличивая счетчик на 1!
Это (ИМХО) чисто профессиональный подход к делу, для начинающих или не очень продвинутых Аксесовцев трудный.
ПО этой причине, я не стал его рекомендовать
...
Рейтинг: 0 / 0
Открытие формы по условию
    #32800430
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программист-ЛюбительDCount - фигня!

Гораздо интереснее создать рекордсет; объявить счетчик; в цикле перебрать все записи, увеличивая счетчик на 1!

Ага, и для повышения достоверности повторить пербор раз 100 :-)

Как говориться, семь раз ....
...
Рейтинг: 0 / 0
Открытие формы по условию
    #32800441
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Открытие формы по условию
    #32800851
Фотография Ирча
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ой, какие тут все грозные!
Ну DCount так DCount
Для этого и спрашивала, чтоб другие варианты посмотреть
За то теперь я могу это сделать тремя способами

Всем большое спасибо за участие!
...
Рейтинг: 0 / 0
Открытие формы по условию
    #32800980
Фотография Ирча
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вот, накликала
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
If a = DCount("[IDPodr]", "tbDogovID", "[IDPodr]=Forms![frmPodGl]![SubPodr]![PodrID]") >  0  Then
     DoCmd.OpenForm "frmDogovor"
   
   Else:
    Dim stDocName As String
    Dim stLinkCriteria As String
    DoCmd.DoMenuItem acFormBar, acRecordsMenu,  5 , , acMenuVer70
    stLinkCriteria = "[IDPodr]=" & Me![PodrID]
    DoCmd.OpenForm "frmDogKorrect", , , stLinkCriteria
           
End If
Forms![frmPodGl]![SubPodr]![PodrID]-значение возвращает
в tbDogovID в поле [IDPodr] такое значение точно есть
выдает а=0
Почему? Подскажите!
...
Рейтинг: 0 / 0
Открытие формы по условию
    #32800996
Гео
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что означает эта конструкция:

if a=b>c then

?
я даже не знаю, в каком порядке оно считаться будет. Скорее всего, (a=b)>c.
...
Рейтинг: 0 / 0
Открытие формы по условию
    #32801137
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чудесный пример кода!

ID когда вначале, когда в конце имени столбца.

Корень, имя сущности, где-то Pod, где-то Podr. Аналогично, Dogov иди Dogovor или просто Dog. Осталось только кириллицу туда намешать.

МенюИтем в коде ненавижу - лучше использовать явные функции Форма.Requery, Форма.Refresh и т.п.
...
Рейтинг: 0 / 0
Открытие формы по условию
    #32801274
Фотография Ирча
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гео, спасибо, поправила, заработало
авторА что означает эта конструкция:
if a=b>c then
я DCount составляля в отдельной строчке, вне If
и он мне выдавал ошибку компиляции, посмотрела Help, там везде =DCount,
во я и добавила, блин
авторЧудесный пример кода!

ID когда вначале, когда в конце имени столбца.

Корень, имя сущности, где-то Pod, где-то Podr. Аналогично, Dogov иди Dogovor или просто Dog. Осталось только кириллицу туда намешать.

МенюИтем в коде ненавижу - лучше использовать явные функции Форма.Requery, Форма.Refresh и т.п.
Мой код
Как хочу, так и пишу:)
...
Рейтинг: 0 / 0
Открытие формы по условию
    #32801313
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Ирчапосмотрела Help, там везде =DCount,
Знак равенства - это на случай, когда выражение ставится в ControlSource.
...
Рейтинг: 0 / 0
Открытие формы по условию
    #32801426
Фотография Ирча
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, спасибо, теперь уже поняла...
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Открытие формы по условию
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]