powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Sql->Excel->SQL
11 сообщений из 11, страница 1 из 1
Sql->Excel->SQL
    #39907959
Фотография medoed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
Вопрос с точки зрения интерфейса. Есть задача вести данные в Excel, чтобы они синхронизировались с базой данных.
1.
Простое у меня получилось в Excel на листе через источник данных, сделал подключение c Ms Sql табличкой. Данные отобразились.

2. Теперь второй шаг, вручную данные отредактировал на листе и хочу как то сохранить обратно в базу, но не получается.
Опыта у меня немного, есть ли способ налету сохранять - не используя макросы и пробег по ячейкам соответственно.
А чтоб сам источник видел, что поменялось в матрице ячеек и сохранял их базе по нажатию пользователем на кнопку например или сохранении/закрытия книги!?
Спасибо!
...
Рейтинг: 0 / 0
Sql->Excel->SQL
    #39907974
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Sql->Excel->SQL
    #39908009
Фотография medoed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One

Вы мне дали ссыль на то, как менять запрос к базе и возвращать данные по этому запросу.
Мне нужно другое - запрос меня устраивает.
Я хочу возвращать данные из Excel в базу (чтоб update автоматически формировался)!
...
Рейтинг: 0 / 0
Sql->Excel->SQL
    #39908064
Cursky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
medoed,
Аналогичная идея использовать одни и те же ячейки Excel для вывода и ввода информации в БД не отпускает моих коллег-гуманитариев :)
Cейчас у меня обмен данными с БД организован следующим образом:

1. Берём данные БД из "Таблица1" через ADODB.Connection и загружаем в таблицу Excel на "Лист1" (.CopyFromRecordset rst)
2. Используем данные с "Лист1" как входные для таблицы на "Лист2" (данные подтягиваются с помощью ВПР и СУММЕСЛИМН и там обрабатываются)
3. С листа "Лист2" обработанные данные выгружаем в БД, в "Таблица2" через rst.AddNew ... rst.Update

Работает вполне неплохо. Если конечно, не забывать постоянно загружать/выгружать в БД
...
Рейтинг: 0 / 0
Sql->Excel->SQL
    #39908208
MX-9
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
medoed
Добрый день!
Вопрос с точки зрения интерфейса. Есть задача вести данные в Excel, чтобы они синхронизировались с базой данных.
1.
Простое у меня получилось в Excel на листе через источник данных, сделал подключение c Ms Sql табличкой. Данные отобразились.

2. Теперь второй шаг, вручную данные отредактировал на листе и хочу как то сохранить обратно в базу, но не получается.
Опыта у меня немного, есть ли способ налету сохранять - не используя макросы и пробег по ячейкам соответственно.
А чтоб сам источник видел, что поменялось в матрице ячеек и сохранял их базе по нажатию пользователем на кнопку например или сохранении/закрытия книги!?
Спасибо!


В принципе нечто похожее реализовано в нашей
многократно успешно примененной технологии MX :

- вся информация хранится не в Excel-книгах, а в единой общей базе данных в виде многомерных кубов и виртуальных Excel-листов

- при подключении пользователя к серверу его реальный Excel-лист заполняется данными с нужного виртуального листа, листы тесно взаимосвязаны - изменения отображаются на обоих
- после отключения пользователей их реальные Excel-листы не сохраняется – но все введенные-отредактированные данные остаются на сервере, с журналированием и резервированием
- обработка данных, интерактивный контроль за действиями пользователей выполняется специальными формулами в ячейках виртуальных листов, формулы также обеспечивают удобный графический интерфейс и форматирование документов

Такой подход позволяет на порядки поднять скорость и объёмы при сохранении традиционных плюшек MS Office и его интерфейса.

=====================
С Рождеством !
=====================
начал выкладывать подробности на www.armex.pro
...
Рейтинг: 0 / 0
Sql->Excel->SQL
    #39908266
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
medoed
Konst_One

Вы мне дали ссыль на то, как менять запрос к базе и возвращать данные по этому запросу.
Мне нужно другое - запрос меня устраивает.
Я хочу возвращать данные из Excel в базу (чтоб update автоматически формировался)!

Доброе утро.
Ну если лень руками писать, т.к автоматически сделать нельзя, то используйте уже готовые компоненты.
К примеру, SaveToDb или аналогичные.
Но, в большинстве случаев, они платные
...
Рейтинг: 0 / 0
Sql->Excel->SQL
    #39908390
Фотография medoed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HandKot
medoed
пропущено...

Вы мне дали ссыль на то, как менять запрос к базе и возвращать данные по этому запросу.
Мне нужно другое - запрос меня устраивает.
Я хочу возвращать данные из Excel в базу (чтоб update автоматически формировался)!

Доброе утро.
Ну если лень руками писать, т.к автоматически сделать нельзя, то используйте уже готовые компоненты.
К примеру, SaveToDb или аналогичные.
Но, в большинстве случаев, они платные

