|
Sql->Excel->SQL
|
|||
---|---|---|---|
#18+
Добрый день! Вопрос с точки зрения интерфейса. Есть задача вести данные в Excel, чтобы они синхронизировались с базой данных. 1. Простое у меня получилось в Excel на листе через источник данных, сделал подключение c Ms Sql табличкой. Данные отобразились. 2. Теперь второй шаг, вручную данные отредактировал на листе и хочу как то сохранить обратно в базу, но не получается. Опыта у меня немного, есть ли способ налету сохранять - не используя макросы и пробег по ячейкам соответственно. А чтоб сам источник видел, что поменялось в матрице ячеек и сохранял их базе по нажатию пользователем на кнопку например или сохранении/закрытия книги!? Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2019, 16:35 |
|
Sql->Excel->SQL
|
|||
---|---|---|---|
#18+
Konst_One Вы мне дали ссыль на то, как менять запрос к базе и возвращать данные по этому запросу. Мне нужно другое - запрос меня устраивает. Я хочу возвращать данные из Excel в базу (чтоб update автоматически формировался)! ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2019, 18:28 |
|
Sql->Excel->SQL
|
|||
---|---|---|---|
#18+
medoed, Аналогичная идея использовать одни и те же ячейки Excel для вывода и ввода информации в БД не отпускает моих коллег-гуманитариев :) Cейчас у меня обмен данными с БД организован следующим образом: 1. Берём данные БД из "Таблица1" через ADODB.Connection и загружаем в таблицу Excel на "Лист1" (.CopyFromRecordset rst) 2. Используем данные с "Лист1" как входные для таблицы на "Лист2" (данные подтягиваются с помощью ВПР и СУММЕСЛИМН и там обрабатываются) 3. С листа "Лист2" обработанные данные выгружаем в БД, в "Таблица2" через rst.AddNew ... rst.Update Работает вполне неплохо. Если конечно, не забывать постоянно загружать/выгружать в БД ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2019, 20:38 |
|
Sql->Excel->SQL
|
|||
---|---|---|---|
#18+
medoed Добрый день! Вопрос с точки зрения интерфейса. Есть задача вести данные в Excel, чтобы они синхронизировались с базой данных. 1. Простое у меня получилось в Excel на листе через источник данных, сделал подключение c Ms Sql табличкой. Данные отобразились. 2. Теперь второй шаг, вручную данные отредактировал на листе и хочу как то сохранить обратно в базу, но не получается. Опыта у меня немного, есть ли способ налету сохранять - не используя макросы и пробег по ячейкам соответственно. А чтоб сам источник видел, что поменялось в матрице ячеек и сохранял их базе по нажатию пользователем на кнопку например или сохранении/закрытия книги!? Спасибо! В принципе нечто похожее реализовано в нашей многократно успешно примененной технологии MX : - вся информация хранится не в Excel-книгах, а в единой общей базе данных в виде многомерных кубов и виртуальных Excel-листов - при подключении пользователя к серверу его реальный Excel-лист заполняется данными с нужного виртуального листа, листы тесно взаимосвязаны - изменения отображаются на обоих - после отключения пользователей их реальные Excel-листы не сохраняется – но все введенные-отредактированные данные остаются на сервере, с журналированием и резервированием - обработка данных, интерактивный контроль за действиями пользователей выполняется специальными формулами в ячейках виртуальных листов, формулы также обеспечивают удобный графический интерфейс и форматирование документов Такой подход позволяет на порядки поднять скорость и объёмы при сохранении традиционных плюшек MS Office и его интерфейса. ===================== С Рождеством ! ===================== начал выкладывать подробности на www.armex.pro ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 00:27 |
|
Sql->Excel->SQL
|
|||
---|---|---|---|
#18+
medoed Konst_One Вы мне дали ссыль на то, как менять запрос к базе и возвращать данные по этому запросу. Мне нужно другое - запрос меня устраивает. Я хочу возвращать данные из Excel в базу (чтоб update автоматически формировался)! Доброе утро. Ну если лень руками писать, т.к автоматически сделать нельзя, то используйте уже готовые компоненты. К примеру, SaveToDb или аналогичные. Но, в большинстве случаев, они платные ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 07:29 |
|
Sql->Excel->SQL
|
|||
---|---|---|---|
#18+
HandKot medoed пропущено... Вы мне дали ссыль на то, как менять запрос к базе и возвращать данные по этому запросу. Мне нужно другое - запрос меня устраивает. Я хочу возвращать данные из Excel в базу (чтоб update автоматически формировался)! Доброе утро. Ну если лень руками писать, т.к автоматически сделать нельзя, то используйте уже готовые компоненты. К примеру, SaveToDb или аналогичные. Но, в большинстве случаев, они платные Спасибо, посмотрим , попробую! ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 12:49 |
|
Sql->Excel->SQL
|
|||
---|---|---|---|
#18+
MX-9 medoed Добрый день! Вопрос с точки зрения интерфейса. Есть задача вести данные в Excel, чтобы они синхронизировались с базой данных. 1. Простое у меня получилось в Excel на листе через источник данных, сделал подключение c Ms Sql табличкой. Данные отобразились. 2. Теперь второй шаг, вручную данные отредактировал на листе и хочу как то сохранить обратно в базу, но не получается. Опыта у меня немного, есть ли способ налету сохранять - не используя макросы и пробег по ячейкам соответственно. А чтоб сам источник видел, что поменялось в матрице ячеек и сохранял их базе по нажатию пользователем на кнопку например или сохранении/закрытия книги!? Спасибо! В принципе нечто похожее реализовано в нашей многократно успешно примененной технологии MX : - вся информация хранится не в Excel-книгах, а в единой общей базе данных в виде многомерных кубов и виртуальных Excel-листов - при подключении пользователя к серверу его реальный Excel-лист заполняется данными с нужного виртуального листа, листы тесно взаимосвязаны - изменения отображаются на обоих - после отключения пользователей их реальные Excel-листы не сохраняется – но все введенные-отредактированные данные остаются на сервере, с журналированием и резервированием - обработка данных, интерактивный контроль за действиями пользователей выполняется специальными формулами в ячейках виртуальных листов, формулы также обеспечивают удобный графический интерфейс и форматирование документов Такой подход позволяет на порядки поднять скорость и объёмы при сохранении традиционных плюшек MS Office и его интерфейса. ===================== С Рождеством ! ===================== начал выкладывать подробности на www.armex.pro Крутой подход, респект! Мне конечно жутко интересно, как вы листы прям в базе храните и можно ли эту технологию поддерживать без кубов? Но это уже наверное - ваши секреты мастерства! :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 12:51 |
|
Sql->Excel->SQL
|
|||
---|---|---|---|
#18+
Cursky medoed, Аналогичная идея использовать одни и те же ячейки Excel для вывода и ввода информации в БД не отпускает моих коллег-гуманитариев :) Cейчас у меня обмен данными с БД организован следующим образом: 1. Берём данные БД из "Таблица1" через ADODB.Connection и загружаем в таблицу Excel на "Лист1" (.CopyFromRecordset rst) 2. Используем данные с "Лист1" как входные для таблицы на "Лист2" (данные подтягиваются с помощью ВПР и СУММЕСЛИМН и там обрабатываются) 3. С листа "Лист2" обработанные данные выгружаем в БД, в "Таблица2" через rst.AddNew ... rst.Update Работает вполне неплохо. Если конечно, не забывать постоянно загружать/выгружать в БД Да не, я далеко не гуманитарий, хотя литературой конечно увлекаюсь конечно! ;) Тут более менее понятно, а потом после обновления базы данных с листа 2 - снова толкаете по таймеру на лист 1? Не виснет у вас всё это? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 12:53 |
|
Sql->Excel->SQL
|
|||
---|---|---|---|
#18+
medoed Cursky medoed, Да не, я далеко не гуманитарий, хотя литературой конечно увлекаюсь конечно! ;) Тут более менее понятно, а потом после обновления базы данных с листа 2 - снова толкаете по таймеру на лист 1? Не виснет у вас всё это? :) Нет, данные по кругу не гоняются. Схема движения данных такая: Таблица1БД->Лист1->Лист2->Таблица2БД->Сводные таблицы, отчёты, выборки и пр. Всё это приводится в движение макросами по нажатию кнопок. Никаких таймеров, фоновое обновление в подключениях отключено ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 19:41 |
|
Sql->Excel->SQL
|
|||
---|---|---|---|
#18+
medoed, Пример - в BD хранятся 100500 инвойсов в виде бинарных деревьв key-value. По сети или через интернет подключаюсь к серверу, выбираю из списка, летит запрос на конкретный номер документа. Многомерный инвойс из BD сначала отображается на двумерный виртуальный лист внутри сервера, затем копируется на мой реальный лист Excel. Через секунду вижу на экране готовый инвойс с логотипами, пригодный для редактирования, печати или отправке клиенту в цифровом виде. Редактирую, изменения моего листа в процессе работы синхронно дублируются на его двойник на сервере - привязанный виртуальный лист, Мои действия строго контролируются MX-формулами, подсказки и прочие плюшки. Отключаюсь, с виртуального листа обновленные данные соскакивают обратно в базу, и остаются там в виде обновленного документа - экземпляра класса "Инвойсы" Виртуальный и реальный листы стираются - они больше не нужны Это простейший пример. На практике задачи сложнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 20:03 |
|
|
start [/forum/topic.php?fid=61&msg=39908208&tid=2171945]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 282ms |
total: | 411ms |
0 / 0 |