2013-06-21 2 views
0

무엇이 문제입니까? ListBox의 ComboBox에서 이름을 선택한 후에는 선택한 회사의 모든 직원을 표시해야합니다. 그리고 지금 내 문제는 항상 ListBox에서 선택한 회사의 직원 2 명만 표시합니다. 다음 코드는 표시 할 책임이 있습니다. 기록을 위해, 나는 VBA에서 새롭다. 그리고 물론, 내 질문은 왜 단지 두 명의 직원입니까?VBA에서 데이터베이스의 더 많은 데이터 (액세스)를 표시하는 방법은 무엇입니까?

절차 클릭 콤보 상자에서 선택한 기업에 :

Dim RecordSt As Recordset 
Dim db As Database 
Dim query As String 
Dim strKombi30 As String 
Dim i As Integer 

strKombi30 = Me.Kombi30.Value ''combobox 

query = "SELECT [Employees].[First name], [Employees].[Name] FROM" & _ 
"[Employees] WHERE [Employees].[Company] = '" & Me.Kombi30 

Set db = CurrentDb() 

Set RecordSt = db.OpenRecordset(query) 

RecordSt.MoveFirst 

For i = 0 To RecordSt.RecordCount 

    listContacts.AddItem (RecordSt.Fields("First name").Value & " " & RecordSt.Fields("Name").Value) 

    RecordSt.MoveNext 

Next i 
+1

(가)''에 ..' 라인 동안하지 RecordSt.EOF'와'Next'에'Loop'도 할 변경해보십시오 SQL 끝 부분에'& " '"'가 누락되어 있습니까? (여기에 주사로부터 보호해야합니다) –

+0

@ forlex가 쓴 것처럼'for loop ...'를'do while ... '으로 변경했습니다. 이제 모든 것이 제대로 작동합니다. 잃어버린'& " '"에 관해서는, 원래의 SQL 질의가'& "'"'에 좋기 때문에 분명히 코드의 끝을 복사하지 않고 코드를 복사했습니다. 당신의 대답에 감사드립니다. –

답변

1
strKombi30 = Me.Kombi30.Value ''combobox 

query = "SELECT [Employees].[First name], [Employees].[Name] FROM" & _ 
"[Employees] WHERE [Employees].[Company] = '" & strKombi30 & "'" 
+0

예, 알겠습니다. 'Me.Kombi30'을'strKombi30'으로 변경하는 것을 잊어 버렸습니다. 감사합니다. –

관련 문제