2009-10-23 3 views
0

Я пытаюсь использовать запрос обновления для обновления первых трех символов строки. но я получаю ошибку синтаксисаЗапрос на обновление доступа к MS для обновления части строки

мой запрос

update table1, table 2 set left(table1.stringfield, 3) = table2.stringfield 

thankstksy

+0

Какая ошибка? –

ответ

4

ОК, есть несколько вещей,

Во-первых, ваш набор утверждение должно выглядеть примерно так

set table1.stringfield = Left(table2.stringfield, 3) _ 
          + mid$(table1.stringfield, 4) 

Это займет первые 3 символа из таблицы2.stringfield, а символы от 4 и далее в table1.stringfield.

Это приведет к проблемам, если table1.stringfield длиной менее 4-х символов, вы можете что-то вроде

set table1.stringfield = Left(table2.stringfield, 3) + 
iif(len(table1.stringfield) > 3, mid$(table1.stringfield, 4), "") 

Во-вторых, вам нужно соединить две таблицы вместе, у меня нет под рукой MSAccess на данный момент самый простой способ сделать это - поставить прямой запрос на обновление вместе с дизайнером, а затем взглянуть на представление SQL для этого запроса.

Надеюсь, что это поможет :)

Смежные вопросы