powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Пересчет поля базы даных
7 сообщений из 7, страница 1 из 1
Пересчет поля базы даных
    #32272070
Mashka85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблемка от новичка. Сори.
Есть табличка1 и подчиненая к ней табличка2.
После редактирования формы при е закрытии надобно перебрать подчиненные записи из таблички2, чтоб насчитать определенное значение полю из таблички1. Как сделать?
...
Рейтинг: 0 / 0
Пересчет поля базы даных
    #32272080
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уточняю вопрос:

Есть табличка1 и подчиненая к ней табличка2.
Есть Форма1, связанная с "табличка1", и подчиненная ей Форма2, связанная с "табличка2".
Так?

Если да, то можно:

1)В Форма2 на события "После обновления" и "Текущая запись" написать
Private Sub Form_AfterUpdate()
Me.Parent.ПолеБлаблабла = dSum("ПолеБлабла","Табличка2","Ключ=" & Me.ПолеКлюча)
End Sub

Private Sub Form_Current()
Me.Parent.ПолеБлаблабла = dSum("ПолеБлабла","Табличка2","Ключ=" & Me.ПолеКлюча)
End Sub

Значение будет пересчитываться при сохранении записи подчиненной формы, переходе с записи на запись, удалении записи. Опционально вместо Form_Current можно обрабатывать Form_Delete.

2)То же, что в пункте (1) + на "после обновления" ПоляБлаблабла
Private Sub ПолеБлаблабла_AfterUpdate()
DoCmd.RunCommand acSaveRecord
End Sub

Тогда запись будет сохраняться и сумма пересчитываться сразу по изменении требуемого поля, но при этом нельзя будет отменять внесенные изменения по Escape.
...
Рейтинг: 0 / 0
Пересчет поля базы даных
    #32272098
Mashka85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Немного не так.
Есть только форма1 в которй в виде заголовка запись из таблички1 и ниже подчиненые записи из таблички2. Т.е. форма только одна.

Проблека в том, что насчитывать(определять значение) надо не просто цифровому полю. Логика сложнее нужно именно проанализировать определенное поле в подчиненых записях таблички2
...
Рейтинг: 0 / 0
Пересчет поля базы даных
    #32272120
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ок. Не будем гадать, и, в соответствии с ТЗ
при eе закрытии надобно перебрать подчиненные записи из таблички2

Private Sub Form_Close()

' Здесь перебираем подчиненные записи из таблички 2, например, так:
dim rs as dao.recordset
set rs = currentdb.openrecordset("Табличка2")
do until rs.eof
'блаблабла
loop
rs.close
set rs = nothing

End Sub
...
Рейтинг: 0 / 0
Пересчет поля базы даных
    #32272223
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
После 'блаблабла надо еще rs.movenext :^)
...
Рейтинг: 0 / 0
Пересчет поля базы даных
    #32272227
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так точно.
:)
...
Рейтинг: 0 / 0
Пересчет поля базы даных
    #32272237
Mashka85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Насчет rs.movenext догадалась
Спасибо всем!
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Пересчет поля базы даных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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