Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
4 / 4 / 0
Регистрация: 02.06.2016
Сообщений: 89
1

Отчёт в Excel, для получения информации из БД

03.06.2016, 12:12. Показов 611. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток.
Необходимо в листе Excel создать некие поля с входной информацией и кнопку, по нажатии которой будет запускаться хранимая процедура, созданная в MySQL. Полученные данные из БД должны отобразиться в виде таблицы на листе Excel. Прошу расписать синтаксис кода в VBA для этой кнопки.

Добавлено через 23 часа 5 минут
Нашёл нечто такое:

Visual Basic
1
2
3
4
5
6
7
8
9
10
Dim rs As ADODB.Recordset
Dim cmd As ADODB.Command
 
Set cmd = New ADODB.Command
Set cmd.ActiveConnection = cn
cmd.CommandType = adCmdStoredProc
cmd.CommandText = 'sp_Name'
 
cmd.Parameters('@Parametr').Value =Variable
Set rs = cmd.Execute()
Ничего не ясно (тут что-то заменить надо?). Кто-нибудь может пояснить как подключиться к определённой базе данных (точнее к её хранимой процедуре) с помощью VBA.

Добавлено через 1 час 45 минут
Вот такое ещё нашёл. Тут для начала не ясно как указывать путь к базе; что писать в провайдере, если у меня MySQL. Сама база у меня в корневом каталоге диска D и имеет формат Workshop.mdf, а не *.mdb. Что такое объект Recordset?


Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Private Sub CommandButton1_Click()
Dim nEmpId As Integer
Dim sLastName As String
Dim sFirstName As String
Dim sTitle As String
 
'Получаем от пользователя номер сотрудника
nEmpId = CInt(InputBox("Введите номер сотрудника:"))
 
' Создаем и настраиваем объект Connection
Dim cn As New ADODB.Connection
 
'У вас путь к файлу Борей.mdb может быть другим
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\Program Files\Microsoft Office\OFFICE11\SAMPLES\Борей.mdb"
cn.Open
 
'Создаем и настраиваем объект Recordset
Dim rs As New ADODB.Recordset
 
'Обеспечиваем возможность передвижения в любом направлении
rs.CursorType = adOpenStatic
 
'Открываем Recordset на основе запроса
rs.Open " SELECT [КодСотрудника], [Имя], [Фамилия], [Должность] " & _
"FROM [Сотрудники] WHERE [КодСотрудника] = " & nEmpId, cn
 
'Проверяем, не пустой ли Recordset
If rs.EOF = True And rs.BOF = True Then
 
MsgBox "Сотрудник с таким номером не обнаружен"
Exit Sub
End If
 
'Присваиваем значения из найденной записи в таблице
sLastName = rs.Fields("Фамилия")
sFirstName = rs.Fields("Имя")
sTitle = rs.Fields("Должность")
 
ThisDocument.Activate
ThisDocument.Bookmarks("Bookmark1").Select
Selection.TypeText nEmpId & " " & sLastName & " " & sFirstName & _
" " & vbTab & sTitle & vbCrLf
 
End Sub
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.06.2016, 12:12
Ответы с готовыми решениями:

Программа для получения информации из сайта и присвоения информации переменным
Доброго времени суток, уважаемые пользователи форума! Надеюсь, у Вас сегодня хорошее настроение?...

отчет не сформирован. Нажмите "Сформировать" для получения о
Кто нибудь знает - какое свойство необходимо изменить или какой метод использовать, чтобы при...

Тема для получения полезной информации
Здравствуйте! Предлогаю закрепить эту тему. Дабы не плодить темы с вопросами где находится это, как...

Функции WinApi для получения системной информации
Кто может помочь в написании программы "Использование функций WinApi для получения системной...

0
03.06.2016, 12:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.06.2016, 12:12
Помогаю со студенческими работами здесь

Программа для получения информации с сайта в интернете
Есть следующий код: WAIT WINDOW "Соединение с сервером центробанка ..." NoWait ie =...

API функция для получения информации о файле в интернете
Скажите, пожалуйста, с помощью какой API-функции можно узнать имя файла в интернете? Например, я...

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

Утилита для получения статической информации по протоколам UDP, TCP, ICMP, IP.
Т. е. надо вывести статическую инфу аналогочную, получаемую при вызове netstat -s в cmd... Может...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru