как упорядочтить рекордсет

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

как упорядочтить рекордсет

Сообщение Sirik » 24.01.2006 (Вт) 11:25

создаю вот так:
RR As New ADODB.Recordset

структура, например, вот такая:
With RR.Fields
.Append "NameCom", adBSTR, , adFldUnknownUpdatable
For i = 1 To 14
.Append "N" & i, adInteger, , adFldUnknownUpdatable
.Append "P" & i, adInteger, , adFldUnknownUpdatable
Next i
.Append "S", adInteger, , adFldUnknownUpdatable
End With
RR.Open

как упорядочить рекодсет по алфавиту по полю NameCom ?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 24.01.2006 (Вт) 11:32

RTFM.
.sort="NameCom ASC"
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Сообщение Sirik » 24.01.2006 (Вт) 11:38

ага, только тут уместна ошибка -3265

зы. метод Sort использовать после обяъвления структуры рекорсета или после добавления всех данных?
[/quote]

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 24.01.2006 (Вт) 12:05

если ты хочешь колоночки свои расположить по-порядку, то только ручками при создании рекордсета, а если данные отсортировать по конкретным колонкам, то тебе уже сказали как

Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Сообщение Sirik » 24.01.2006 (Вт) 18:05

надо отсортировать относительно поля NameCom

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 24.01.2006 (Вт) 18:18

и в чем проблема :?:

GSerg тебе уже сказал, как надо делать

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 24.01.2006 (Вт) 18:42

Konst_One писал(а):и в чем проблема :?:


Наверное в том, что такой код бьет ошибку:
Код: Выделить всё

With RR.Fields
    .Append "NameCom", adBSTR, , adFldUpdatable
    .Append "S", adInteger, , adFldUnknownUpdatable
End With
    RR.Open
   
    RR.AddNew
    RR.Fields(0).Value = "aaa"
    RR.Fields(1).Value = 1
    RR.Update
    RR.AddNew
    RR.Fields(0).Value = "ccc"
    RR.Fields(1).Value = 3
    RR.Update
    RR.AddNew
    RR.Fields(0).Value = "bbb"
    RR.Fields(1).Value = 2
    RR.Update
   
    RR.Sort = "NameCom asc"


Хотя:
Код: Выделить всё

RR.Sort = "S asc"

отрабатывает без вопросов и правильно.
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 24.01.2006 (Вт) 19:09

В объявлении поля смени тип:
Код: Выделить всё
.Append "NameCom", adVarWChar, 4000

Проверено, работает на MDAC 2.8 SP1. Почему так - точно не знаю; скорее всего, потому, что выбираемый тобой тип поля не является нативным практ. ни для одной СУБД и потому автоматом подменяется на adLongVarWChar (можешь сам проверить). Поскольку заменитель является, по сути, BLOB-типом, то сортировать по нему так вот просто ADO не дает.

Да, предел такого поведения тоже имеется - 4679. Ну или *2, если adVarChar, видимо...

Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Сообщение Sirik » 25.01.2006 (Ср) 10:30

2 Ennor, самое интересное, что твой код работоспособный!
огромное человеческое спасибо!


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

    TopList