그래서 DeptA, DeptB, DeptC & DeptD와 같은 값을 가진 하나의 목록 상자가 있습니다. 적용 가능한 경우 자동으로이 목록 상자에 채워지도록하는 메서드가 있습니다. 즉,이 목록 상자에 값이 채워지는 경우 결과 논리가 테이블의 부울 필드에서 "예"라고 말하고 싶습니다. 그래서 VBA - 액세스 03 - 목록 상자를 반복하면서 평가할 if 문을 사용합니다.
내가 먼저 목록 상자를 통해 순환 반복이 예제를 사용하는 것을 시도하고이를 달성하기 위해, 그리고 그것을 잘 작동합니다 :dim i as integer
dim myval as string
For i = o to me.lstResults.listcount - 1
myVal = lstResults.itemdata(i)
Next i
내가 myval을 Debug.Print 경우, 내가 목록을 가져 목록 상자에서 원하는 데이터 항목을 가져옵니다. 그래서 지금은 그 일을해야 테이블을 업데이 트하는 SQL 문을 UPDATE 할 수 있도록 그 목록을 평가하려고합니다.
그래서, 나는이 잘못 알고 있지만, 내가 (당신은 내가 여기에 도착하기 위해 노력하고 볼 수 있도록 예제로 제공) 그래서
dim sql as string
dim i as integer
dim myval as string
dim db as database
sql = "UPDATE tblMain SET "
for i = 0 to me.lstResults.listcount - 1
myval = lstResults.itemdata(i)
If MyVal = "DeptA" Then
sql = sql & "DeptA = Yes"
ElseIF myval = "DeptB" Then
sql = sql & "DeptB = Yes"
ElseIf MyVal = "DeptC" Then
sql = sql & "DeptC = Yes"
ElseIf MyVal = "DeptD" Then
sql = sql & "DeptD = Yes"
End If
Next i
debug.print (sql)
sql = sql & ";"
set db= currentdb
db.execute(sql)
msgbox "Good Luck!"
을하려고 노력 무엇인가 이 값 (DeptA, DeptB 등)이 자동으로 채워지는 목록 상자가 동적이기 때문에 이것이 왜 문제를 일으키는 지 알 수 있습니다 .... 목록 상자에는 값이 거의없고 OrderID 당 값 목록이 변경됩니다 나는 이것을 사용하여 처음에 정보를 채 웁니다. 고유 한 인스턴스).
나는 한 번에 하나씩이 목록을 평가할 (즉, 값 목록을 반복하고 "DeptA"를 찾고, 발견되면 SQL 문자열에 yes를 추가 할 항목을 찾고있다. SQL 문자열에 no를 추가 한 후 다음 반복을 실행합니다.) 비록 목록 상자가 값을 동적으로 채우지 만, 그 값은 설정된 값입니다. 결국 그 값으로 끝날 수 있습니다. 어떤 도움
감사합니다, 저스틴
목록 상자의 행 원본 및 행 원본 유형은 무엇입니까? – Fionnuala
당신이이 질문에 주어진 조언을 따르지 못하는 것 같습니다. http://stackoverflow.com/questions/2921454/access-2007-vba-building-a-listbox-with-selection-choices-from- another-list-box - 대답을 받아 들였지만, 서브 폼을 사용할 때 목록 상자를 사용하려고합니다. –
@Remou : Type = ValueList 및 Row Source = "" – Justin