Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Вместо пустых полей подставить значения полей похожих записей
 
 автор: Аленка   (21.10.2008 в 11:31)   личное сообщение
 
 

Есть таблица.
Поле1.......Поле2..........Поле3
200.............10.09.2008......Москва
NULL.............10.09.2008......Москва
NULL.............10.09.2008......Москва
NULL.............10.09.2008......Москва

Как видно, записи идентичны по Полю2 и 3.
В поле1 вместо пустот нужно установить 200.
И так для каждой записи, у которых идентичны поля2 и 3.

Я полчаса попробовала что-то сделать с помощью запроса на выборку, но как-то пока не ладится. Особенно проблема возникает там, где идентичных записей оказывается несколько и сразу встает вопрос: а из какой записи копировать значения Поля1?

Может кто сталкивался с такой проблемой? Так с виду проблема не особо сложная вроде бы.
Спасибо.

  Ответить  
 
 автор: osmor   (21.10.2008 в 11:43)   личное сообщение
 
 

"и сразу встает вопрос: а из какой записи копировать значения Поля1?"
как только решите этот вопрос, сразу после этого можно сделать запрос с группировкой по полям 2 и 3 на создание таблицы, и из этой таблицы обновить все записи у который поле1 is null

  Ответить  
 
 автор: Аленка   (21.10.2008 в 11:59)   личное сообщение
15 Кб.
 
 

Блин, поспешила я слишком. Ни фига не выходит у меня. Вроде вышло как нужно. А в итоге оказалось, что это не то.
Поможете?
Вот пример таблички

  Ответить  
 
 автор: Аленка   (21.10.2008 в 20:41)   личное сообщение
 
 

  Ответить  
 
 автор: час   (21.10.2008 в 21:03)   личное сообщение
 
 


Особенно проблема возникает там, где идентичных записей оказывается несколько и сразу встает вопрос: а из какой записи копировать значения Поля1?

Действительно - есть какой-то критерий??????????????
может ещё поля какие имеются????????

  Ответить  
 
 автор: Аленка   (21.10.2008 в 22:31)   личное сообщение
 
 

Мне не принципиально, поэтому если появляется несколько одинаковых записей, то Внутренний Номер можно взять у любой из них, допустим Первой или Последней - мне все равно. То есть никаких критериев нет.

  Ответить  
 
 автор: Гамлет   (21.10.2008 в 22:40)   личное сообщение
 
 

Есть таблица.
Поле1.......Поле2..........Поле3
200.............10.09.2008......Москва
NULL.............10.09.2008......Москва
NULL.............10.09.2008......Москва
NULL.............10.09.2008......Москва


ИМХО странные данные хранятся в таблице, больше похоже на данные для запроса.
ИМХО что-то не так с нормализацией (сомневаюсь что таблица с такими данными вообще нужна)

  Ответить  
 
 автор: Аленка   (21.10.2008 в 23:24)   личное сообщение
 
 

Это не таблица базы данных.
Соответственно ни о какой нормализации речи и не идет. Мой вопрос по дубликатам тоже касался этой таблицы. И дубликаты в ней возможны потому, что это не таблица базы данных.
Это детализация телефонных переговоров, которую я поместила в аксесс для анализа. В аксесе гораздо удобнее, чем в Икселе.

У меня получилось вот как:
1. Есть таблица с пустыми и заполненными полями Внутр. С помощью запроса на добавление и удаление я помещаю записи с пустыми полями Внутр в другую таблицу, а из исходной эти записи удаляю.
2. В запросе на выборку я связала обе таблицы по полям, по которым записи однозначно должны совпадать. В итоге записи второй таблицы получили значения поля Внутр идентичных записей первой таблицы.
3. Запрос на создание таблицы из всех записей предыдущего Запроса.
4. Из вновь созданной таблицы я выбираю все поля второй таблицы с полем Внутр, в котором все записи заполнены.
5. Запрос на добавление из предыдущего запроса всех записей в Исходную таблицу. Так как в исходной таблице поле Код является ключом, то в таблицу вставляются все записи, кроме дубликатов.

Я ПОЛУЧИЛА ТО, ЧТО ХОТЕЛА. НО В РЕЗУЛЬТАТЕ 5 ШАГОВ. Есть предложения по улучшению этой сложной схемы?

  Ответить  
 
 автор: Гамлет   (21.10.2008 в 23:42)   личное сообщение
 
 

А в чем вопрос?
Потрудитесь сформулировать

  Ответить  
 
 автор: Аленка   (22.10.2008 в 00:17)   личное сообщение
 
 

А я разве не формулировала? Не всегда получается формулировать как следует. Но в этот раз, по-моему, все сформулировано довольно понятно. См. выше.
В общем, я уменьшила все до 4 запросов. Можно в принципе и 3 при желании, но мне удобнее с 4. Да и схема не такая уж и муторная в общем получилась.
Хотя если кто предложит более эффективную схему по данному вопросу, буду только благодарна!

  Ответить  
 
 автор: Lukas   (22.10.2008 в 00:26)   личное сообщение
 
 

Откуда берутся исходные данные? Из какого формата? С бумаги? Распознавалка?

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList