Где изменить настройки в Access2010 что бы созданные программы в Access2000 заработали?
2discover
Дата: 13.12.2011 15:50:33
Какие и Где изменить настройки в Access2010 что бы созданные прог. в Acc.2000 заработали корректно?
Выставляю [Всего_от] скажем >=50 или 700 а программа отбирает всё > 0 и также только наоборот [Всего_до]. Так же и остальные поля по фильтру. Проверил несколько программ все глючат, Явно проблема в настройках
ПРИМЕР КОДА:
Private Sub Фильтр_Click() | Dim filt As String | filt = "True" | ' Отбор по полю ВСЕГО от | If Len(Всего_от) <> 0 Then | filt = filt & " And [Всего] >= Forms![Фрм_просмотр]!Всего_от" | End If | ' Отбор по полю ВСЕГО до | If Len(Всего_до) <> 0 Then | filt = filt & " And [Всего] <= Forms![Фрм_просмотр]!Всего_до" | End If |
|
band-rk
Дата: 13.12.2011 15:55:36
2discover |
---|
Какие и Где изменить настройки в Access2010 что бы созданные прог. в Acc.2000 заработали корректно? Выставляю [Всего_от] скажем >=50 или 700 а программа отбирает всё > 0 и также только наоборот [Всего_до]. Так же и остальные поля по фильтру. Проверил несколько программ все глючат, Явно проблема в настройках ПРИМЕР КОДА:
Private Sub Фильтр_Click() | Dim filt As String | filt = "True" | ' Отбор по полю ВСЕГО от | If Len(Всего_от) <> 0 Then | filt = filt & " And [Всего] >= Forms![Фрм_просмотр]!Всего_от" | End If | ' Отбор по полю ВСЕГО до | If Len(Всего_до) <> 0 Then | filt = filt & " And [Всего] <= Forms![Фрм_просмотр]!Всего_до" | End If |
|
|
А что, одного поста не хватало??? А с тэгами – опять промах
mds_world
Дата: 13.12.2011 16:00:18
Это не настройки. Вы пытаетесь проверить пустые поля форм с помощью Len, сравнивая Len(поле) с нулем. Но если поле пустое, оно может быть NULL и ваше сравнение неверно, поскольку len(null) будет null. Если хотите len, то сначала примените NZ или isnull.
alvk
Дата: 13.12.2011 16:12:19
If Len(Всего_до) <> 0 If Всего_до > 0
2discover
Дата: 13.12.2011 16:16:52
mds_world,
В 2000 ВЕРСИИ всё работало тип-топ у меня мин. Пол сотни параметров на эту кнопку и всё не работает
mds_world
Дата: 13.12.2011 17:06:12
2discover |
---|
mds_world,
В 2000 ВЕРСИИ всё работало тип-топ у меня мин. Пол сотни параметров на эту кнопку и всё не работает |
В любой версии поставьте курсор на числовое поле привязанной к таблице формы. Перейдите в редактор ВБА и опросите поле. Если поле пустое, получите NULL
?Len(screen.ActiveControl)
Null
2discover
Дата: 13.12.2011 17:32:23
mds_world,
Уверен проблема в настройки или в этом роде. Все фильтры глючат, хоть прописаны правильно.
Вот другой пример к логическому полю.
' Отбор по полю Ст1
If Not IsNull(Ст1) Then
filt = filt & " And [Столбец1] = Forms![АВТО_просмотр]!Ст1"
End If
mds_world
Дата: 13.12.2011 17:49:07
2discover,
а как глюк проявляется? Ошибки? Или неверно фильтруется?
Если ошибки, то какие? Если неправильно фильтрует, то в чем отличие от правильного?
непоймучка
Дата: 13.12.2011 18:01:24
2discover |
---|
mds_world,
Уверен проблема в настройки или в этом роде. Все фильтры глючат, хоть прописаны правильно. Вот другой пример к логическому полю.
' Отбор по полю Ст1
If Not IsNull(Ст1) Then
filt = filt & " And [Столбец1] = Forms![АВТО_просмотр]!Ст1"
End If
|
Очевидно, вы в этом коде, по окончании сбора строки filt устанавливаете ее в качестве фильтра записей в форме.
Уточните как именно вы это делаете и покажите тут пример реального значения переменной filt в этот момент (точка останова и вывод в окно отладки).
2discover
Дата: 13.12.2011 18:30:05
mds_world,
Неправильно фильтрует,
так отмечая логический фильтр не выдаёт не одной записи.