Вместо того, чтобы пытаться использовать .Sort
и .FindFirst/.FindNext
, лучше открыть набор записей, который уже отфильтрован и упорядочен так, как вы хотите:
Sub sWine()
Dim db As DAO.Database
Dim rsData As DAO.Recordset
Dim strSQL As String
Dim strFormateDesNomVins As String
Dim typeVin As Long
typeVin = 1
Set db = DBEngine(0)(0)
strSQL = "SELECT NomVin FROM tblVins WHERE NoTypeVin=" & typeVin & " ORDER BY NomVin ASC;"
Set rsData = db.OpenRecordset(strSQL, dbOpenDynaset)
If Not (rsData.BOF And rsData.EOF) Then
Do
strFormateDesNomVins = strFormateDesNomVins & rsData!NomVin & vbCrLf
rsData.MoveNext
Loop Until rsData.EOF
End If
Debug.Print strFormateDesNomVins
rsData.Close
Set rsData = Nothing
Set db = Nothing
End Sub
В приведенном выше примере я создаю набор записей, основанный на tblVins
, отсортированный по NomVin
и имеющий только записи, в которых NoTypeVin
равен typeVin
(в данном случае 1). Привет