С Новым годом! Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
-1 / 0 / 0
Регистрация: 31.10.2018
Сообщений: 69

Проблемы с ADO при подключении базы данных в Visual Basic 6

11.12.2018, 08:57. Показов 1856. Ответов 29

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток! Как-то уже обращался к форумчанам с подобной проблемой, но не нашёл отклика. Проблема следующая: в VB6 создаю форму, при помощи которой я вывожу базу данных Access в DataGridView по выбору через CommonDialog. Без использования CommonDialog по аналогичному алгоритму база данных беспроблемно отображается в Grid. При попытке использовать CommonDialog для работы с множетсвами баз возникает ADO-ошибка, связанная с построением SQL-запроса(как я предполагаю).
Ниже приведу код, который я использую(если в нём увидите синтаксические ошибки - не обращайте внимания : я переехал на другой системник и ещё не успел поставить Basic , код набирал в Блокноте). Заранее спасибо за помощь!

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
Option Explicit
Dim strRequest As String
 
Private Sub Combo1_Click()
Dim strRequest As String
 
strRequest = " Select * FROM " & Combo1.List(Combo1.ListIndex & " "
 
End Sub
 
 
Private Sub Text1_DblClick()
 
CommonDialog1.ShowOpen
Text1 = CommonDialog1.FileName
Adodc1.ConnectionString = "Provider = Microsoft.ACE.OLEDB.12.0;Data Source = " & Text1 & "; Persist Security Info = False;"
Combo1.Enabled = True
Adodc1.RecordSource = strRequest
Adodc1.CommandType = 4
Adodc1.Refresh
Set DataGrid1.DataSource = Adodc1.Recordset
DataGrid1.Refresh
End Sub
Миниатюры
Проблемы с ADO при подключении базы данных в Visual Basic 6  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.12.2018, 08:57
Ответы с готовыми решениями:

Выгрузка базы данных Excel через ADO в GridView Visual Basic 6
Доброго времени суток! При помощи товарища с данного форума я уже решил проблему выгрузки базы данных Microsoft Access через ADO на форму в...

Базы Данных в Visual Basic
Решил изучить Visual Basic 10. Я начинающий программист до этого изучал С и решил перейти к объектно - ориентированому программированию. А...

Visual Basic и Базы Данных - поиск
Сколько ни бьюсь, но (какой я, похоже,ламер!) никак не могу найти достойного ответа с пояснениями - КАК НАЙТИ НУЖНУЮ ЗАПИСЬ В БАЗЕ ДАННЫХ...

29
-1 / 0 / 0
Регистрация: 31.10.2018
Сообщений: 69
27.12.2018, 16:30  [ТС]
Студворк — интернет-сервис помощи студентам
Catstail, ещё я попытался написать код без использования элемента ADODC , но столкнулся с ошибкой другого рода
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
Dim con As New ADODB.Connection
Dim rs As New ADODB.Recordset
 
Private Sub Command1_Click()
Form1.CommonDialog1.ShowOpen
Form1.Text1 = Form1.CommonDialog1.FileName
Form1.Text1.Visible = False
con.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Text1 & "; Persist Security Info=False;"
rs.CursorLocation = adUseClient
Call Combo1_Click
rs.Open strRequest, con, adOpenKeyset, adLockPessimistic, adCmdText
Set DataGrid1.DataSource = rs
DataGrid1.Refresh
Set rs = Nothing
 
End Sub
 
 
 
Private Sub Combo1_Click()
Dim strRequest As String
 
strRequest = " Select * FROM " & Combo1.List(Combo1.ListIndex)
 
End Sub
Миниатюры
Проблемы с ADO при подключении базы данных в Visual Basic 6   Проблемы с ADO при подключении базы данных в Visual Basic 6  
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38163 / 21098 / 4306
Регистрация: 12.02.2012
Сообщений: 34,686
Записей в блоге: 14
27.12.2018, 17:28
Цитата Сообщение от tomhardy96 Посмотреть сообщение
но столкнулся с ошибкой другого рода
- ничего удивительного... У Вас же strRequest - локальная переменная процедуры Combo1_Click. Перенесите оператор

Visual Basic
1
Dim strRequest As String
в самое начало модуля (после описания con и rs) - и эта ошибка должна исчезнуть.
1
-1 / 0 / 0
Регистрация: 31.10.2018
Сообщений: 69
28.12.2018, 16:27  [ТС]
спасибо за поправки. ещё добавил в Combo1_Click MsgBox и увидел, что явно присутствует синтаксическая ошибка в SQL-запросе, видимо где-то лишняя скобка или знак
Изображения
 
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38163 / 21098 / 4306
Регистрация: 12.02.2012
Сообщений: 34,686
Записей в блоге: 14
29.12.2018, 09:02
Вот эта строка:

Visual Basic
1
strRequest = " Select * FROM " & Combo1.List(Combo1.ListIndex)
не может быть верной. ListIndex - число, а на этом месте должно стоять имя таблицы
0
 Аватар для coderxx
469 / 183 / 16
Регистрация: 25.02.2012
Сообщений: 418
Записей в блоге: 2
29.12.2018, 15:39
ListIndex число но Combo1.List(Combo1.ListIndex) же строка, может быть имя таблицы не выбрано в Combo1.
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38163 / 21098 / 4306
Регистрация: 12.02.2012
Сообщений: 34,686
Записей в блоге: 14
29.12.2018, 19:20
coderxx, а, верно. Тогда возможно, что listIndex=-1 (т.е. ничего не выбрано).
1
-1 / 0 / 0
Регистрация: 31.10.2018
Сообщений: 69
02.01.2019, 16:32  [ТС]
Catstail, вы правы, действительно присваивается значение -1, но я не могу ничего выбрать в Сombo, потому что он пустой, база не выгружается же. Да и без пошагового выполнения у меня банально нет возможности перейти на форму для выбора в Combo, так как сразу происходит ошибка
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38163 / 21098 / 4306
Регистрация: 12.02.2012
Сообщений: 34,686
Записей в блоге: 14
02.01.2019, 18:05
Цитата Сообщение от tomhardy96 Посмотреть сообщение
потому что он пустой, база не выгружается же
- так заполни его. В примере, который я выкладывал, первый комбо-бокс заполнялся.
0
-1 / 0 / 0
Регистрация: 31.10.2018
Сообщений: 69
08.01.2019, 09:46  [ТС]
извиняюсь , но про какой пример идёт речь?

Добавлено через 34 секунды
Catstail, извиняюсь, но про какой именно пример идёт речь?
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38163 / 21098 / 4306
Регистрация: 12.02.2012
Сообщений: 34,686
Записей в блоге: 14
08.01.2019, 10:42
Я имел в виду это
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.01.2019, 10:42
Помогаю со студенческими работами здесь

Windows Form Visual Basic базы данных
Надо сделать так, чтобы после заполнения Textbox-оф, после нажатия кнопки появлялась соответсвенно заполненная строчка в БД. Но ничего не...

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

Ошибка при подключении базы данных
Сайт сделан на на Yii2-advanced. Сервер- Hostinger Файлы были залиты на сервер, база данных через PhpMyadmin. На хостинге 2 аккаунта. На...

Ошибка при подключении базы данных
При подключении базы данных выдаёт такую ошибку

Ошибка при подключении базы данных к проэкту
осваиваю ADO.NET подключаю базу данных через забрасывание на форму BindingSource и прописывание в свойствах контрола базу данных. в книге...


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

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru