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


Автор: LexeY 29.3.2006, 09:42
такой вопрос. Есть у меня таблица товаров(шифр, цена, название, описание...), и ещё одна таблица, которая динамически заполняется при нажатии на кнопку, данные берет из экселевского фала. Эта таблица имеет теже поля что и таблица товаров, но данные в нее вносятся только в колонку "шифр", остальные поля нужно выбрать из таблицы товаров, т.е. найти соответствующие записи шифров в первой таблице и заполлнить соответсвующие поля другой, обьясните пожалуйста как такое сделать, чтобы врорая таблица после загрузки сразу "обновилась " полями из первой.
заранее благодарен

Автор: ТоляМБА 29.3.2006, 10:12
Цитата(LexeY @ 29.3.2006, 09:42 Найти цитируемый пост)
записи шифров
- поле IDn
Цитата(LexeY @ 29.3.2006, 09:42 Найти цитируемый пост)
таблица товаров(шифр, цена, название, описание...),

Table1:
IDn, Price1, NameP1, Discr1
ещё одна таблица
Table2:
IDN, Price2, NameP2, Discr2

Код

Update Table2
set Price2=Price1, NameP2=NameP1,  ...
From Table1 t1
inner join table2 t2
on (t1.idn=t2.idn)
where NameP2 is null


Автор: LexeY 30.3.2006, 17:40
чтото не получается smile
усовершенствуй пожалуйста свой пример для моих таблиц...

Главная:
шифр, цена, описание товара.

Продажа:
шифр, цена, описание товара.

в продаже заполнен только столбец шифрЮ остальные нада из главной взять

Автор: ТоляМБА 31.3.2006, 06:14
Цитата(LexeY @ 30.3.2006, 17:40 Найти цитируемый пост)
Главная:
шифр, цена, описание товара.
Table1:
IDn, Field11, Field12
Цитата(LexeY @ 30.3.2006, 17:40 Найти цитируемый пост)
Продажа:
шифр, цена, описание товара.
Table2:
IDn, Field21, Field22

Код

UPDATE Table1 INNER JOIN Table2
ON Table1.idn = Table2.idn
SET Table2.Field21 = Table1.Field11,
Table2.Field22 = Table1.Field12
WHERE (((Table2.Field21)=0) AND ((Table2.Field22) Is Null)); 

Цитата(LexeY @ 30.3.2006, 17:40 Найти цитируемый пост)
в продаже заполнен только столбец шифрЮ
Код

WHERE (((Table2.Field21)=0) AND ((Table2.Field22) Is Null))
- это значит что упдатить надо только те которые в описании – пустые и с нулевой ценой.

Автор: LexeY 4.4.2006, 20:48
спасибо, все получилось smile

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