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

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

11.12.2018, 08:57. Показов 1882. Ответов 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
38173 / 21108 / 4307
Регистрация: 12.02.2012
Сообщений: 34,709
Записей в блоге: 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
38173 / 21108 / 4307
Регистрация: 12.02.2012
Сообщений: 34,709
Записей в блоге: 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
38173 / 21108 / 4307
Регистрация: 12.02.2012
Сообщений: 34,709
Записей в блоге: 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
38173 / 21108 / 4307
Регистрация: 12.02.2012
Сообщений: 34,709
Записей в блоге: 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
38173 / 21108 / 4307
Регистрация: 12.02.2012
Сообщений: 34,709
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru