Страницы: 1
RSS
Работа с базой данных через VBA!
 
Вопрос на самом деле легкий для знающих. Есть кусочек кода который обращается к базе данных. В исходнике переменной str1 (в последней строке) присваиавлась цифра, т.е. было написано str1 = "123". Я создал форму и хочу чтоб эта переменная бралась из Textbox1 ?? Когда я просто пишу str1=Textbox1.value , то код не работает. Подскажите чего дописать там надо бы? Пожалуйста..    
 
Sub RunM()  
Dim str1, str2, str3, ConStr, ZaprStr As String  
 
' Создание объекта подключения.  
Dim conn As ADODB.Connection  
Set conn = New ADODB.Connection  
 
' Создание объекта набора записей.  
Dim records As ADODB.Recordset  
Set records = New ADODB.Recordset  
 
'Подключение к базе данных    
ConStr = "Provider=SQLOLEDB; Data Source= 12365APP_1;Initial Catalog=BD;UID=u;PWD=u"  
 
'Открытие подключения  
conn.Open ConStr  
 
'подаёшь номер в соответствии с тем что у нас в базе  
str1 = TextBox1
 
Хотел бы заметить, что когда вы объявляете переменные таким образом  
 
Dim str1, str2, str3, ConStr, ZaprStr As String  
 
то лишь последняя переменная ZaprStr будет иметь тим String, а все предыдущие тип Variant, это означает, что в VBA нужно указывать тип для каждой переменной:  
 
Dim str1 As String, str2 As String, str3 As String, ConStr As String, ZaprStr As String  
 
 
По поводу вашего вопроса, а если попробовать указать имя формы или Me перед TextBox? т.е.  
 
str1 = Me.TextBox1.Text  
 
или str1 = UserForm1.TextBox1.Text (если у вас имя формы UserForm1)  
 
может поможет.
 
Для начала...  
 
1) В чем конкретно выражается "код не работает"?  
2) Где находится TextBox1, на листе или на форме (UuserForm)?  
3) Как выглядит SQL запрос?  
4) Для добавления str1 в SQL запрос вы используете (?):  
а. & str1 &  
б. """" & str1 &""""  
в. "'" & str1 &"'"
KL
 
а можно я файл кому-нибудь на ящик кину, а то там конфиденциальная инфа:)
Страницы: 1
Читают тему
Наверх