1
설명 필드에서 상태 값을 가져 오려고하는 경우가 있습니다. 그러나 상태에 따라 일부 열을 변경해야합니다. 그래서 여기 내가VBA/SQL : WHERE 절에서 Function을 사용하여 SQL을 작성하는 방법은 무엇입니까?
설명 예제이 무엇인가 : 관리 EXECUTIVE CTJACKSONVILLE.FL.32216-4041
Function getState(description As String) As String
Dim s() As String
s = Split(description, ".")
getState = s(UBound(s) - 1)
End Function
나는 그것이 올바른 국가 약어를 반환 여부를 경우에 따라 일부 열을 변경하고 싶습니다. 값이 유효한 상태를 반환하지 않으면 송장에 플래그를 지정하고 싶습니다. 이렇게 뭔가가 ...
UPDATE tblInvoices
SET [Invoice Flag] = True
Where getState(description) <> ValidStates.Abbreviation
그 라인을 따라 뭔가. 초심자를 유감스럽게 생각합니다. 어떤 도움을 주셔서 감사합니다!
내가 함수가 될 수있는 부울Function isValidState(st As String) As Boolean
Select Case st
Case "AL", "FL", "NY" ...
isValidState = True
Case Else
isValidState = False
End Select
End Function
또 다른 방법은 모든 상태 코드와 테이블을 가지고있다 반환 isValidState()
라는 만들 것
죄송합니다 - 어떻게 내가 이것을 Invoice Flag를 True로 변경해야하는 SQL 쿼리에 넣을 수 있습니까? 내 질문에 것 같아요, SQL 쿼리 내에서 함수를 실행하는 결합 할 수 있습니까? – user2296381
우수, 감사합니다! – user2296381
죄송합니다. 마지막 문제가 하나 있습니다. 함수를 실행하지 않았으므로 Access에서 따옴표를 붙일 필요가 있는지 모르겠습니다. 계속 오류가 발생합니다. "컴파일 오류 : 예상 식"... 따옴표가 필요한 위치를 모르겠다. & CurrentDb.Execute "UPDATE Processing"& _ "SET [Comments] = '모든 PO 회선을 검토하십시오. [Invoice Flag] = True "& _ "WHERE "& isValidState (getState (&"[Inv Description] "&)) – user2296381