|
Работа VBA с удаленной БД
|
|||
---|---|---|---|
#18+
Всем доброго дня! Средствами Excel и встроенного VBA написано ПО (собственно, файл .xlsm): клиентская база + ведение склада + продуктовый каталог и учет продаж. Предназначение - для малого (читай - маленького) бизнеса, т.е. думаю, что в таком виде она может стать полезной владельцам бизнеса до 1000-2000 уникальных клиентов (в моем случае - конкретному владельцу небольшого ИП). Задача 1 : научить программу работать не с таблицами в самом Excel, а с удаленной БД. Как я понял, для VBA, с учетом предпочтительной бесплатности, подойдет MySQL. Задача 2 : перенести код от VBA, встроенного в Ecxel на обычный VB, независимый в части разработки от продуктов MS Office. Собственно, просьба в следующем : подскажите, пожалуйста, где почитать вменяемые практические материалы на эти 2 темы? При беглом поиске никакой конкретики не обнаружил. Уровень мой близок к чайничному, никогда, кроме Access, никаких БД не создавал, пару раз подключался из Excel к уже готовой БД. Заранее благодарю. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2017, 16:32 |
|
Работа VBA с удаленной БД
|
|||
---|---|---|---|
#18+
Сам VB от VBA практически не отличается. Отличаются компоненты с которыми вы работаете. И вот тут тема не раскрыта. А именно: пользовательский интерфейс, взаимодействие с БД, использование Эксель-специфических функций. По БД. Если вы работаете с таблицами через ADODB (что вряд ли), то переключение на другую базу сводится почти только к изменению строки подключения. Если же вы работается непосредственно с ячейками БД, то переписыванию заново подлежит чуть менее чем всё. Концепция работы с базой данных коренным образом отличается от приёмов работы с двухкоординатой таблицей. Например, понимаете ли вы, что в таблице БД в принципе не будет такого понятия, как "пятая строка"? По интерфейсу: если вы используете формы экселя, а тем паче элементы управления на листе, то переписыванию будет подлежать опять же практически все. Управление жизненным циклом форм, набор событий и свойств форм и основных контролов у VB и VBA отличается довольно сильно. Останется нетронутой только работа с какими-то внешними компонентами, например ListView. По СУБД: раз вы планируете писать под Windows, то зачем выбирать БД, которая разворачивается под nix? Не, конечно, MySQL можно развернуть и под виндой, но это криво и ненадежно. В то же время, раз "Предназначение - для малого (читай - маленького) бизнеса", то может вам хватит и бесплатного MSSQLExpress. В общем, начните с архитектуры. По языку: почему VB? Язык давно устарел. С учетом вышеупомянутого переписывания, выбирайте что-то посовременнее, можно, конечно, VB.NET, но он настолько сильно концептуально отличается от VB, что лучше уж переходить на C#. Ну или на JAVA. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2017, 17:05 |
|
Работа VBA с удаленной БД
|
|||
---|---|---|---|
#18+
Shocker.Pro, спасибо за развернутый ответ! Shocker.ProНапример, понимаете ли вы, что в таблице БД в принципе не будет такого понятия, как "пятая строка"? Конечно. Неболшой опыт написания простых SQL-запросов есть. Shocker.ProПо интерфейсу: если вы используете формы экселя, а тем паче элементы управления на листе, то переписыванию будет подлежать опять же практически все То, что код нужно будет переписать на 99%, это понятно. Неплохой повод для рефакторинга, не так ли? ))) Shocker.Proможет вам хватит и бесплатного MSSQLExpress Возможно. Спасибо, почитаю. Shocker.ProПо языку: почему VB? Язык давно устарел. <...> лучше уж переходить на C#. Ну или на JAVA.s "Трогал" пока только VB. Кажется, что вникать в C# или, тем более, Java буду довольно долго, а задачку хочется решить за ограниченный срок. Хотя, интерес к "нормальным" языкам, конечно есть. И все-таки, где (в какой среде) программировать, если это VB, но не MS Office? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2017, 17:59 |
|
Работа VBA с удаленной БД
|
|||
---|---|---|---|
#18+
big-duke, спасибо, но в содержании не увидел ответов. Мне нужно ровно обратное - VB вне MS Excel. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2017, 18:02 |
|
Работа VBA с удаленной БД
|
|||
---|---|---|---|
#18+
muzikizumИ все-таки, где (в какой среде) программировать, если это VB, но не MS Office?Microsoft Visual Studio 6.0. 1998 года выпуска. Скоро 20 лет ей. Я понимаю, что есть старые проекты, которые надо поддерживать, но начинать новый проект на VB6 не стоит. muzikizumКажется, что вникать в C# или, тем более, Java буду довольно долго, а задачку хочется решить за ограниченный срок.Зато там многие задачи решаются за пять минут вместо целого дня на VB6. Так что экономия налицо, да и перспектива. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2017, 18:05 |
|
Работа VBA с удаленной БД
|
|||
---|---|---|---|
#18+
muzikizumbig-duke, спасибо, но в содержании не увидел ответов. Мне нужно ровно обратное - VB вне MS Excel. Ну если не увидели, то вот http://www.firststeps.ru/vb/vb1.html :D ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2017, 22:06 |
|
|
start [/forum/topic.php?fid=60&msg=39410413&tid=2155312]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 150ms |
0 / 0 |