Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS Access > Подчиненная форма и элемент управления в главной??


Автор: Smilex 7.9.2007, 16:41
Есть главная форма с элементом управления типа флажок при нажатии на котроый в подчиненной форме по всем строкам должны произойти вычисления (фактически одно поле заменяется другим).

При изменении флажка подсчет происходит только в той строке подчиненной формы где в последний раз стоял курсор.

Разьясните, что нужно сделать чтобы при нажатии на флажок  вычисления произошли по всем строкам в подчиненной форме.
Спасибо.

Автор: Akina 7.9.2007, 17:16
Не видя кода, ничего сказать нельзя.

Автор: Smilex 7.9.2007, 17:30
Спасибо... выкладываю чё есть....

Запрос для главной формы:
Код

SELECT
 [Реестр приходных накладных].[Код приходной  накладной],
 [Реестр приходных накладных].[Код поставщика] AS [Реестр приходных накладных_Код поставщика],
 [Реестр приходных накладных].[Форма оплаты],
 [Реестр приходных накладных].[Дата прихода],
 [Реестр приходных накладных].Транспортные,
 [Реестр приходных накладных].Проведено,
 Поставщики.[Код поставщика] AS [Поставщики_Код поставщика],
 Поставщики.Поставщик,
 Поставщики.Отсрочка
FROM Поставщики 
INNER JOIN [Реестр приходных накладных] 
ON Поставщики.[Код поставщика] = [Реестр приходных накладных].[Код поставщика];


Запрос для подчиненной формы:
Код

SELECT
 Накладные.[Код товара] AS [Накладные_Код товара],
 Накладные.Количество, Накладные.Цена,
 Товары.[Количество склад],
 Товары.[Цена склад], Накладные.[Код приходной накладной],
 [Количество]+[Цена склад] AS [Рсчет кол склад]
FROM Товары 
INNER JOIN Накладные 
ON Товары.[Код товара] = Накладные.[Код товара];


[Реестр приходных накладных].Проведено - это элемент управления типа флажок при тыкалке в который запускается макрос с единственной строчкой:

Задать Значение полю Forms![Форма для заполнекния приходной накладной]![Подчиненная форма для заполнения приходных накладных].Form![Количество склад] 
 
Выражение: = Forms![Форма для заполнекния приходной накладной]![Подчиненная форма для заполнения приходных накладных].Form![Рсчет кол склад]


То естьпри тыкалке во флажок суммированное поле Рсчет кол склад должно быть вставлено в Количество склад

Так вот изменения при нажатии на фладок происходят только в той строке подчиненной формы где в последний раз стоял курсор.

ПЛИЗ ХЕЛП

Автор: Akina 7.9.2007, 18:01
Совершенно непонятно, как связаны основная форма и подчиненная... Но то что происходит - происходит, в общем, логично - ибо задается значение определенной записи подчиненной формы.
По клику на флажок долен изменяться либо фильтр подчиненной формы, либо ее источник данных, либо... ну в общем что-то, что влияет на ОТБОР записей для отображения на подчиненной форме.


M
Akina
Не забываем использовать коды форума.

Автор: Smilex 7.9.2007, 18:15
Связь происходит по полю [Код приходной накладной]

Обе формы показывают то что нужно, т.е. при нажатии на флажок мне по фильтру менять ничего не нужно
Мне во всех строках подчиненной формы надо заменить одно значение на другое (оба значения присутствуют в подчиненной форме)

Конкретно: надо значение из [Рсчет кол склад] передать в  [Количество склад]

Еще раз спасибо.

Автор: Akina 7.9.2007, 18:19
Цитата(Smilex @  7.9.2007,  19:15 Найти цитируемый пост)
Мне во всех строках подчиненной формы надо заменить одно значение на другое (оба значения присутствуют в подчиненной форме)

Напиши соответствующий запрос на обновление и именно его запускай по нажатию на... кстати, почему флажок, а не кнопка? 

Автор: Smilex 7.9.2007, 18:29
УУУ... как все запущено... ЫЫЫЫЫЫ туплю...

Объясни плиз примерчиком каким макаром сделать запрос из подчиненной формы (вытащить оттуда строки)

Я прикрепил файлик аксесовский в архиве - гля плиз если не трудно. или аську вруби.

Автор: Smilex 7.9.2007, 18:53
ААААААААААААААААААААА!
ДОПЕР!

Запрос на изменение с условием отбора по ключевому полю из главной формы прямо в таблицу!!!

Спасибо Акина.

Автор: Akina 7.9.2007, 22:37
Не забудь сделать Requery (или там Refresh?) подчиненной формы после завершения работы запроса.

Автор: bopoha 7.9.2007, 23:50
Akina, 
Requery - перезапрашивает данные, т.е. выполнеяет запрос для формы заново.
Refresh - сохраняет все изменные поля на форме в запись.

Автор: Smilex 8.9.2007, 12:40
Спасибо, до рефреша допер.

Продолжу тему:

в подчиненной форме есть поле с выпадающим списком где выбирается товар [Накладные_Код товара]
Задача такая - сделать так, чтобы в форму нельзя было вставить два одинаковых значения в это поле. 

... заранее зпасибо.

Кстати Dlookup подойдет?

Автор: Akina 8.9.2007, 15:13

M
Akina
Один топик - один вопрос.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)