err. слишком сложный запрос

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
shady
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 09.11.2005 (Ср) 11:03

err. слишком сложный запрос

Сообщение shady » 05.09.2006 (Вт) 12:44

открываю таблицу dbf SELECT *... (для наглядности в гриде отражаю этот рекордсет)
Код: Выделить всё
adOpenDynamic, adLockOptimistic

нужно обновлять записи след. образом
Код: Выделить всё
rsDZ!kat_sobs = rsCust("kat_sobs").Value

затем нужно
Код: Выделить всё
rsDZ.MoveNext

и тут мне ошибка
Код: Выделить всё
[b]слишком сложный запрос[/b]

тоже самое происходит если изменения делать в гриде
почему такое может происходить?

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 05.09.2006 (Вт) 13:43

тип поля не распознается поставщиком данных, имхо
скорее всего там длинный текст(мемо поле)

shady
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 09.11.2005 (Ср) 11:03

Сообщение shady » 05.09.2006 (Вт) 14:38

нет, тип поля char(3).
единственное грешу на то что в таблице > 100 полей при этом еще > 38 000 записей
вот такая база досталась... :(

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 05.09.2006 (Вт) 14:48

попробуй сделать выборку с указанием конкретных полей, а не *

shady
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 09.11.2005 (Ср) 11:03

Сообщение shady » 05.09.2006 (Вт) 15:03

это я пробывал делать в самом начале, тогда ругается:
Недостаточные или неполные сведения о ключевом поле. Обновление влияет на слишком большое число строк

примерно так, писал по памяти

HandKot
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 283
Зарегистрирован: 28.06.2006 (Ср) 13:34
Откуда: Sergiev Posad

Сообщение HandKot » 05.09.2006 (Вт) 15:16


shady
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 09.11.2005 (Ср) 11:03

Сообщение shady » 05.09.2006 (Вт) 15:40

:( нет не это

Nicky
Постоялец
Постоялец
 
Сообщения: 519
Зарегистрирован: 12.08.2004 (Чт) 12:14

Re: err. слишком сложный запрос

Сообщение Nicky » 05.09.2006 (Вт) 17:02

shady писал(а):
Код: Выделить всё
rsDZ!kat_sobs = rsCust("kat_sobs").Value
rsDZ.MoveNext

и тут мне ошибка ...

Код: Выделить всё
rsDZ!kat_sobs.Edit
rsDZ!kat_sobs = rsCust("kat_sobs").Value
rsDZ!kat_sobs.Update
rsDZ.MoveNext

?

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

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

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

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 06.09.2006 (Ср) 8:27

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

sebas<-@->mail.ru

Алексей К.
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 12.05.2004 (Ср) 9:41
Откуда: Ульяновск

Сообщение Алексей К. » 06.09.2006 (Ср) 9:37

Код: Выделить всё
rsDZ!kat_sobs = rsCust("kat_sobs").Value
rsDZ.MoveNext

на какой строке ругается: на обновлении или на переходе на след. запись?
Так пробовал?
Код: Выделить всё
rsDZ!kat_sobs = rsCust("kat_sobs").Value
rsDZ!kat_sobs.Update
rsDZ.MoveNext

shady
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 09.11.2005 (Ср) 11:03

Сообщение shady » 06.09.2006 (Ср) 9:39

запрос многотабличный?

единственное грешу на то что в таблице > 100 полей при этом еще > 38 000 записей
- 1 таблица

Так пробовал?

пробывал, тоже самое.

Алексей К.
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 12.05.2004 (Ср) 9:41
Откуда: Ульяновск

Сообщение Алексей К. » 06.09.2006 (Ср) 9:46

Код: Выделить всё
rsDZ!kat_sobs = rsCust("kat_sobs").Value
rsDZ.MoveNext


Дубль два...
на какой строке ругается: на обновлении или на переходе на след. запись?
Добавлено позже:
shady писал(а):это я пробывал делать в самом начале, тогда ругается:
Недостаточные или неполные сведения о ключевом поле. Обновление влияет на слишком большое число строк

примерно так, писал по памяти

Попробуй еще раз без *, но не забудь указать в списке полей и ключ. поле "Код/ID" - которое уникально для каждой записи

shady
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 09.11.2005 (Ср) 11:03

Сообщение shady » 06.09.2006 (Ср) 10:38

дубль два :)
затем нужно
rsDZ.MoveNext
и тут мне ошибка


Попробуй еще раз без *, но не забудь указать в списке полей и ключ. поле "Код/ID" - которое уникально для каждой записи

база с которой я работаю (которая мне досталась от предшественника) нет ID.
повторяюсь это dbf

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 06.09.2006 (Ср) 10:58

ключевое поле отсутствует - вот в этом и причина. Попробуй использовать другой провайдер: Visual FoxPro, например.
и поставь BDE , если это не DBF вовсе, а отрыжка от Borland Paradox


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 120

    TopList  
cron