Страница: 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
       
    
       
  
Спасибо большое! Все получилось!