Автор Тема: Excell или Access? A VBA сложен?  (Прочитано 1192 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Gepard

  • Ветеран
  • *****
  • Сообщений: 8159
  • Карма: 668
  • Пол: Мужской
  • у меня тоже есть текст под аватаром ))
    • Просмотр профиля
Excell или Access? A VBA сложен?
« : 10.10.12, 13:06:12 »
Необходимо постоянно делать расчёты по подбору оборудования. Есть несколько таблиц с разным оборудованием (процы, платы видеоввода, корпуса, raid-контроллеры и т.д.) и ПО. У каждого оборудования свой набор характеристик (и даже фотки есть!), у ПО - своё предназначение. Везде ещё свои цены :)

Нужно вот что:
- вводятся (лучше - считываются из внешней таблицы Excel) некоторые данные (запрос),
- на основе этих данных производится определённая выборка (со сложными условиями) данных из всех таблиц,
- после выводится определённым образом результат (в идеале - в Excel-файл, на крайняк - просто в дополнительный Excel-лист, ну или просто результат - в определённые ячейки подготовленного Excel-листа).

Оборудование периодически обновляется, как и цены.

Где лучше организовать эту штуку? В Excel или Access? Ну и если говорить о формулах, то в Excel сложные формулы огромны и не прозрачны. Раньше был небольшой опыт с Basic и Pascal (школа, универ) - там условия делать намного проще и разобраться легче :) Так понимаю, что условия для выборки нужно будет задавать с помощью VBA... но в Access или Excel? И сложно вообще в этом разобраться?
Живём дальше... ;)


Оффлайн Red Star

  • Старожил
  • ****
  • Сообщений: 381
  • Карма: 48
    • Просмотр профиля
Re: Excell или Access? A VBA сложен?
« Ответ #1 : 11.10.12, 11:17:11 »
Я бы не сделал ни там, ни там. Просто у меня нелюбовь к Access'y. Почему - объяснить врядли смогу ). Excel отметается потому, что формулы в нем огромны и непрозрачны, и единожды, где-нить в них вкрадется ошибка - искать замучаешься.

Мой выбор - MS SQL Express - он бесплатен и стандартен, в плане самого языка. С другими SQL-платформами (InterBase, Oracle, MySQL, ...) не работал, ничего про них сказать не могу, может есть что-то и более удобное. Можно и настольную БД использовать, но, как мне подсказывает личный опыт, то, что нужно сейчас использовать только на одном компьютере, в будущем может потребоваться использовать сразу на нескольких. Дабы не создавать себе геморроя в будущем, лучше сразу сделать клиент-серверную версию. Ну, а сам софт к нему - кому на чем удобнее. Я на Delphi иной раз че-нить ваяю несложное.
Опять же, чем удобнее клиент-сервер, если исходные данные считываются из внешних таблиц - подозреваю, эти таблицы заполняют другие люди. Написать им несложный фунуционал, и они спокойно себе заполняют эти данные, ничего не зная о том, что с ними потом будут делать.

На счет сложно или нет - трудно определить. В программировании, как в изучении иностранных языков - нужна постоянная практика. Если последняя встреча с Pascal'ем была лет 5 назад - оставьте все в Excel'e. Времени на освоение нового (хорошо забыто старого) уйдет больше, чем на содержании в порядке того, что уже есть.

Оффлайн Gepard

  • Ветеран
  • *****
  • Сообщений: 8159
  • Карма: 668
  • Пол: Мужской
  • у меня тоже есть текст под аватаром ))
    • Просмотр профиля
Re: Excell или Access? A VBA сложен?
« Ответ #2 : 11.10.12, 11:46:17 »
спасибо!

сейчас в порядке ничего нет ) А есть затрачиваемый человеческий ресурс. Расчёты и выборка производится вручную. Какие-то простые формулы есть в Excel, но всё равно - времени немало уходит, т.к. все условия сложные - в голове рассчитывающего. Есть вероятность, что будет добавляться со временем ещё какое-то оборудование и условия, влияние человеческого фактора увеличится. Хочется эти все операции автоматизировать, а далее лишь поддерживать актуальность таблиц/баз.
Живём дальше... ;)

Оффлайн ELF_sh

  • Старожил
  • ****
  • Сообщений: 807
  • Карма: 34
  • Пол: Мужской
    • Просмотр профиля
Re: Excell или Access? A VBA сложен?
« Ответ #3 : 12.10.12, 10:50:54 »
Я конечно не видел ваших таблиц и выборок из них со сложными условиями. Но ИМХО: Реализуется в Excel сводными таблицами построенными по реляционным массивам.(Часть вычислений в таблице часть в сводной) Если возможностей такого решения не хватает(объем данных или сложность формул)- OLAP вам в помощь. Строить кубик  SQL, поднимать сервер и получать результаты в Excel. С многопользовательстью проблем никаких.