2015-12-10 4 views
0

Может ли кто-нибудь просветить меня, почему этому оператору SQL (для Access 2010) дают мне ошибки?VBA SQL Update Issue

str_SQL = "UPDATE tbl_Main " & _ 
      "SET [Kundennummer] = (SELECT [Kundennummer] FROM tbl_Import " & _ 
      "WHERE " & _ 
      "tbl_Main.[CML_Vertragsnummer] = tbl_Import.[CML_Vertragsnummer]);"` 

Что нужно сделать, это обновить [Kundennummer] в tbl_Main из одной и той же колонки в tbl_Import, если запись найдена, где значение матча в [CML_Vertragsnummer] колонки.

Thanks

+0

Только если вы сообщите нам, что ошибка, а также указать, какие базы данных - SQL Server ?. И это также помогает, если вы публикуете фактический SQL, а не только строку. Я думаю, что знаю решение, но я только опубликую его, если вы ответите –

+0

Ошибка выполнения 3073, то есть весь sql :) Я запустил его с DoCmd.RunSQL (str_SQL) затем – jrdev22

ответ

2

Почему бы не присоединиться к столам?

UPDATE tbl_Main 
INNER JOIN tbl_Import ON tbl_Main.CML_Vertragsnummer = tbl_Import.CML_Vertragsnummer 
SET tbl_Main.Kundennummer = tbl_Import.Kundennummer; 

лучше тогда к югу выбрать и обновляемый :-)

+0

работает как шарм, люблю вас – jrdev22

+0

gern geschehen:) – cboden