Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/33: Рейтинг темы: голосов - 33, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 01.03.2011
Сообщений: 44

Сравнение двух таблиц по отдельным полям

14.01.2012, 11:59. Показов 6388. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сравнение 2 (двух) БД(таблиц) Access по отдельным полям

Здравствуйте, передо мной легла такая задача, есть старая БД 2011 года, недавно дали новую базу 2012 года и сказали

сравнить между собой.
Что имеем:
БД2011 поля:
Товар | Дата | Поставщик | Примечание | Учёт | Год

БД2012 поля:
Товар | Дата | Поставщик | Год

Примерной такой алгоритм у меня получился:

1)Берем поле Товар и Дата из БД2011 и ищем его в БД2012,
2)Если нашли: если находим сверяем поле поставщик, если сходятся, ничего не делаем,
если не сходится, то в БД2011 в поле год ставим "--", а в БД2012 в поле год ставим "++"
3) Если не нашли: в поле год ставим "--"

4) Теперь берем поля Товар и Дата из БД2012 и ищем их в БД2011, если не находим то добавляем эту запись в БД2011, вот как-то так)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.01.2012, 11:59
Ответы с готовыми решениями:

Корректный sql запрос по двум полям двух таблиц
Делаю первые шажки в составлении sql-запросов, вот столкнулся с таким вопросом: есть таблицы: Имя(id_name,name) ...

Сортировка в структуре по отдельным полям
#include "stdafx.h" #include <cstdlib> #include <iostream> #include <fstream> #include <string> #include <vector> #include...

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

7
 Аватар для Ameli
2096 / 1172 / 39
Регистрация: 05.11.2009
Сообщений: 1,605
14.01.2012, 14:08
1) Ищем совпадения по Товару и Дате, обновляем поля Год и одной и второй таблицы, если Поставщики не совпадают: создаем запрос, добавляем обе таблицы, связываем по товару и дате, меняем тип запроса На обновление, в строке обновление полей Год пишем IIF([БД2011]![Поставщик]<>[БД2012]![Поставщик];"--") или "++" для поля Год таблицы БД2012.
2) Ищем не совпадения по Товару и Дате БД2011 и БД2012, обновляем Год 2011 на "--": создаем запрос "записи без подчиненных" по двум полям (мастером можно создать по одному, а потом в конструкторе по аналогии добавить второе поле), тип запроса меняем на Обновление, в строке обновление поля Год пишем "--"
3) Аналогично создаем запрос "записи без подчиненных", обратный предыдущему, меняем тип запроса на Добавление.
Вложения
Тип файла: rar Сравнение двух таблиц.rar (17.3 Кб, 190 просмотров)
1
0 / 0 / 0
Регистрация: 01.03.2011
Сообщений: 44
15.01.2012, 12:22  [ТС]
Цитата Сообщение от Ameli Посмотреть сообщение
1) Ищем совпадения по Товару и Дате, обновляем поля Год и одной и второй таблицы,
А тут с чего начать не подскажете?)
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
15.01.2012, 13:35
ключевые поля в таблицах есть?
если комбинация товар-дата-поставщик не повторяется в таблице, то попробуйте:
SQL
1
SELECT * FROM БД2011 AS a LEFT JOIN БД2012 AS b ON a.товар&дата&поставщик = b.товар&дата&поставщик WHERE b.товар&дата&поставщик IS NULL
1
0 / 0 / 0
Регистрация: 01.03.2011
Сообщений: 44
15.01.2012, 16:42  [ТС]
Все спасибо, как найти совпадения нашел (http://office.microsoft.com/ru... 05130.aspx) и вроде разобрался с 1) пунктом,
теперь
Цитата Сообщение от Ameli Посмотреть сообщение
2) Ищем не совпадения по Товару и Дате БД2011 и БД2012,
с этим разбираюсь)


почти разобрался)

Добавлено через 2 часа 52 минуты
На 3ем пункте когда меняю тип запроса на добавление, появляется окно где выбираю добавить в БД2011, затем нажимаю выполнить и выдает "Повторение получателя 'Товар'"
0
 Аватар для Ameli
2096 / 1172 / 39
Регистрация: 05.11.2009
Сообщений: 1,605
15.01.2012, 17:27
В строке Добавление надо убрать Товар из последней колонки Товар, где идет условие отбора = Null. В этой строке уже есть добавление товара
1
0 / 0 / 0
Регистрация: 01.03.2011
Сообщений: 44
17.01.2012, 11:35  [ТС]
Цитата Сообщение от Ameli Посмотреть сообщение
в строке обновление полей Год пишем IIF([БД2011]![Поставщик]<>[БД2012]![Поставщик];"--")
Можно ли здесь если поля поставщик не совпадают, обновить значение ячейки Бд2011!Поставщик значением БД2012!Поставщик, а в поле ГОД где уже есть значение "--" дописать "++"
0
 Аватар для Ameli
2096 / 1172 / 39
Регистрация: 05.11.2009
Сообщений: 1,605
17.01.2012, 11:44
IIF([БД2011]![Поставщик]<>[БД2012]![Поставщик];IIF(Not IsNull([Год]);БД2012!Поставщик;"--"))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.01.2012, 11:44
Помогаю со студенческими работами здесь

Сравнение двух таблиц
Imeyetsya dve tablici 'TAB1' i 'TAB2' v kajdoy iznix po odnoy kolonki 'DocumentNo', okolo 1000 zapisey tipa 'Text', bolshinstvo zapisey v...

Сравнение двух таблиц
Здравствуйте.. Помогите пожалуйста.... Заранее спасибо!!!!!!! Например у нас есть таблица t1 и t2 в таблице t1 есть два атрибута,...

Сравнение двух таблиц
Здравствуйте уважаемые форумчане. подскажите как оптимальней реализовать следующую задачу: Необходимо проверить две табличные части на...

Сравнение двух таблиц
Здравсвтуйте, я с access и SQL на &quot;Вы&quot;, очень прошу помогите решить задачку - сформировать SQL запрос для Access Есть две таблицы...

Сравнение двух таблиц
Добрый день. Конфигурация Управление торговлей 10.3.29.1. Необходимо сравнить таблицы &quot;Товары&quot; всех документов...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru