Параметрический запрос

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
Чудик
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 639
Зарегистрирован: 06.07.2004 (Вт) 12:18
Откуда: г. Егорьевск

Параметрический запрос

Сообщение Чудик » 25.10.2005 (Вт) 12:46

Делаю так:
Код: Выделить всё
    Public dbq As DAO.QueryDef
    Public rsq As DAO.Recordset
    Public sqSQL As String

Потом так:
Код: Выделить всё
            sqSQL = "SELECT * FROM Firms Where Group='" & dr & "' And Firm='" & frmSpecifications.MSHFlexGrid1.TextMatrix(frmSpecifications.MSHFlexGrid1.Row, 5) & "';"
Set rsq = dbq.OpenRecordset(sqSQL)

на последней приведенной строчке спатыкается и пишет 91 ошибку с описанием типа: переменная не объвлена.
Подскажите, где чужу?
Век живи - век учись!
www.detal-plast.narod.ru

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 25.10.2005 (Вт) 12:58

А ты внимательно прочитай описание ошибки 91.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Чудик
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 639
Зарегистрирован: 06.07.2004 (Вт) 12:18
Откуда: г. Егорьевск

Сообщение Чудик » 25.10.2005 (Вт) 13:06

Вчитался (Object variable or With block variable not set), но не понял на что намек.
Не так, наверное, rsq объявил?
Век живи - век учись!
www.detal-plast.narod.ru

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 25.10.2005 (Вт) 13:21

dbq is nothing
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Чудик
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 639
Зарегистрирован: 06.07.2004 (Вт) 12:18
Откуда: г. Егорьевск

шошргпнпнпрн78н78н978

Сообщение Чудик » 25.10.2005 (Вт) 13:26

Код: Выделить всё
:wink: [b][i][u][quote][/quote][/u][/i][/b]
Век живи - век учись!
www.detal-plast.narod.ru

Чудик
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 639
Зарегистрирован: 06.07.2004 (Вт) 12:18
Откуда: г. Егорьевск

Сообщение Чудик » 25.10.2005 (Вт) 13:38

Добавил
Код: Выделить всё
Set dbq=DAO.OpenDatabase(App.Path & "\xxx.mdb")

Выдается несоответствие типов (ошибка времени выполнения 13).
Немного запутался.....
Век живи - век учись!
www.detal-plast.narod.ru

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 25.10.2005 (Вт) 13:44

Потому что это таблица и база - разные вещи...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Чудик
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 639
Зарегистрирован: 06.07.2004 (Вт) 12:18
Откуда: г. Егорьевск

Сообщение Чудик » 25.10.2005 (Вт) 14:16

Код: Выделить всё
set dbq=db.QueryDef("Firms")

Пишет, что элемент не обнаружен в данном семействе. Таблица Firms существует, база db открыта.
Век живи - век учись!
www.detal-plast.narod.ru

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 25.10.2005 (Вт) 14:21

TableDef?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Чудик
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 639
Зарегистрирован: 06.07.2004 (Вт) 12:18
Откуда: г. Егорьевск

Сообщение Чудик » 25.10.2005 (Вт) 14:29

TableDefs.
Пишет, что неподходит тип.
Век живи - век учись!
www.detal-plast.narod.ru

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 25.10.2005 (Вт) 14:39

Короче...
Что ты пытаешься сделать?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Чудик
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 639
Зарегистрирован: 06.07.2004 (Вт) 12:18
Откуда: г. Егорьевск

Сообщение Чудик » 25.10.2005 (Вт) 14:48

Пытаюсь построить параметрический запрос с параметрами Group (группа фирм) и Firm (наименование фирмы).
Пытаюсь из таблицы выбрать запись, где бы Group=x, а Firm=y.
Век живи - век учись!
www.detal-plast.narod.ru

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 25.10.2005 (Вт) 15:36

Когда-нибудь с базой работал?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Чудик
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 639
Зарегистрирован: 06.07.2004 (Вт) 12:18
Откуда: г. Егорьевск

Сообщение Чудик » 25.10.2005 (Вт) 16:55

Работал, но без параметрических запросов. Решил попробовать ....
Век живи - век учись!
www.detal-plast.narod.ru

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 25.10.2005 (Вт) 18:15

Я просто к тому, что если человек путает понятия "таблица" и "база", а также переменные типа "таблица", "база" и "запрос", то, видимо, он не работал с базой...

Открою тебе страшную тайну...
То, что ты делаешь, не есть параметрический запрос.
Параметический запрос.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Чудик
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 639
Зарегистрирован: 06.07.2004 (Вт) 12:18
Откуда: г. Егорьевск

Сообщение Чудик » 26.10.2005 (Ср) 18:29

Я уже подозревал, что здесь что-то не так!
Чего-то у меня никак с параметрическими запросами не идет.
Нельзя ли какой-нибудь практический пример привести, чисто для дураков?
Век живи - век учись!
www.detal-plast.narod.ru

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 26.10.2005 (Ср) 18:39

Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Чудик
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 639
Зарегистрирован: 06.07.2004 (Вт) 12:18
Откуда: г. Егорьевск

Сообщение Чудик » 27.10.2005 (Чт) 10:13

Код: Выделить всё
           MyFirm = frmSpecifications.MSHFlexGrid1.TextMatrix(1, 5)
            SearchParam = "PARAMETERS (MyFirm) TEXT; "

            dr = "Buyer"
            sqSQL = SearchParam & "SELECT * FROM Firms Where Group='" & dr & _
            "' And Firm =MyFirm;"
            Debug.Print sqSQL
            Set dbq = db.CreateQueryDef("Firms2", sqSQL)
            Set rsq = dbq.OpenRecordset(sqSQL)
            .Label4(1).Caption = frmSpecifications.MSHFlexGrid1.TextMatrix(1, 5) & vbCrLf & rsq!LawAddress
            rsq.Close

Выдает ошибку синтаксиса в запросе WHERE.
Век живи - век учись!
www.detal-plast.narod.ru

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 27.10.2005 (Чт) 11:13

Ещё бы.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 1

    TopList