|
|
|
| Исполmзую доступ к данным ADO
Dim rst As ADODB.Recordset
........
rst.Open " SELECT CLIENT.........
А как сортирануть уже созданный набор записей по нужному мне полю (MyField)?
rst.Sort ......
Вот пример из инета
Что значит строчка в примере : Set rstSort = rst.OpenRecordSet()
Function DAOSort()
Dim rst As RecordSet, rstSort As RecordSet, db As Database
Set db = DBEngine.WorkSpaces(0).Databases(0)
Set rst = db.OpenRecordset ("Фамилии",Db_Open_Dynaset)
rst.Sort = "Фамилия"
Set rstSort = rst.OpenRecordSet()
Debug.print "Неотсортированный список:"
Do until rst.Eof
Debug.Print rst!Фамилия
rst.MoveNext
Loop
Debug.Print "Сортировка по фамилии:"
Do Until rstSort.Eof
Debug.Print rstSort!Фамилия
RstSort.MoveNext
Loop
End Function
|
| |
|
| |
|
|
|
| Я пишу
rst_C.Sort = "ID_TRANSACTION"
|
А меня со словами - текущий поставщик не поддерживает интерфейсы с сортировкой выкидывают вон.
Может в ADO нельзя так?
Хотя после rst_C..... sort имеется в списке доступных свойств
и rst.Sort = "" - ошибки не вызывает | |
|
| |
|
|
|
|
| Давно подумываю. | |
|
| |
|
|
|
| у меня так
Set cs = Me.parent.zs
cs.Sort = "" & .Cell(0, 0, Col) & " ASC": cs.MoveFirst
|
не ругаеццо и даже работает | |
|
| |
|
|
|
| rstSort отсортированный рекордсет | |
|
| |
|
|
|
| В вашем примере используется DAO. Там для получения результата фильтра или сортировки нужно откріть другой RS.
В ADO фильтр и сортировка применяются тут же.
А вы уверены, что RS, в котором не получается сортировка не ForwardOnly? Переход на последнюю - первую получается? А наложение фильтра?
Покажите вашу строку подключения. | |
|
| |
|