рассуждение на тему ADO

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

рассуждение на тему ADO

Сообщение fun » 18.08.2005 (Чт) 12:01

просто ради интереса, может кто скажет где дуплю, пишу прогу простою как валенок (работа с БД)

имеем два рекордсета и две таблици
связаны они просто через свойства (в смысле до компиляции)
свойства рекордсетов и таблиц идентичны

Код: Выделить всё

'если в первой
rst1.Filter="idls='3'"
'выбирает idls=3
'а потом
rst1.Filter=""
'показует все записи
'~~~~~~~~~~~~~~~~~~~~~~~~
'то во второй
rst1.Filter="idls='3' OR idls='4'"
'выбирает idls=3 или 4
'а потом
rst1.Filter=""
'показует ноль записей

вопрос почему?
когда он такое с MySql делает понятно но я то с Access играюсь
VB6,Access 2003, Microsoft.Jet.OLEDB.4.0
CPU not found! Starting software emulation.

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

Сообщение GSerg » 18.08.2005 (Чт) 12:06

Вообще-то, для сброса фильтра юзается .Filter = adFilterNone...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

fun
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 18.08.2005 (Чт) 11:39

Сообщение fun » 18.08.2005 (Чт) 12:15

я конечно не претендую на полную обективность но что при .Filter=""
что при .Filter = adFilterNone присваюется .Filter =0.

.Filter="" взято с MSDN, а .Filter = adFilterNone тоже не работает
CPU not found! Starting software emulation.

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

Сообщение GSerg » 18.08.2005 (Чт) 12:19

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

fun
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 18.08.2005 (Чт) 11:39

Сообщение fun » 18.08.2005 (Чт) 12:29

та в рекордсете записи есть они просто до таблици не доходят,
я конечно сделаю через

strSql="SELECT * FROM tabIdls"
rst2.Open strSql
set datagrid2.DataSource=nothing
set datagrid2.DataSource=rst2

но впринципе неправильно єто как то

та и еще кое что руками делать прийдется
CPU not found! Starting software emulation.

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

Сообщение GSerg » 18.08.2005 (Чт) 12:44

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

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

Сообщение Алексей К. » 18.08.2005 (Чт) 12:49

У тебя после фильтра рекордсета, сколько Recordcount? Если 0 то и нечего отображать, а если не ноль, то попробуй обновить грид так:
...фильтруешь рекордсет
set datagrid2.DataSource=nothing
set datagrid2.DataSource=rst2 - фильтрованный

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

Сообщение GSerg » 18.08.2005 (Чт) 12:51

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

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

Сообщение Алексей К. » 18.08.2005 (Чт) 13:06

:oops:

fun
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 18.08.2005 (Чт) 11:39

Сообщение fun » 18.08.2005 (Чт) 13:46

та так

deMain.rscomIdLsUmc.Filter = ""
Set DataGrid1.DataSource = Nothing
Set DataGrid1.DataSource = deMain.rscomIdLsUmc

я уже 2 часа как сделал

меня мучает че он фильтр как положено сбрасывать не хочет

а свойства рекордсетов и таблиц я очень крепко проверил раз 20-идентичны
CPU not found! Starting software emulation.

fun
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 18.08.2005 (Чт) 11:39

Сообщение fun » 18.08.2005 (Чт) 13:47

а если у VB6 это нормально и часто встречается то тему можно закрывать
CPU not found! Starting software emulation.

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

Сообщение GSerg » 18.08.2005 (Чт) 14:00

Нет, это не нормально.

http://support.microsoft.com/default.as ... -us;223064
Ставь сервис-пак.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

fun
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 18.08.2005 (Чт) 11:39

Сообщение fun » 18.08.2005 (Чт) 14:58

я получил ответ на вопрос что єто такое и как с ним боротся, спасибо
CPU not found! Starting software emulation.


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

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

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

    TopList