Excel ODBC - Общее «Как это работает?»

531

Думая о перемещении нескольких связанных электронных таблиц в модель базы данных. Тем не менее, у меня есть много нетехнических применений, которые могут едва использовать Excel, но о том, чтобы они использовали что-то вроде MS Access, не могло быть и речи. (или OOBase / MySQL, поскольку у нас нет MS Access)

Я хочу сохранить Excel в качестве основного пользовательского интерфейса для создания отчетов и думал об использовании ODBC-соединений для этого, но я не использовал его раньше и задавался вопросом, подходит ли он.

  1. Если я создаю запрос, импортирую данные в файл Excel и сохраняю ... данные постоянны? Будет ли он сохраняться после закрытия и открытия файла, или пользователям придется каждый раз выбирать запрос?

  2. Могу ли я использовать его в качестве источника для диаграмм Excel (не сводных) и легко ли автоматизировать аналогично обычным таблицам Excel с помощью структурированных ссылок?

  3. Могу ли я легко добавить таблицу Excel для вычисляемых столбцов, основанных на данных базы данных, или было бы лучше включить такие вычисления в саму модель базы данных?

  4. Я так понимаю, запросы только для чтения? Есть ли возможный способ ввода данных для записи в базу данных с использованием Excel, а не формы в СУБД? Чем проще, тем лучше для конечных пользователей.

  5. Сами файлы базы данных будут храниться в общей сети. Нужно ли мне что-то настраивать / устанавливать на каждом локальном компьютере, чтобы они могли получить доступ к данным? (все машины уже имеют Excel)

4

1 ответ на вопрос

2
Horn OK Please
  1. Excel хранит копию запрашиваемых данных в электронной таблице. Вы можете установить опцию, хотите ли вы, чтобы она обновлялась при загрузке, или только после некоторого ручного вмешательства или события на основе VBA.

  2. Вы можете использовать данные запроса Excel так же, как и любые другие данные в Excel. В самом худшем случае, если есть какое-то ограничение, вы можете скопировать запрошенные данные на новый лист и «Вставить значения», чтобы разорвать связь с запросом.

  3. Нужно ли делать вычисляемые столбцы локально или на базе данных, зависит от ваших потребностей в производительности. С одной стороны, некоторые вычисления можно сделать более эффективно на выделенном сервере базы данных с высококлассными спецификациями и оптимизированным механизмом SQL (ODBC в Excel определенно не так, поверьте мне). С другой стороны, если вы хотите, чтобы тысячи клиентов обращались к БД, вы можете столкнуться с ограничениями ЦП или пропускной способности, если вы добавите много дополнительных данных для передачи, особенно если у вас нет особенно быстрого восходящего соединения. между клиентами и БД. Таким образом, вы можете захотеть, чтобы каждая рабочая станция клиента выполняла вычисляемые поля, что распределяет нагрузку между всеми клиентами и уменьшает объем данных, передаваемых по сети. Однако Excel не так эффективен в обработке данных огромного масштаба, как выделенные базы данных.

  4. Сам механизм «Microsoft Query» в Excel может не выполнять запросы на обновление / вставку, но вы можете написать макрос VBA или надстройку C #, которая использует ADO для запуска произвольного SQL с бэкэндом.

  5. Это полностью зависит от того, какую базу данных вы выберете. Вы упомянули Access, OOBase (я даже не уверен, что это будет работать вообще) и MySQL до сих пор. Access имеет встроенный драйвер ODBC в любой системе, в которой установлен Access. MySQL должен иметь собственный драйвер ODBC MySQL, установленный в каждой клиентской системе. Большинству других баз данных также потребуется установить какой-либо драйвер ODBC в системе, если только вам не повезет, и в БД, которую вы хотите использовать, уже есть встроенный драйвер, уже поставляемый с Windows.

В настоящее время у вас нет MS Access, но, будучи частью MS Office, похоже, это было бы самым простым решением. В настоящее время у нас установлен Office 2013 (поставляется без доступа). У нас все еще есть Office 2007 Professional, хотя. Смогу ли я установить ТОЛЬКО Access 2007 и сохранить остальную часть Office 2013 без проблем? Я знаю, что обычно вы должны устанавливать самую раннюю версию в первую очередь, но не уверен, применимо ли это, если у нас не установлена ​​эта конкретная часть Office. 10 лет назад 0
Вы можете установить несколько версий Office параллельно. Однако, если вы планируете использовать Access, я бы просто использовал Access для всего этого. Если ваши пользователи боятся пользовательского интерфейса Access, просто напишите пользовательскую форму с кнопкой, которая говорит: «Нажмите здесь!» или что-то. Вам придется немного кодировать в VBA, но это намного аккуратнее, чем интерфейс Excel и Access. Horn OK Please 10 лет назад 0

Похожие вопросы