Страница: 1 |
Страница: 1 |
Вопрос: Word и sql server 2005
Добавлено: 06.06.07 09:29
Автор вопроса:
Dream
В общем, у меня есть вордовский документ с кнопочкой, по нажатию на которую данные из этого документа должны добавляться в базу данных SqlServer2005. Как мне соединяться с базой из VBA? Или можно сделать это с помощью vb.net?
Заранее благодарю!
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа: GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #1
Добавлено: 06.06.07 10:54
Точно так же, как в VB6.
Причём здесь .net, мне совершенно не ясно.
Номер ответа: 2
Автор ответа: Dream
Вопросов: 2
Ответов: 6
Профиль | | #2
Добавлено: 06.06.07 11:50
К сожаленью, с vb6 не работала вообще, только в vb.net. Можно, если есть, кусок кода со связью с бд? В msdn'e что-то есть, но там используется Application.OfficeDataSourceObject, я пробовала запустить, но ругается компилятор...
Номер ответа: 3
Автор ответа: GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #3
Добавлено: 06.06.07 13:15
Искать в MSDN про ADODB.Connection и ADODB.Command.
Номер ответа: 4
Автор ответа: Dream
Вопросов: 2
Ответов: 6
Профиль | | #4
Добавлено: 06.06.07 13:43
Ладно, буду с vb.net лучше работать.
Еще вопрос:
У меня из формы на .net по кнопке открывается документ, в котором есть vbшные контролы.
Dim docWord As New Word.Document
docWord = appWord.Documents.Open(DirectCast("C:\temp\test.doc", Object))
appWord.Visible = True
Как считать значение с них, (например, с textbox'ов), по событию на форме?
Номер ответа: 5
Автор ответа: Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #5
Добавлено: 06.06.07 14:25
Думаю, использовать .NET - не лучшее решение. Лучше действительно
в VBA использовать ADODB для доступа к SQL Server.
Вот кусочек кода из VB6, возможно поможет.
Conn.Open ConnString
Dim Comm As New ADODB.Command
Comm.ActiveConnection = Conn
Dim SQL As String
SQL = "Select id_host_om_managers From host_om_managers Where login=? And password=?"
Comm.CommandText = SQL
Comm.Parameters.Append Comm.CreateParameter("@login", adVarChar, adParamInput, 10, Login)
Comm.Parameters.Append Comm.CreateParameter("@password", adVarChar, adParamInput, 10, Password)
Dim RS As New Recordset
RS.Open Comm
'Если менеджер с такими логин/пароль не найден, то...
If RS.EOF Or RS.BOF Then
'Ставим ManagerID=0
ManagerID = 0
Else
'Если найден, то устанавливаем ManagerID
ManagerID = CInt(RS(0).Value)
'Переключаем менеджера в Online
SetState True
End If
RS.Close
Conn.Close
Set RS = Nothing
Set Conn = Nothing
Номер ответа: 6
Автор ответа: Dream
Вопросов: 2
Ответов: 6
Профиль | | #6
Добавлено: 06.06.07 15:49
Спасибо, Павел, это похоже на то, что мне нужно! Постараюсь добить...
Номер ответа: 7
Автор ответа: Dream
Вопросов: 2
Ответов: 6
Профиль | | #7
Добавлено: 07.06.07 12:05
Спасибо большое! Все получилось!