2017-01-30 1 views
1

내 Access 응용 프로그램에서 기존 필드 값을 새 값으로 연결하려고합니다. VBA로 작성된 코드가 아래와 같습니다. 오류 3075가 발생합니다. "구문 오류 누락 연산자"Ms Access SQL VBA 쿼리 오류 없음 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

해당 줄을 '& s "+ sUser +"'및 'History'= [History] & CHR (10) & ' "& _'. ''Archived on ''이전과''by ''전에 알리기 – zedfoxus

+0

여전히 제안 [Code] ", [History] = [History] & CHR (13) 다음에 새로운 오류 코드가 나타납니다.) & '[+ Code] – hdc

+0

은 현재 시간이 날짜 값이기 때문에 & CHR (10) &'Archived on '&'& currenttime & "& '&'"+ sUser + " '& – hdc

답변

0

먼저이 문제를 해결 :

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

그런 다음, 고정 된 텍스트 주위에만 작은 따옴표를 사용 또한

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

, 그것은 처음에 지금의 형식을 이해되지 않는다 문자열 표현식으로 변환 한 다음 오류와 함께 날짜 값을 문자열로 연결된 경우 문자열로 다시 캐스팅 할 octothorpes (# .. #)로 묶어 변환합니다.

+0

나는 1 년, 1 개월, 1 일 형식을 훨씬 더 안전하게 찾을 수 있습니다. – Fionnuala

+0

@ Fionnuala : 저의 첫 번째 생각뿐입니다.하지만 여기서는 전시용입니다. – Gustav