Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.01.2011, 13:25   #1
DenProx
Форумчанин
 
Аватар для DenProx
 
Регистрация: 23.11.2009
Сообщений: 191
По умолчанию sql запрос в vba Access

Доброго времени суток. У меня такая проблемка: пытаюсь выполнить запрос в коде VB ... ошибок нет, но и запрос не срабаотывает... что может быть в нем не так??

Код:
Private Sub TreeView1_NodeClick(ByVal Node As Object)
Dim sKey As String
Dim rst As DAO.Recordset
Dim strSql As String
 
sKey = tvwKey(Me.TreeView1)
 
Me!Поле11 = sKey
Me!Поле11.Requery
 
strSql = " SELECT SingleQuestionMode.* " _
& "FROM tblTreeV INNER JOIN SingleQuestionMode ON tblTreeV.Group1=SingleQuestionMode.GroupID " _
& "WHERE SingleQuestionMode.GroupID = " & sKey & ";"
 
Set rst = CurrentDb.OpenRecordset(strSql)
 
End Sub
Чаще всего, у большенства людей, поиск Истины заканчивается набором слова в Гугле
DenProx вне форума Ответить с цитированием
Старый 20.01.2011, 14:16   #2
Swatch
Форумчанин
 
Регистрация: 05.07.2009
Сообщений: 209
По умолчанию

сначала обьявите создание запроса, а потом его открытие
Код:
Dim rst as QueryDef
Set rst=CurrentDb.CreateQueryDef ("имя запроса"," SELECT SingleQuestionMode.* " _
& "FROM tblTreeV INNER JOIN SingleQuestionMode ON tblTreeV.Group1=SingleQuestionMode.GroupID " _
& "WHERE SingleQuestionMode.GroupID = " & sKey & ";")
DoCmd.OpenQuery имя запроса
после имени запроса через запятую указываются режим открытия и режим данных. По умолчанию (т.е. можно не указывать) устанавливается режим таблицы и режим данных "На изменение".

Последний раз редактировалось Swatch; 20.01.2011 в 14:33. Причина: не тот метод
Swatch вне форума Ответить с цитированием
Старый 20.01.2011, 14:21   #3
DenProx
Форумчанин
 
Аватар для DenProx
 
Регистрация: 23.11.2009
Сообщений: 191
По умолчанию

я пробовал... тогда выдает ошибку:

Run-time '2342':

Для макрокоманды ЗапускЗапросаSQL требуется аргумент, состоящий из конструкции SQL.
Чаще всего, у большенства людей, поиск Истины заканчивается набором слова в Гугле
DenProx вне форума Ответить с цитированием
Старый 20.01.2011, 15:58   #4
shanemac51
Участник клуба
 
Аватар для shanemac51
 
Регистрация: 12.08.2010
Сообщений: 1,077
По умолчанию

''проверь --разрешены ли макросы по безопасности

Код:
Sub mm()
Dim skey
skey = 1
Dim rst As QueryDef
Set rst = CurrentDb.CreateQueryDef("www", " SELECT SingleQuestionMode.* " _
& "FROM tblTreeV INNER JOIN SingleQuestionMode ON tblTreeV.Group1=SingleQuestionMode.GroupID " _
& "WHERE SingleQuestionMode.GroupID = " & skey & ";")
DoCmd.OpenQuery "www"

End Sub
Имя-Галина== почта shanemac51@yandex.ru скайп shanemac51 c 8-15мск будни
Сфера интересов--word-excel-access-распознавание
shanemac51 вне форума Ответить с цитированием
Старый 21.01.2011, 06:59   #5
Woodlin
Форумчанин
 
Регистрация: 30.03.2010
Сообщений: 153
По умолчанию

DenProx попробуйте в конце строки запроса убрать & ";"
Woodlin вне форума Ответить с цитированием
Старый 21.01.2011, 07:24   #6
DenProx
Форумчанин
 
Аватар для DenProx
 
Регистрация: 23.11.2009
Сообщений: 191
По умолчанию

shanemac51 спасибо ! но это не совсем то что мне нужно. Я извиняюсь за не предоставленную информацию того что есть, и как должно быть.

Есть форма, на ней лежит TreeView при выборе какого либо элемента из этого "дерева" в подчиненной таблице которая находится на этой же форме, должны отобразиться записи относящиеся к этому элементу.

должна просто выполнится выборка, а таблица должна ее отобразить...

Woodlin это не помогает...
Чаще всего, у большенства людей, поиск Истины заканчивается набором слова в Гугле
DenProx вне форума Ответить с цитированием
Старый 21.01.2011, 07:43   #7
shanemac51
Участник клуба
 
Аватар для shanemac51
 
Регистрация: 12.08.2010
Сообщений: 1,077
По умолчанию

Код:
Private Sub TreeView1_NodeClick(ByVal Node As Object)
Dim sKey As String
Dim rst As DAO.Recordset
Dim strSql As String
 
sKey = tvwKey(Me.TreeView1)
 
Me!Поле11 = sKey
Me!Поле11.Requery
 
strSql = " SELECT SingleQuestionMode.* " _
& "FROM tblTreeV INNER JOIN SingleQuestionMode ON tblTreeV.Group1=SingleQuestionMode.GroupID " _
& "WHERE SingleQuestionMode.GroupID = " & sKey & ";"
 
Set rst = CurrentDb.OpenRecordset(strSql)
 '''''''''''''''''''''''''''''''''''''''''''''''''''где обработк""""""""""""""'""""""
End Sub
Имя-Галина== почта shanemac51@yandex.ru скайп shanemac51 c 8-15мск будни
Сфера интересов--word-excel-access-распознавание
shanemac51 вне форума Ответить с цитированием
Старый 21.01.2011, 07:46   #8
DenProx
Форумчанин
 
Аватар для DenProx
 
Регистрация: 23.11.2009
Сообщений: 191
По умолчанию

Товарищи! Проблема решена! решил простой запрос сделать, применить его как источник данных для подчиненной формы с таблицей, а в запрос передаю переменную ключа, выделенного элемента в TreeView )

Всем спасибо! Тему можно закрыть!
Чаще всего, у большенства людей, поиск Истины заканчивается набором слова в Гугле
DenProx вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SQL Запрос в MS Access kedbl4 SQL, базы данных 7 14.05.2010 01:31
Запрос на SQL в Access Hant111 SQL, базы данных 4 01.04.2010 22:48
Запрос SQL MS Access! Artanis SQL, базы данных 6 12.11.2009 20:05
Запрос SQL из Access в Delphi Talemir БД в Delphi 5 26.08.2009 20:46