![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Форумчанин
Регистрация: 09.06.2011
Сообщений: 515
|
![]()
Добрый вечер.
Уважаемые програмисты, может кто-то встречался с проблемой загрузки данных из рекордсета в таблицу. Краткое описание: 1. Создал процедурку создания таблицы с полями из рекордсет (запросы рекордсета будут разные, сразным количеством столбцов и т.д, поэтому пытаюсь создать универсальный инструмент) 2. Попытался присвоить добавленным полям формат значений из рекордсет (явно не очень успешно но не критично) Код:
Заранее спасибо за помощь |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 09.06.2011
Сообщений: 388
|
![]()
Доброго.
Формируйте для каждой записи рекордсета запрос на добавление. Если откроете "секрет" формирования рекордсета то можно будет подумать ...
на неконкретные вопросы даю неконкретные ответы ...
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 19.07.2012
Сообщений: 520
|
![]()
Может быть, Вам стоит сразу воспользоваться запросом на создание таблицы? Тогда проблемы разных количества столбцов и форматов данных сразу отпадают...
Окупант, руки прочь от Украины!!! Слава Героям!
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 09.06.2011
Сообщений: 515
|
![]()
Доброе утро.
Уважаемые програмисты, проблема и состоит в Код:
Может кто-то делал что-то подобное? Пока появилась идея загнать всё в массив и сделать что-то типа импорта, но не уверен что такое выйдет..... Myhaylo, я думал над этим, НО получилась такая ситуация, что все запросы на 100% будут генерироваться не мной, а соответственно на 100% они будут как запросы на выборку..... Лень - двигатель прогресса. Последний раз редактировалось gluk_fm; 28.11.2012 в 11:43. |
![]() |
![]() |
![]() |
#5 |
Участник клуба
Регистрация: 10.08.2009
Сообщений: 1,796
|
![]()
Здравствуйте gluk_fm.
Вы не думали применить Excel для решения задачи? С его применением задача может быть решена за семь шагов: 1. создать сессию Excel - . 2. открыть файл шаблон/заготовку. 3. выложить на лист рекордсет. 4. сохранить и закрыть файл и Excel. 5. изменить SQL конструкцию существующего запроса обращением к внешней таблице Excel. 6. удалить существующую таблицу. 7. создать таблицу. В коде это может выполняться так: Код:
Евгений. Последний раз редактировалось Teslenko_EA; 29.11.2012 в 00:20. |
![]() |
![]() |
![]() |
#6 | |
Форумчанин
Регистрация: 19.07.2012
Сообщений: 520
|
![]() Цитата:
SELECT Запрос1.* INTO НоваяТаблица FROM Запрос1;
Окупант, руки прочь от Украины!!! Слава Героям!
|
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 09.06.2011
Сообщений: 515
|
![]()
Доброе утро, уважаемые програмисты.
"Myhaylo" к сожалению такой вариант как Вы предложили не пройдёт (или может я не правильно его понял) по причине выемки запросов на выборку из внешних источников, что не позволит его сохранять как запрос. Уважаемый "Teslenko_EA", Вы как всегда даёте толковые советы, но к сожалению/радости мне хотелось бы уйти от использования "Excel", так как данные процедуры хочу написать для выполнения в моё отстуствие, а на данном компьютере паралельно будут выполнятся макросы екселя что непременно приведёт к сбою..... Пока возникла идея сгенерировать из запроса на выборку запрос на добавление, что-то вроде: Код:
Код:
Спасибо "Teslenko_EA" в случае если не найду варианта решения буду пробовать Ваш вариант с доработкой: При запуске процедуры, останавливать действующие макросы (или вгонять их в sleep) и через Event (если не ошибаюсь) прокручивать данную процедуру..... Последний раз редактировалось gluk_fm; 29.11.2012 в 11:18. |
![]() |
![]() |
![]() |
#8 | |
Участник клуба
Регистрация: 10.08.2009
Сообщений: 1,796
|
![]()
gluk_fm, Ваши опасения по поводу "..паралельно будут выполнятся макросы екселя что непременно приведёт к сбою.."
напрасны. в коде выполняется команда: CreateObject("Excel.Application") (а не GetObject(, "Excel.Application")) Следовательно создается новая, не зависящая от работающей сессия Excel, именно об этом я писал: Цитата:
не отображаясь и не доставляя проблем работающим приложениям. Евгений. P.S. все свои сообщения я подписываю в надежде, что обращаться ко мне будут по имени. Последний раз редактировалось Teslenko_EA; 29.11.2012 в 19:45. |
|
![]() |
![]() |
![]() |
#9 | |
Форумчанин
Регистрация: 19.07.2012
Сообщений: 520
|
![]() Цитата:
Или у Вас будет "виртуальный" RecordSet? Вот зря Вы не ответили Step_UA...
Окупант, руки прочь от Украины!!! Слава Героям!
|
|
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 09.06.2011
Сообщений: 515
|
![]()
Добрый день.
Спасибо что помогаете с моей проблемой. Обьяснение: Виртуальный не рекордсет - а источники получения в нём, тоесть конект.... Так что даже если я и сохраню его как запрос толку с этого не будет.... На данный момент есть рекордсет и пустая таблица с такими же именами полей, как можно написать запрос на добавление из запроса на выборку при динамическом количестве полей? Присер запроса: Код:
Спасибо, Евгений я думаю что данный вариант я смогу использовать, если не получится всётаки пройти по пути который я наметил. Последний раз редактировалось gluk_fm; 30.11.2012 в 17:54. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Добавление записи в таблицу через таблицу | Anton911 | БД в Delphi | 0 | 14.05.2012 11:51 |
Объединить таблицу access и таблицу paradoxa в таблицу access | GROSS777 | БД в Delphi | 1 | 09.02.2012 14:58 |
сохранить таблицу | uraura | БД в Delphi | 4 | 18.01.2011 18:05 |
Запрос возвращает пустую таблицу, если один из подзаросов возвращает пустую таблицу | ArtInt | SQL, базы данных | 9 | 12.05.2010 15:40 |
Выборка данных в рекордсет из диапазона. | Kveldulv | Microsoft Office Excel | 1 | 15.03.2010 14:24 |