でアクセスを一緒に学習するプロセスでいますが、試してみてください。
Dim ages(), name As String
Dim y, x, i As Integer
Dim rs As Recordset
name = Me.textbox1.Value
Set rs = CurrentDb.OpenRecordset("Select * from data Where name = '" & name & "'")
With rs
.MoveLast
x = .RecordCount
.MoveFirst
ReDim ages(1 To (x + 1))
Do Until rs.EOF
y = y + 1
If y = 1 Then
ages(y) = ![age]
Else
For i = 1 To y
If ages(y) = ages(i) And y <> i Then
ages(y) = "skip"
GoTo exiter
Else
'fine
ages(y) = ![age]
End If
Next i
End If
exiter:
.MoveNext
Loop
.Close
End With
y = 0
For y = 1 To x
If ages(y) <> "skip" Then
ages(x + 1) = ages(x + 1) & ages(y) & ","
End If
Next y
'feel free to change form msgbox to whatever form object you want
MsgBox " Entries in this List with the name " & name _
& vbNewLine & ages(x + 1)
あなたが望むならば、vbの新しい行を削除し、msgboxをテキストボックスに置き換えてください
私はこのようなことをすべて調べて、あなたのコードを動作させようとしています。 Do Loopのif文の1つに「End If'?私はそれが 'Next i'の後に行くと信じていますが、私はそれを行いました。しかし、それは他の年齢を持つ名前を入れたときに見えます。最後のdosentのmsgboxは表示されますが、年齢のない、テーブルでは、msgboxはもちろん空の空をポップアップします。 – Kayracer
よろしくお願いします。次i'と ''の間で以下の変更は、あなたが必要なものを与える必要があり@RayceNeal – scott
をexiter'場合は終了する必要があります: ' X = .RecordCount .MoveFirst' とも '年齢であれば(Yを.MoveLast )= age(i)そしてy <> i Then ' – scott