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

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

11.12.2018, 08:57. Показов 1847. Ответов 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
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38161 / 21096 / 4306
Регистрация: 12.02.2012
Сообщений: 34,683
Записей в блоге: 14
11.12.2018, 12:16
А какое значение у Text1?
0
-1 / 0 / 0
Регистрация: 31.10.2018
Сообщений: 69
11.12.2018, 13:24  [ТС]
Catstail, Text 1 присваивается путь к файлу Access, который я выбираю через CommonDialog
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38161 / 21096 / 4306
Регистрация: 12.02.2012
Сообщений: 34,683
Записей в блоге: 14
11.12.2018, 14:45
А в нем пробелов нет?
0
-1 / 0 / 0
Регистрация: 31.10.2018
Сообщений: 69
12.12.2018, 08:39  [ТС]
Catstail, синтаксически код правильный, иначе Basic не пропустил бы ошибку
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38161 / 21096 / 4306
Регистрация: 12.02.2012
Сообщений: 34,683
Записей в блоге: 14
12.12.2018, 09:58
tomhardy96, речь не о синтаксисе. Если строка Text1 содержит пробелы - могут возникнуть проблемы.
0
-1 / 0 / 0
Регистрация: 31.10.2018
Сообщений: 69
12.12.2018, 10:08  [ТС]
Catstail, ты имеешь ввиду пробел между Text и 1? Там нет пробелов, это и на приложенном скрине видно
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38161 / 21096 / 4306
Регистрация: 12.02.2012
Сообщений: 34,683
Записей в блоге: 14
12.12.2018, 11:03
tomhardy96, я имею в виду случай, когда Text1="Рабочий стол\моя база\..."
0
-1 / 0 / 0
Регистрация: 31.10.2018
Сообщений: 69
12.12.2018, 11:25  [ТС]
Catstail, или я плохо соображаю, или ты имеешь ввиду пробелы после знака =. Так Бэйсик же автоматически ставит пробелы с обеих сторон знака при переходе на следующую строку
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38161 / 21096 / 4306
Регистрация: 12.02.2012
Сообщений: 34,683
Записей в блоге: 14
12.12.2018, 11:26
tomhardy96, пробелы в имени файла, который ты выбираешь! Рабочий_стол\Имя_базы <- пробелы на месте подчерков!
0
-1 / 0 / 0
Регистрация: 31.10.2018
Сообщений: 69
13.12.2018, 08:30  [ТС]
Catstail, исключено. Я изначально пробовал просто выгружать конкретную базу данных с указанием в RecordSource имени таблицы. Всё работало((
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38161 / 21096 / 4306
Регистрация: 12.02.2012
Сообщений: 34,683
Записей в блоге: 14
13.12.2018, 10:08
А если в Text1 просто записать путь (без Common Dialog)?
0
-1 / 0 / 0
Регистрация: 31.10.2018
Сообщений: 69
13.12.2018, 10:27  [ТС]
Catstail, Common Dialog мне просто необходим для приложения, чтобы выбирать на диске нужный файл с базой данных.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38161 / 21096 / 4306
Регистрация: 12.02.2012
Сообщений: 34,683
Записей в блоге: 14
13.12.2018, 12:00
Я спрашиваю, что будет, если путь задать явно.
0
-1 / 0 / 0
Регистрация: 31.10.2018
Сообщений: 69
13.12.2018, 13:35  [ТС]
Catstail, я сделал как ты посоветовал: убрал строку Text1, задал явно путь к файлу в DataSource. На выходе ничего не поменялось
0
 Аватар для UBUNTU
352 / 213 / 42
Регистрация: 04.02.2015
Сообщений: 1,344
13.12.2018, 13:45
tomhardy96, Подключение к базе данных через ADODB (статья)
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38161 / 21096 / 4306
Регистрация: 12.02.2012
Сообщений: 34,683
Записей в блоге: 14
13.12.2018, 13:50
Цитата Сообщение от tomhardy96 Посмотреть сообщение
На выходе ничего не поменялось
- а при каком раскладе код работал?
0
-1 / 0 / 0
Регистрация: 31.10.2018
Сообщений: 69
14.12.2018, 15:49  [ТС]
Catstail, Catstail, работал в случае, когда я вручную в RecordSource указывал имя таблицы в файле Access

Добавлено через 5 минут
UBUNTU, такой подход я давно пробовал, но он не подходит к моим задачам : в коде изначально приписывается одна конкретная база данных с указанием в Record имени таблицы, а мне нужно открывать произвольную базу посредством выбора через Commod Dialog
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38161 / 21096 / 4306
Регистрация: 12.02.2012
Сообщений: 34,683
Записей в блоге: 14
15.12.2018, 09:17
Цитата Сообщение от tomhardy96 Посмотреть сообщение
работал в случае, когда я вручную в RecordSource указывал имя таблицы в файле Access
- да речь не про имя таблицы (таблица в Accsess - внутрифайловый объект)! В Common Dialog-e имя таблицы задать нельзя, а можно задать только имя mdb-файла
0
-1 / 0 / 0
Регистрация: 31.10.2018
Сообщений: 69
17.12.2018, 09:39  [ТС]
блин, мы не можем найти взаимопонимания из-за моих скудных знаний. Товарищ с форума помог мне составить следующий код, однако он без использования ComboBox:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Private Sub Text1_DblClick()
Dim ConStr As String
Me.CommonDialog1.ShowOpen
Me.Text1 = Me.CommonDialog1.FileName
ConStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Me.Text1 & "; Persist Security Info=False;"
Me.Adodc1.ConnectionString = ConStr
Me.Adodc1.RecordSource = "PROFILE" ' Про это название таблицы в файле Access я тебе говорил , мне нужно , чтобы я смог выбирать это название из ComboBox , если хочу работать с произвольным файлом
Me.Adodc1.CommandType = 2
Me.Adodc1.Refresh
Set Me.DataGrid1.DataSource = Me.Adodc1.Recordset
Me.DataGrid1.Refresh
End Sub
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.12.2018, 09:39
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
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 - 2025, CyberForum.ru