Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / В запросе побитная проверка / 8 сообщений из 8, страница 1 из 1
27.02.2003, 20:30
    #32112387
ShВасилий
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В запросе побитная проверка
Уже измучился!
То, что работает в коде не работает в запросе.
"Select * From AAA Where (a and 4)=4"
те нужно выбрать с определёнными битами.
...
Рейтинг: 0 / 0
28.02.2003, 11:16
    #32112580
Julius
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В запросе побитная проверка
"SELECT * FROM AAA WHERE (a bAnd 4) = 4"
...
Рейтинг: 0 / 0
28.02.2003, 12:07
    #32112634
ShВасилий
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В запросе побитная проверка
В Visual Basic вообще не кушает!
В Access ошибку не даёт но и не работает - выборка 0!
...
Рейтинг: 0 / 0
28.02.2003, 13:10
    #32112690
IgorM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В запросе побитная проверка
... WHERE MyAnd(Поле, Маска) > 0

Public Function MyAnd(f As Long, m As Long) As Long
MyAnd = f And m
End Function

Или ... WHERE ((Поле \ Маска) mod 2) = 1, но это для выделения только одного
бита.
...
Рейтинг: 0 / 0
28.02.2003, 13:21
    #32112694
ShВасилий
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В запросе побитная проверка
Можно использовать функцию в запросе - но это только в Access, а что делать при обращении к Базе Ассess но из VB ADODB?
...
Рейтинг: 0 / 0
28.02.2003, 14:44
    #32112772
Julius
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В запросе побитная проверка
bAnd - единственный вариант, если обращение идет через ADO не из Access. И он должен работать. Сделал таблицу из одной записи:

CREATE TABLE Таблица (
Число int PRIMARY KEY
)

Записал в нее одно число - 4 в единственное поле. попробовал выполнить ADO запрос через Access (Immediate Window VBA):

? currentproject.Connection.Execute("SELECT * FROM Таблица WHERE (Число bAnd 4) = 4").Fields(0)
4

Ищите ошибку где-то еще.
...
Рейтинг: 0 / 0
28.02.2003, 15:59
    #32112853
ShВасилий
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В запросе побитная проверка
Ну не работает и всё тут!
язык Visual Basic 6, ADO
база Access 97
Драйвер ODBC Microsoft Access выдаёт Ошибка синтаксиса (пропущен оператор) в выражении запроса ((ТипКлиента) bAnd (31))
Set adoPrimaryRS = db.execute("SELECT * From Клиенты"+ _
" Where ((ТипКлиента) bAnd (31)) >0"
убираю 'b' из band - и ошибка пропадает но результат - false/true
...
Рейтинг: 0 / 0
28.02.2003, 18:22
    #32112965
Julius
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В запросе побитная проверка
Ну, не знаю. Может быть bAnd появилось в Jet 4.0, а не в 3.5, или какую там использует Access 97? У меня все работает правильно (Access XP, Jet 4). Попробуйте ждро Jet обновить (это в обновлениях к windows должно быть)
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / В запросе побитная проверка / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]