Я стажер в небольшой компании, которая делает некоторые исправления для 15-летней базы данных доступа, которая используется для отслеживания клиентов, рабочих мест и т. m пытается написать запрос на обновление и, похоже, не может работать так, как мне это нужно. Вот мое отношение.Обновление запроса в Access 2010-Update на основе совпадающих полей
У меня есть две таблицы. Один содержит информацию о компании. Другая содержит контактную информацию. Первичный ключ таблицы компаний также находится в таблице контактов, для отношения «один ко многим». Например, если компания имеет 3 контакта, номер CompanyID, который находится в первичном ключе таблицы компании, связан с тремя контактами в таблице контактов.
Хорошо. Теперь проблема заключается в том, что в форме, называемой «Компания», есть какой-то унаследованный код, который одновременно выполняет поиск как для контактов, так и для компаний. Проблема в том, что в таблице контактов есть поле «ContactCompany», которое используется этой старой функцией поиска. Если пользователь меняет название Компании в форме, название Компании обновляется в таблице Компании, но НЕ в таблице «Контакты».
Я решил, что запрос на обновление будет таким путем, чтобы синхронизировать информацию об имени компании в обеих формах. Я попытался спроектировать его так, чтобы, если идентификационные номера совпадали между таблицами, название компании в таблице компании было бы скопировано в таблицу контактов. Мой код ниже:
UPDATE Company INNER JOIN Contacts ON (Company.ID = Contacts.CompanyID) AND (Company.ContactCompany = Contacts.ContactCompany) SET Contacts.ContactCompany = [Company].[ContactCompany] WHERE (([Contacts].[CompanyID]=[Company].[ID]));
При запуске Access запрос говорит мне, что это обновление X количество записей, но записи не обновляются.
Обратите внимание: я использовал построитель запросов; код SQL был автоматически сгенерирован путем доступа, когда я перехожу в представление SQL.
Я не очень опытен с VB; все мои знания были из материалов для Google. Если кто-то может дать мне несколько указаний на то, что я делаю неправильно или как действовать, я был бы благодарен. Благодаря!
Здравствуйте Someguy Добро пожаловать в StackOverflow, в следующий раз попытаться обеспечить [** SqlFiddle **] (HTTP : //sqlfiddle.com/#! 15/5368b/6), чтобы мы могли лучше понять проблему и дать вам ответ намного быстрее. Также прочитайте [** Как спросить **] (http: // stackoverflow. com/help/how-to-ask) и [** Как создать минимальную , Complete и Verifiable. **] (http://stackoverflow.com/help/mcve) –
Спасибо, я не знал о SqlFiddle. – someguy