Спасибо, посмотрим , попробую!
...
Рейтинг: 0 / 0
Sql->Excel->SQL
    #39908392
Фотография medoed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MX-9
medoed
Добрый день!
Вопрос с точки зрения интерфейса. Есть задача вести данные в Excel, чтобы они синхронизировались с базой данных.
1.
Простое у меня получилось в Excel на листе через источник данных, сделал подключение c Ms Sql табличкой. Данные отобразились.

2. Теперь второй шаг, вручную данные отредактировал на листе и хочу как то сохранить обратно в базу, но не получается.
Опыта у меня немного, есть ли способ налету сохранять - не используя макросы и пробег по ячейкам соответственно.
А чтоб сам источник видел, что поменялось в матрице ячеек и сохранял их базе по нажатию пользователем на кнопку например или сохранении/закрытия книги!?
Спасибо!


В принципе нечто похожее реализовано в нашей
многократно успешно примененной технологии MX :

- вся информация хранится не в Excel-книгах, а в единой общей базе данных в виде многомерных кубов и виртуальных Excel-листов

- при подключении пользователя к серверу его реальный Excel-лист заполняется данными с нужного виртуального листа, листы тесно взаимосвязаны - изменения отображаются на обоих
- после отключения пользователей их реальные Excel-листы не сохраняется – но все введенные-отредактированные данные остаются на сервере, с журналированием и резервированием
- обработка данных, интерактивный контроль за действиями пользователей выполняется специальными формулами в ячейках виртуальных листов, формулы также обеспечивают удобный графический интерфейс и форматирование документов

Такой подход позволяет на порядки поднять скорость и объёмы при сохранении традиционных плюшек MS Office и его интерфейса.

=====================
С Рождеством !
=====================
начал выкладывать подробности на www.armex.pro

Крутой подход, респект!
Мне конечно жутко интересно, как вы листы прям в базе храните и можно ли эту технологию поддерживать без кубов?
Но это уже наверное - ваши секреты мастерства! :-)
...
Рейтинг: 0 / 0
Sql->Excel->SQL
    #39908395
Фотография medoed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cursky
medoed,
Аналогичная идея использовать одни и те же ячейки Excel для вывода и ввода информации в БД не отпускает моих коллег-гуманитариев :)
Cейчас у меня обмен данными с БД организован следующим образом:

1. Берём данные БД из "Таблица1" через ADODB.Connection и загружаем в таблицу Excel на "Лист1" (.CopyFromRecordset rst)
2. Используем данные с "Лист1" как входные для таблицы на "Лист2" (данные подтягиваются с помощью ВПР и СУММЕСЛИМН и там обрабатываются)
3. С листа "Лист2" обработанные данные выгружаем в БД, в "Таблица2" через rst.AddNew ... rst.Update

Работает вполне неплохо. Если конечно, не забывать постоянно загружать/выгружать в БД

Да не, я далеко не гуманитарий, хотя литературой конечно увлекаюсь конечно! ;)
Тут более менее понятно, а потом после обновления базы данных с листа 2 - снова толкаете по таймеру на лист 1?
Не виснет у вас всё это? :)
...
Рейтинг: 0 / 0
Sql->Excel->SQL
    #39908696
Cursky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
medoed
Cursky
medoed,

Да не, я далеко не гуманитарий, хотя литературой конечно увлекаюсь конечно! ;)
Тут более менее понятно, а потом после обновления базы данных с листа 2 - снова толкаете по таймеру на лист 1?
Не виснет у вас всё это? :)


Нет, данные по кругу не гоняются. Схема движения данных такая:

Таблица1БД->Лист1->Лист2->Таблица2БД->Сводные таблицы, отчёты, выборки и пр.

Всё это приводится в движение макросами по нажатию кнопок. Никаких таймеров, фоновое обновление в подключениях отключено
...
Рейтинг: 0 / 0
Sql->Excel->SQL
    #39908701
MX-9
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
medoed,

Пример -
в BD хранятся 100500 инвойсов в виде бинарных деревьв key-value.

По сети или через интернет подключаюсь к серверу, выбираю из списка,
летит запрос на конкретный номер документа.

Многомерный инвойс из BD сначала отображается на двумерный виртуальный лист внутри сервера,
затем копируется на мой реальный лист Excel.
Через секунду вижу на экране готовый инвойс с логотипами, пригодный для редактирования,
печати или отправке клиенту в цифровом виде.

Редактирую,
изменения моего листа в процессе работы синхронно дублируются
на его двойник на сервере - привязанный виртуальный лист,
Мои действия строго контролируются MX-формулами,
подсказки и прочие плюшки.

Отключаюсь,
с виртуального листа обновленные данные соскакивают обратно в базу,
и остаются там в виде обновленного документа - экземпляра класса "Инвойсы"

Виртуальный и реальный листы стираются - они больше не нужны

Это простейший пример.
На практике задачи сложнее.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Sql->Excel->SQL
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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