﻿<?xml version='1.0' encoding='UTF-8'?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Релиб / Access / Базы данных  / Вставка полей из одной табл в другую / Latest Posts</title><generator>InstantForum.NET v4.1.4</generator><description>Релиб</description><link>http://www.relib.com/forums/</link><webMaster>robot@relib.com</webMaster><lastBuildDate>Sat, 22 Nov 2008 03:24:27 GMT</lastBuildDate><ttl>20</ttl><item><title>RE: Вставка полей из одной табл в другую</title><link>http://www.relib.com/forums/Topic913281-20-1.aspx</link><description>Не оправдание :))) зачем делать заведомо корявую работу?&lt;br&gt;Тем более - мы тут почти все не программисты, а просто кто-то когда-то попросил попробовать создать базу</description><pubDate>Fri, 18 May 2007 12:30:09 GMT</pubDate><dc:creator>Ирча</dc:creator></item><item><title>RE: Вставка полей из одной табл в другую</title><link>http://www.relib.com/forums/Topic913281-20-1.aspx</link><description>Спасибо за совет, конечно. Я не программист Access, а просто по производственной необходимости приходится писать. Это единственная база, которую меня попросили попробовать сделать. Если бы это было моим направлением, то есстесственно было бы время изучить Access по написанию корректных, а не "корявых" баз....</description><pubDate>Fri, 18 May 2007 10:26:16 GMT</pubDate><dc:creator>pvik1970</dc:creator></item><item><title>RE: Вставка полей из одной табл в другую</title><link>http://www.relib.com/forums/Topic913281-20-1.aspx</link><description>[quote][b]pvik1970 (17.05.2007)[/b][hr]CurrentDb.Execute "UPDATE [Итоговая рабочий проект] SET [Антена ППА-А]='" &amp; Me![Тип] &amp; "', [Частота]='" &amp; Me![Частота] &amp; "', [Коэф усиления]='" &amp; Me![Коэф усиления] &amp; "', [Вес]='" &amp; Me![Вес] &amp; "', [Ширина]='" &amp; Me![Ширина] &amp; "', [Высота]='" &amp; Me![Высота] &amp; "', [Глубина]='" &amp; Me![Глубина] &amp; "' WHERE [Адрес объекта]='&amp; Me![Адрес объекта] &amp;'"[/quote]&lt;br&gt;1) Вот в этой части - непорядок с кавычками&lt;br&gt;WHERE [Адрес объекта]='&amp; Me![Адрес объекта] &amp;'"&lt;br&gt;Нужно так:&lt;br&gt;WHERE [Адрес объекта]='" &amp; Me![Адрес объекта] &amp; "'"&lt;br&gt;&lt;br&gt;2) Если поля таблицы, которым присваиваются значения - не текстовые, то:&lt;br&gt;  a) для числовых целых одинарные кавычки, обрамляющие присваиваемые значения, не нужны;&lt;br&gt;  b) для числовых нецелых и денежных нужно, например, вместо&lt;br&gt;[Частота]='" &amp; Me![Частота] &amp; "'&lt;br&gt;(ИМХО) записать&lt;br&gt;[Частота]=CStr('" &amp; Me![Частота] &amp; "')&lt;br&gt;  с) для полей типа дата/время ..., а впрочем, читайте Help.&lt;br&gt;&lt;br&gt;3) [quote][b]pvik1970 (17.05.2007)[/b][hr]Мне именно нужен оператор Update, так как тут изменяются только часть полей по условию "Адрес объекта".[/quote]&lt;br&gt;При нормальной структуре базы UPDATE в таком контексте Вам не понадобился бы, независимо от того, часть или все поля меняете.&lt;br&gt;&lt;br&gt;4)[quote][b]pvik1970 (17.05.2007)[/b][hr]Просто я только 2 месяца как в Access'е пишу.[/quote]&lt;br&gt;Мне кажется, что в силу приобретения привычки в конструировании корявых баз на начальном этапе, Вы и через несколько лет будете писать в таком же духе.&lt;br&gt;</description><pubDate>Thu, 17 May 2007 22:15:04 GMT</pubDate><dc:creator>BoNiM</dc:creator></item><item><title>RE: Вставка полей из одной табл в другую</title><link>http://www.relib.com/forums/Topic913281-20-1.aspx</link><description>CurrentDb.Execute "UPDATE [Итоговая рабочий проект] SET [Антена ППА-А]='" &amp; Me![Тип] &amp; "', [Частота]='" &amp; Me![Частота] &amp; "', [Коэф усиления]='" &amp; Me![Коэф усиления] &amp; "', [Вес]='" &amp; Me![Вес] &amp; "', [Ширина]='" &amp; Me![Ширина] &amp; "', [Высота]='" &amp; Me![Высота] &amp; "', [Глубина]='" &amp; Me![Глубина] &amp; "' WHERE [Адрес объекта]='&amp; Me![Адрес объекта] &amp;'"&lt;br&gt;&lt;br&gt;Пробую так, но пишет, что мало параметров. Нужно 3. Мне именно нужен оператор Update, так как тут изменяются только часть полей по условию "Адрес объекта".&lt;br&gt;&lt;br&gt;Может еще кто подскажет? Просто я только 2 месяца как в Access'е пишу.... :( Спасибо.</description><pubDate>Thu, 17 May 2007 16:33:03 GMT</pubDate><dc:creator>pvik1970</dc:creator></item><item><title>RE: Вставка полей из одной табл в другую</title><link>http://www.relib.com/forums/Topic913281-20-1.aspx</link><description>[quote][b]pvik1970 (16.05.2007)[/b][hr]Шось не выходит... :(&lt;br&gt;&lt;br&gt;Смотрите, в таблице "Антенны ППА" всего 5 полей - наименование, коэф усиления, диаметр, и т. д.&lt;br&gt;&lt;br&gt;В таблице "Итоговая рабочий проект" много полей, но есть и такие как и в "Антенны ППА". &lt;br&gt;&lt;br&gt;Так вот, поле "наименование" на форме берет данные через запрос с таблицы "Антенны ППА" поля наименование, и просто должно заполнять в записи оставшиеся 4 поля(коэф усиления, диаметр, и т.д) в таблицу "Итоговая рабочий проект" по критерию адреса объекта.&lt;br&gt;&lt;br&gt;Надеюсь может лучше объяснил...... Спасибо еще раз......[/quote]&lt;br&gt;Мое мнение, которое я излагал в частной переписке, остается прежним: все Ваши проблемы возникают на ровном месте из-за денормализованности базы.&lt;br&gt; &lt;br&gt;1) Дополните таблицу "Антенны ППА" полем, например ID, типа счетчк и сделайте его ключевым. &lt;br&gt;2) В таблице "Итоговая рабочий проект" создайте числовое (длинное целое) поле например ID_ant. Задайте для него в качестве подстановки поле со списком, источником строк которого будет запрос основанный на таблице "Антенны ППА".&lt;br&gt;3) Уберите из таблицы "Итоговая рабочий проект" поля относящиеся к антенне.&lt;br&gt;4) Свяжите один ко многим таблицы "Антенны ППА" и "Итоговая рабочий проект" по полям ID и ID_ant.&lt;br&gt;5) С помощью запроса на выборку, типа такого: &lt;br&gt;SELECT [Итоговая рабочий проект].*, Антенны_ППА.[наименование], Антенны_ППА.[коэф усиления], Антенны_ППА.[диаметр] FROM Антенны_ППА INNER JOIN [Итоговая рабочий проект] ON Антенны_ППА.id = [Итоговая рабочий проект].id_ant&lt;br&gt;получаете требуемые результаты без никаких UPDATE.&lt;br&gt;Преимущества: меньший объем базы; не надо постоянно синхронизировать эти таблицы с помощью запросов на обновление после каждого изменения значений полей в "Антенны ППА".&lt;br&gt;Пример см. в прикрепленном файле.</description><pubDate>Thu, 17 May 2007 10:01:39 GMT</pubDate><dc:creator>BoNiM</dc:creator></item><item><title>RE: Вставка полей из одной табл в другую</title><link>http://www.relib.com/forums/Topic913281-20-1.aspx</link><description>Может быть Вам нужно связать эти таблицы?&lt;br&gt;Вообще, проще будет, если Вы выложите сюда эти таблицы и саму форму в виде mdb-файла (желательно, в формате MS Access 97),  упакованного каким-нибудь архиватором...</description><pubDate>Wed, 16 May 2007 17:26:26 GMT</pubDate><dc:creator>Михайло</dc:creator></item><item><title>RE: Вставка полей из одной табл в другую</title><link>http://www.relib.com/forums/Topic913281-20-1.aspx</link><description>Шось не выходит... :(&lt;br&gt;&lt;br&gt;Смотрите, в таблице "Антенны ППА" всего 5 полей - наименование, коэф усиления, диаметр, и т. д.&lt;br&gt;&lt;br&gt;В таблице "Итоговая рабочий проект" много полей, но есть и такие как и в "Антенны ППА". &lt;br&gt;&lt;br&gt;Так вот, поле "наименование" на форме берет данные через запрос с таблицы "Антенны ППА" поля наименование, и просто должно заполнять в записи оставшиеся 4 поля(коэф усиления, диаметр, и т.д) в таблицу "Итоговая рабочий проект" по критерию адреса объекта.&lt;br&gt;&lt;br&gt;Надеюсь может лучше объяснил...... Спасибо еще раз......</description><pubDate>Wed, 16 May 2007 14:31:14 GMT</pubDate><dc:creator>pvik1970</dc:creator></item><item><title>RE: Вставка полей из одной табл в другую</title><link>http://www.relib.com/forums/Topic913281-20-1.aspx</link><description>Если у Вас Антенны ППА - таблица, и Вам надо обновлять в Итоговая рабочий проект те записи, которые совпадают с Антенны ППА, то либо объедините сравниваемые поля связью, либо включити уто условие в where&lt;br&gt;И воспользуйтесь все-таки советом Михайло... сделайте сначала запрос на выборку, убедитесь что он возвращает нужные записи, и только потом преобразовывайте в запрос на обновление</description><pubDate>Wed, 16 May 2007 12:36:59 GMT</pubDate><dc:creator>Ирча</dc:creator></item><item><title>RE: Вставка полей из одной табл в другую</title><link>http://www.relib.com/forums/Topic913281-20-1.aspx</link><description>CurrentDb.Execute "UPDATE [Итоговая рабочий проект] SET [Коэф усиления]='" &amp; Forms![Антенны &lt;br&gt;                                                                                                               ^^^^^^^^^ - вот тут говорит, что форма "Антенны ППА" не найдена. А у меня "Антенны ППА" - Таблица!!!!&lt;br&gt;&lt;br&gt;ППА]![Коэф усиления] &amp; "' WHERE [Адрес объекта] = " &amp; Me![Адрес объекта]&lt;br&gt;&lt;br&gt;</description><pubDate>Wed, 16 May 2007 12:02:57 GMT</pubDate><dc:creator>pvik1970</dc:creator></item><item><title>RE: Вставка полей из одной табл в другую</title><link>http://www.relib.com/forums/Topic913281-20-1.aspx</link><description>Во-первых, синтаксис:&lt;br&gt;&lt;br&gt;CurrentDb.Execute "UPDATE [Итоговая рабочий проект] SET [Коэф усиления]='" &amp; Forms![Антенны ППА]![Коэф усиления] &amp; "' WHERE [Адрес объекта] = " &amp; Me![Адрес объекта]&lt;br&gt;&lt;br&gt;Во-вторых. Если Вам пишут "не хватает параметров, должно быть ...", то это значит, что запрос на выборку данных не работает... Преобразуйте Ваш запрос (в данном случае - на обновление) в запрос на выборку данных и добейтесь его работоспособности (в конструкторе запросов). Далее - преобразуйте исправленный запрос на выборку в запрос на обновления.</description><pubDate>Tue, 15 May 2007 17:06:51 GMT</pubDate><dc:creator>Михайло</dc:creator></item></channel></rss>