Страница: 1 |
Пытаюсь связать в коде DataGrid и ADODB.Recordset. Ничего не получается - данные в DataGrid не отображаются. Подскажите, в чём тут закавыка... Set ConnGrid = CreateObject("ADODB.Connection")
Попробуй вот так: Я тут немного поэкспериментировал и закоментировал пару строк без них тоже работает Private Sub Command1_Click() Set ConnGrid = CreateObject("ADODB.Connection") CurDir = App.Path & ("\db\dbna.mdb") ' здесь надо было добавить точку и слеш Set Grid.DataSource = RSGrid End Sub Надеюсь тебе это поможет. Насчёт точки и слэша - это у меня нормально было. AppPath - это моя функция. Ей передаёшь имя файла, а она возвращает нормальный полный путь. Насчёт adOpenKeyset - без него VB ругался, что что-то там not bookmarkable. Насчёт всего остального - спасибо, сейчас попробую. Кстати, ConnGrid.Mode что задаёт? Режим доступа к гриду? А если поставить read, то грид будет доступен только для чтения? Mode указывает разрешения для изменения данных в Connection (не к гриду). Ты же пишешь: Set ConnGrid = CreateObject("ADODB.Connection") Страница: 1 |
Вопрос: ADO + DataGrid
Добавлено: 06.02.03 05:27
Автор вопроса: Павел | Web-сайт:
Set RSGrid = CreateObject("ADODB.Recordset")
CurDir = AppPath("db\forum.mdb")
ConnGrid.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & CurDir
RSGrid.Open "Select id,subject,username,mail From messages WHERE thread_parent = 0 and is_delete <> true Order By data DESC", ConnGrid, adOpenKeyset
Set Grid.DataSource = RSGrid
Grid.Refresh
Ответы
Всего ответов: 3
Номер ответа: 1
Автор ответа:
vitus
Вопросов: 9
Ответов: 43
Web-сайт:
Профиль | | #1
Добавлено: 06.02.03 07:05
Dim CurDir As String
'Dim ConnGrid As ADODB.Connection
'Dim RSGrid As ADODB.Recordset
Set RSGrid = CreateObject("ADODB.Recordset")
'Set ConnGrid = New ADODB.Connection
'Set RSGrid = New ADODB.Recordset
ConnGrid.Mode = adModeReadWrite
ConnGrid.CursorLocation = adUseClient
ConnGrid.Open "Provider=Microsoft.Jet.OLEDB.4.0ata Source=" & CurDir
RSGrid.Open "Select * From facultet", ConnGrid, adOpenDynamic, adLockOptimistic, adCmdText ' adOpenKeyset это лишнее
Grid.Refresh
Номер ответа: 2
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #2
Добавлено: 06.02.03 08:33
Номер ответа: 3
Автор ответа:
Alex&r
Вопросов: 10
Ответов: 105
Профиль | | #3
Добавлено: 06.02.03 09:36
Использование adModeRead повышает производительность. Для изменения структуры БД с помощью SQL используется adModeShareExclusive. Опять-таки, для сокращения нагрузки на соединения БД(экономии памяти), перед изменением свойств connection закрывают(Close), а затем опять открывают(Open). Для проверки состояния используется State.