2014-09-01 2 views
0

고려 : 만 null가 아닌 경우에 address_line_2를 표시하는 난이 수행 할 작업을액세스 2002/VBA -하여 IIf

sqlAddress = "SELECT " _ 
& "address_line_1, address_line_2, city, postcode, state " _ 
& "FROM contacts " _ 
& "WHERE (contact_id =" & contact_id & ")" 

Set rsAddress = dbs.OpenRecordset(sqlAddress) 

If Not rsAddress.EOF Then 
    addressStr = IIf(rsAddress("address_line_2")='', rsAddress("address_line_1") & Chr(13) + Chr(10) & rsAddress("city") & Chr(13) + Chr(10) & rsAddress("postcode") & Chr(13) + Chr(10) & rsAddress("state"), rsAddress("address_line_1") & Chr(13) + Chr(10) & rsAddress("address_line_2") & Chr(13) + Chr(10) & rsAddress("city") & Chr(13) + Chr(10) & rsAddress("postcode") & Chr(13) + Chr(10) & rsAddress("state")) 
    Me.vcTBAddress.SetFocus 
    Me.vcTBAddress = addressStr 
End If 

이며, 빈 문자열이 아니다. IIf가 구문 오류를 반환하고 있습니다. 왜 보이지 않는데 - 내가 뭘 놓치고 있니?

+1

'rsAddress ("address_line_2") = '''를'rsAddress ("address_line_2") = ""'로 변경하십시오. – Matt

답변

1

대답은 물론 빈 문자열 테스트를 채웠다는 것입니다. rsAddress("address_line_2")=''.

올바른 구문은 rsAddress("address_line_2")=""입니다. 큰 따옴표는 "이고, 작은 따옴표는 '이 아닙니다.

+0

실수가 발생합니다. 당신이 그 (것)들에게서 배울 한 아무 해든지 해. – Matt