2017-01-30 1 views
1

В моем приложении доступа я пытаюсь связать существующее значение поля с новым значением, и у меня есть код, как указано ниже в VBA, я получаю ошибку 3075 «Синтаксическая ошибка без оператора»Ms Access SQL VBA query error no 3075

sUser = UserNameWindows 
' MsgBox sUser 
    currenttime = Format(Now(), "dd/mm/yyyy hh:mm:ss") 
SqlQuery = "UPDATE tbl_AllRequests " & _ 
" SET [Status]= 'Archived' " & _ 
", [History] = [History] & CHR(13) & CHR(10) & 'Archived on' " & currenttime & " ' by ' & '" + sUser + "' " & _ 
" WHERE [ID] in (" & selectedIDs & ")" 
'" SET [History] = concat([History], 'Archived on " & currenttime & " by '" & sUser & "'&')'&" & _ 
'data=concat(data, 'a') 
'SqlQuery = "UPDATE tbl_AllRequests SET Status = 'Archived' WHERE ID in (17, 11)" 
Debug.Print "this is new one " & SqlQuery 
DoCmd.RunSQL SqlQuery, True 

Я получаю сообщение об ошибке ниже строки кода.

", [History] = [History] & CHR(13) & CHR(10) & 'Archived on' " & currenttime & " ' by ' & '" + sUser + "' " & _ 

Если удалить код после 'Архивировано на' это работает.

Благодаря

+0

Изменить эту строку на '', [History] = [History] и CHR (13) & CHR (10) & 'Archived on' & "& currenttime &" & 'by' & '"+ sUser +"' «& _'. Обратите внимание на '&' after ''Archived on'' и до' 'by'' – zedfoxus

+0

Тем не менее он дает мне такую ​​же ошибку, новую строку кода после вашего предложения [Code]", [History] = [History] & CHR (13) & CHR (10) & 'Archived on' & "& currenttime &" & 'by' & '"+ sUser +"' "& _ [/ Code] – hdc

+0

Это потому, что текущее время - это значение даты? – hdc

ответ

0

Сначала это исправить:

currenttime = Format(Now(), "dd/mm/yyyy hh:nn:ss") 

Затем используйте только одиночные кавычки вокруг фиксированного текста:

", [History] = ([History] + CHR(13) + CHR(10)) & 'Archived on '" & currenttime & "' by '" & sUser & "" & _ 

Кроме того, это не имеет никакого смысла первого форматировать теперь к string, затем преобразуйте (с ошибками) значение даты, обернув его в octothorpes (# .. #), который - при объединении с строками - будет передан еще раз в строку.

+0

Я считаю формат года, месяца, дня более безопасным. – Fionnuala

+0

@Fionnuala: Моя первая мысль тоже, но здесь это только для показа. – Gustav