Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Про рекордсет / 2 сообщений из 2, страница 1 из 1
26.10.2016, 10:33
    #39334159
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Про рекордсет
Здравствуйте!

Есть excel-файл с данными. Нужно создать новый excel файл с теме же данными или в разрезе какого то города. Для решения использую рекордсет. Запускаю с таким текстом запроса
Код: sql
1.
"SELECT * FROM `Лист1$`"

или
Код: sql
1.
"SELECT * FROM `Лист1$` WHERE `Город` = " & @Город & "" 

Если у мер в первой строке присутствуют null, то данное поле превращается в текст.

Решить можно так:

1. Удалить звездочку и для каждой меры прописать так
Код: sql
1.
IIf(IsNull(`Мера`),Null,Val(`Мера`))

Но есть таблица с большим количеством мер, и со временем эти меры могут добавляться или удаляться. Получается запрос будет большим.

2. Саму исходную таблицу отсортировать по какой то мере, чтобы было от наибольшему к наименьшему. Конечно это решение не оптимальное. Есть риск, что в мере могут вообще отсутствовать данные. И преобразует в текст в конечном итоге.

Какие могут быть еще решения? Насколько возможно в рекордсете прописать такой нюанс? Может быть свойство специальное есть. Хотелось бы запрос написать более динамически, то есть использовать такую запись со звездочкой такого типа:
Код: sql
1.
"SELECT * FROM `Лист1$`"
...
Рейтинг: 0 / 0
26.10.2016, 16:22
    #39334588
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Про рекордсет
Данные рекордсета на excel лист вставляет так
Код: vbnet
1.
2.
Рекордсет.movefirst
Obook.Sheets("Лист1").Cells(2, 1).CopyFromRecordset Рекордсет


Может быть на этой стадии надо дополнительную обработку делать?
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Про рекордсет / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]