Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> VBA+ACCESS+SORT'ировка 
:(
    Опции темы
SectoR
Дата 5.10.2006, 00:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 5.10.2005

Репутация: нет
Всего: нет



Может у кого-нибудь есть примерчики smile сортировки таблиц на VBA, а именно указываем имя столбца и как сортировать (возрастание, убывание)...
Написал на Builder'е, но препод требует на VBA )) LoL! 
PM   Вверх
Akina
Дата 5.10.2006, 08:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



Где таблицы? в каком формате? В каком приложении сортировать?

У приложения (любого Офисного) есть встроенные методы сортировки - надо только указать. А на ВБА - запиши макрос вызова соотв. сортировки и посмотри полученный текст.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
SectoR
Дата 5.10.2006, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 5.10.2005

Репутация: нет
Всего: нет



Akina, в названии темы ведь указано! Что тут непонятного?
Сортировать любой столбец Access'овской таблицы (filename.mdb)
(В идеале вводить имя столбца через GUI и по этому столбцу сортировать таблицу, указав также в каком порядке: возрастание, убывание).

Я тут кое что накодил сегодня, вот:
Код

Option Compare Database


Public Sub BVCON()
Dim cn As New ADODB.Connection
cn.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;User ID=root;Extended Properties=DBQ=C:\db1.mdb;DefaultDir=C:\;Driver={Driver do Microsoft Access (*.mdb)};DriverId=25;FIL=MS Access;FILEDSN=C:\db1.mdb.dsn;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Threads=3;UID=admin;UserCommitSync=Yes;Initial Catalog=C:\db1"
cn.Open
Dim rs As New ADODB.Recordset
rs.CursorType = adOpenStatic
rs.LockType = adLockOptimistic
rs.CursorLocation = adUseClient
rs.Open "table1", cn
rs.Sort = "numbers"
rs.Update
MsgBox rs.GetString


End Sub



Результат сортировки выводится в MessageBox, а в таблице все остается как было! Кароче, как мне применительно к таблице то же самое сделать?
PM   Вверх
Akina
Дата 5.10.2006, 22:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



SectoR
Пойми, пожалуйста, одну простую вещь - в таблице реляционной, нефайловой, базы данных понятие сортировки НЕ СУЩЕСТВУЕТ.
Существует понятие сортировки при выводе (на экран, принтер) либо обработке таблицы - однако это уже не таблица, а выборка из нее, возможно содержащая все записи.

Применительно к твоему случаю - достаточно построить строку SQL-запроса и использовать ее как источник данных рекордсета:

Код

strSQL = "SELECT * FROM MyTable ORDER BY " & strFieldNameSortBy & " " & IIF(boolSortingOrder, "ASC", "DESC")
Set db = CurrentDB
Set rst = db.OpenRecordset strSQL

Далее полученные в рекордсет записи обрабатываешь поштучно, скидывая инфу в переменную, а ее потом выводишь на экран
Код

rst.MoveFirst
strData = ""
While Not rst.EOF
   strData = strData & rst!Field1 & " " & rst!Filed2 & vbNewLine
   rst.MoveNext
Wend
MsgBox strData




--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
SectoR
Дата 5.10.2006, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 5.10.2005

Репутация: нет
Всего: нет



Нужно без использования SQL! Ладно - что нибудь придумаю...
PM   Вверх
Germes
Дата 6.10.2006, 00:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 28.9.2006

Репутация: нет
Всего: нет



Люди. Кто-нибудь знает можно ли использовать базы сделаные в acsess под юникс?
PM MAIL   Вверх
Cyric
Дата 6.10.2006, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 27.4.2006
Где: Россия, г. Казань .

Репутация: 3
Всего: 3



Цитата(Germes @ 6.10.2006,  00:13)
Люди. Кто-нибудь знает можно ли использовать базы сделаные в acsess под юникс?

http://mdbtools.sourceforge.net/
PM MAIL ICQ   Вверх
SectoR
Дата 6.10.2006, 20:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 5.10.2005

Репутация: нет
Всего: нет



Цитата(Germes @  6.10.2006,  00:13 Найти цитируемый пост)
юди. Кто-нибудь знает можно ли использовать базы сделаные в acsess под юникс?

Ну а почему нет!

PM   Вверх
likhobory
Дата 7.10.2006, 01:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 466
Регистрация: 17.5.2005
Где: Москва

Репутация: 10
Всего: 20



возможно речь об OrderByOn/OrderBy, но опять же применительно к форме/отчету


--------------------
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0495 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.