Ошибка открытия Recordset'а

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
burik
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 514
Зарегистрирован: 03.11.2005 (Чт) 22:04
Откуда: Беларусь, Рогачев

Ошибка открытия Recordset'а

Сообщение burik » 29.04.2007 (Вс) 23:28

Привет всем!

У кого нибудь возникала ошибка при открытии Recordset'а:

Run-time error '3061':
слишком мало параметров. Требуется 1.


Код: Выделить всё
Function GetOrg(ByVal RasSchet As String) As String
    Dim bd As dao.Database, rr As dao.Recordset
    Dim tmp as String
    cdb = GetSetting("PlatManager", "Options", "DB")
    Set bd = dao.OpenDatabase(cdb)
    tmp = "SELECT * FROM Org WHERE (RSchet='" & RasSchet & "')"
    Set rr = bd.OpenRecordset(tmp)
    ....
End Function
Между слухов, сказок, мифов,
просто лжи, легенд сомнений
мы враждуем жарче скифов
за несходство заблуждений
Игорь Губерман

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Сообщение dr.MIG » 30.04.2007 (Пн) 13:33

А разве после WHERE ставятся скобки? :roll:
Salus populi suprema lex

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 30.04.2007 (Пн) 13:37

Ну то что они не мешают, это точно.
Изображение

Kostyan
Постоялец
Постоялец
 
Сообщения: 439
Зарегистрирован: 20.09.2002 (Пт) 4:14
Откуда: Россия, Уссурийск

Сообщение Kostyan » 30.04.2007 (Пн) 17:05

---
Последний раз редактировалось Kostyan 01.05.2007 (Вт) 2:10, всего редактировалось 1 раз.
Нет ничего невозможного для человека с интеллектом.

EUGY
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 214
Зарегистрирован: 09.11.2006 (Чт) 22:51
Откуда: Мурманск

Сообщение EUGY » 30.04.2007 (Пн) 19:22

Причем здесь БД?

What is RasSchet ? Что за условия с неизвестным синтаксисом передаются через неё?
P.S. может в ней сто "кавычек".
Запросы с параметрами исправят ситуацию?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 30.04.2007 (Пн) 20:05

Покажи содержимое RasSchet. Наверняка в нем есть выражение, которое интерпретируется как параметр (именованный или анонимный).
Lasciate ogni speranza, voi ch'entrate.

burik
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 514
Зарегистрирован: 03.11.2005 (Чт) 22:04
Откуда: Беларусь, Рогачев

Сообщение burik » 01.05.2007 (Вт) 11:40

RasSchet - имя поля. это база организаций и RasSchet - это счет организации.

В данном случае RasSchet = "3012200380026"

P. S. В базе это поле - строка
Между слухов, сказок, мифов,
просто лжи, легенд сомнений
мы враждуем жарче скифов
за несходство заблуждений
Игорь Губерман

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Сообщение dr.MIG » 01.05.2007 (Вт) 12:22

Тогда проверь строку tmp = "SELECT * FROM Org WHERE (RSchet='" & RasSchet & "')"
Точно в таблице поле называется RSchet? Ещё проверь, чтобы все буквы были написаны в одной раскладке клавиатуры. Именно такая ошибка и возникает при этом...
Salus populi suprema lex

burik
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 514
Зарегистрирован: 03.11.2005 (Чт) 22:04
Откуда: Беларусь, Рогачев

Сообщение burik » 01.05.2007 (Вт) 12:46

А, точно! В таблице поле написал не "RSchet", а "RShet".
Спасибо, dr.MIG, прото не знал где искать.
Между слухов, сказок, мифов,
просто лжи, легенд сомнений
мы враждуем жарче скифов
за несходство заблуждений
Игорь Губерман


Вернуться в Visual Basic 1–6

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

Сейчас этот форум просматривают: Majestic-12 [Bot] и гости: 54

    TopList