Jump to content
Sign in to follow this  
serzzzh

[Поддержка] Автобланк ПР 0.1.zip

Recommended Posts

Автобланк ПР 0.1.zip

Скачать/Купить дополнение

Долго искал простое средство печати бланков почты России, в итоге сделал в екселе.

Используется ssh-тоннель для подключения к бд MySQL (можно создать отдельного пользователя только на чтение),

бланки почты взяты с сайта post.kamensky.ru.

В основе VBA-скрипта - запрос к таблице заказов "SELECT * FROM oc_order where order_id=", запрос легко переписать.

Инструкция внутри архива.

Если данное решение сэкономит Вам время - буду признателен за пиво на яндекс-кошелек 4100192758371.

Здоровая критика приветствуется.


 

  • +1 2

Share this post


Link to post
Share on other sites

Вопросы:

1. можешь поподробнее описать процесс настройки тунеля ssh?

Ответ: Тоннель легко проверить любой подключалкой к БД, например SQLyog, подключение указываем локальное.

Примеров настройки море - http://peterhost.ru/...B5%D0%BB%D1%8C/ вот например.

2.при запуске VBA скрипта пишет:

Compile error: Can't find project or library

Ответ: видимо у вас включены не все компоненты EXCEL VBA.

Идем в редактор VBA (ALT+F11) Tools -> References, там должны быть включены галочки след. компонентов (версия может быть другой, выбирайте последнюю):

Visual Basic For Applications, Microsoft Excel 12.0 Object Library, Ole Automation, Microsoft Office 12.0 Object Library, Microsoft ActiveX Data Objects 12.0 Library.

У меня при таком наборе работает.

3. не понял как пароль ввести к базе, там источник пароля лист sys, ячейка 1:1, прям туда его записать?

Пароль запрашивается при старте через InputBox.

4.по остальным правкам менять где надо?

a) Меняем сам запрос, подставляем свою таблицу в код:

Src = "SELECT * FROM oc_order where order_id=" & Range("X2").Value

б) Меняем ConnectionString - подставляем свое название базы и Uid (Имя юзера):

ConnectionString = "DRIVER={" & get_MySQL_driver_name & "};Server=localhost;Database=cg_oc; Uid=admin; PWD=" & Sheets("sys").Cells(1, 1) & ";OPTION=3;"

  • +1 2

Share this post


Link to post
Share on other sites

Спасибо! действительно был потерян один из компонентов VBA. К базе вроде подключается, пароль спрашивает.

Но выдает ошибку:

---------------------------

Microsoft Excel

---------------------------

Ошибка-2147217900

---------------------------

ОК

---------------------------

Номер заказа точно верный, единственное база заказов немного модифицированная, может он берет данные из определенных колонок, или еще какая привязка есть?

Share this post


Link to post
Share on other sites

Но выдает ошибку:

---------------------------

Microsoft Excel

---------------------------

Ошибка-2147217900

---------------------------

ОК

---------------------------

Номер заказа точно верный, единственное база заказов немного модифицированная, может он берет данные из определенных колонок, или еще какая привязка есть?

Проверьте запрос, пошагово пройдите vba код на листе "Исходные данные".

Share this post


Link to post
Share on other sites

Проверьте запрос, пошагово пройдите vba код на листе "Исходные данные".

так и не удалось запустить поиск по базе, ошибку выдает. посмотрел к каким столбцам обращается скрипт, все есть и во всех записи имеются.

Даже не знаю где еще может быть косяк.

Share this post


Link to post
Share on other sites

Что-то ни как не получается "Нет связи с базой данных или неправильный пароль", где его этот Microsoft ActiveX Data Objects 12.0 Library взять, у меня только 6.0 максимальный, а по умолчанию 2.8 стоит. Все проверил прописал вроде как надо.

Share this post


Link to post
Share on other sites

упс, пардон, вроде получилось -ввел правильно Имя сервера, но появилась ошибка с длинным номером 21472179000

Share this post


Link to post
Share on other sites

не совсем корректно описал в инструкции создание SSH туннеля,

Надо использовать 127.0.0.1 как адрес в Destination.

Проверил на 3-х компах, все работает.

Инструкцию в файле обновил.

Должно быть как тут например:

post-13603-0-05897800-1350414807_thumb.png

Share this post


Link to post
Share on other sites

К сожалению пока не удалось избавиться от Ошибка-2147217900, у кого то же самое отпишитесь.

Share this post


Link to post
Share on other sites

Ошибка появляется в exl когда переходишь на ячейку с Ok, поиск вроде начинается, уже нет ошибки связи с БД. А как еще можно проверить SSH тоннель? связь вроде есть в окне терминала.

Share this post


Link to post
Share on other sites

К сожалению пока не удалось избавиться от Ошибка-2147217900, у кого то же самое отпишитесь.

Посмотрел в чем проблема - у вас таблица заказов называется зарезервированным словом ORDER, потому запрос не выполняется.

Если запрос переписать на select * from {ИМЯ_БАЗЫ}.order или название таблицы взять в апострофы: `order` - то все в порядке.

У меня такой проблемы нет, так как на все таблицы есть префикс oc_.

Всем у кого подобная ошибка - проверяйте запрос.

Share this post


Link to post
Share on other sites

нихера себе лёгкое решение...вот в VamShop это действительно реализовано по-лёгкому...кто бы сюда так прикрутил

Share this post


Link to post
Share on other sites

Спасибо за отзыв, но вы серьезно??

Что именно сложно - включить putty c ексель - или запрос к одной таблице MySQL написать?

Если ВамШоп крут, и там все есть - почему вы тут? :)

Там действительно есть все бланки почты из коробки?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Similar Content

    • By serzzzh
      Долго искал простое средство печати бланков почты России, в итоге сделал в екселе.
      Используется ssh-тоннель для подключения к бд MySQL (можно создать отдельного пользователя только на чтение),
      бланки почты взяты с сайта post.kamensky.ru.
      В основе VBA-скрипта - запрос к таблице заказов "SELECT * FROM oc_order where order_id=", запрос легко переписать.
      Инструкция внутри архива.
      Если данное решение сэкономит Вам время - буду признателен за пиво на яндекс-кошелек 4100192758371.
      Здоровая критика приветствуется.
  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.