Я надеюсь, что кто-то может помочь мне с этим:
У меня есть простой запрос, объединяющий список имен и основных сведений с другой таблицей, содержащей более конкретную информацию. Некоторые имена обязательно будут появляться более одного раза, и произвольные различия, такие как «Джон Смит 1» и «Джон Смит 2», недопустимы, поэтому я использовал автонумерацию, чтобы записи отличались друг от друга.
Проблема в том, что мой запрос создает две записи для каждого имени, которое появляется более одного раза. Например, есть два клиента с именем «Sophoan», каждый с другим идентификационным номером, и запрос подобрался к каждому из них дважды, что привело к четырем записям (всего имеется 122 записи, а должно быть только 102). «Уникальные значения» установлены на «да».
Я исследовал столько, сколько мог, и полностью застрял. Я пытался возиться с sql, но он всегда возвращался с ошибками, я полагаю, потому что в запросе слишком много полей.
Что мне не хватает? Или запрос - неправильный подход, и мне нужно найти другой способ объединить мои таблицы?
Проект в деталях: я создаю базу данных для благотворительной организации, которая занимается двумя основными видами деятельности: социальной работой и обучением. База данных предназначена для записи информации об их клиентах и результатах их взаимодействия с клиентами (проблемы, с которыми они обращались за помощью, результаты обучающих семинаров и т. д.). Некоторые клиенты будут переходить между действиями, которые организация хочет отслеживать, поэтому все зарегистрированные клиенты попадают в один список, а отдельные таблицы включают его для сбора данных для каждого конкретного действия, в котором участвует клиент. Этот запрос должен быть моим решением для объединение этих таблиц для ввода данных пользователем.
На данный момент у меня есть следующие таблицы:
- AllList (основной список имен клиентов и основная контактная информация; «Реестр социальной работы» и «Регистр участников» присоединяются к этой таблице по «Имени»)
- Реестр социальной работы (список клиентов социальной работы с полной информацией о каждом случае)
- Таблица последующих действий социальной работы (используется, когда сотрудники звонят клиентам социальной работы, чтобы узнать, как продвигается их проблема; в реестре слишком много столбцов для этого; присоединяются к реестру по «Имени клиента»)
- Регистрация участников (список клиентов для обучения и подробная информация о том, какие семинары они посетили и почему они отсутствовали, если пропустили занятие)
- Индивидуальные таблицы семинаров x14 (каждый семинар включает в себя тест, и в этих таблицах записываются ответы клиентов и их баллы по каждому отдельному тесту; когда база данных будет завершена, их будет более 20; Имя')
Запросы:
- Запрос обзора участников (связывает данные о посещаемости из «Регистра» с данными об оценках по каждому семинару, чтобы представить обзор только для чтения; этот, кажется, работает отлично)
- Запрос Social Work (нефункциональный; предназначен для связывания «Регистра клиентов» с «Всем списком» для ввода данных, чтобы при регистрации нового клиента
он создавал новую запись в обеих таблицах с записями
совпало) - Запрос участника (еще не предпринимался; как указано выше, предназначен для привязки «Регистра участника» к «Всему списку» для ввода данных)
НО Я понял, что запросы нельзя использовать для ввода данных, поэтому этот подход кажется тупиковым. У меня был некоторый успех в использовании подчиненных форм для ввода данных, но я не уверен, что это лучший способ.
Итак, что я в основном надеюсь достичь, так это способ одновременного ввода одних и тех же данных в две таблицы (для новых записей) и сопоставления полученных записей (для новых записей с существующими записями). Но должна быть возможность, чтобы одно и то же имя появлялось более одного раза в виде уникальной записи (например, три человека по имени Джон Смит).
[Примечание. Есть и другие таблицы, в которых хранится вторичная информация, но они не имеют отношения к проблеме, поскольку они не связаны и не будут связаны с какими-либо другими таблицами.]