powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Проверка по всем полям
7 сообщений из 7, страница 1 из 1
Проверка по всем полям
    #39610557
regina54
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Не могу решить проблему.
В таблице есть несколько однотипных полей с числовыми значениями от 0 до 5.
Нужно сделать функцию, которая бы в записи определяла (true\false), что значения этих полей одинаковые, но при условии, что значение поля, "участвующего в сравнении" не равно 0. Как аргумент этой функции необходимо число, с которым сравнивается значение в таблице. Может это как-то можно сделать правильно? (пыталась с If... AND...., но какое-то нагромождение проверок получается.
...
Рейтинг: 0 / 0
Проверка по всем полям
    #39610572
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
regina54,
может подойдет вариант
Код: vbnet
1.
2.
select a1,a2,a3,a4,a5,a6  from tab 
where iif(nz(a1,0)>0  and a1=a2 and a2=a3 and a3=a4 and a4=a5 and a5=a6)=true
...
Рейтинг: 0 / 0
Проверка по всем полям
    #39610576
regina54
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПЕНСИОНЕРКА, спасибо, но как быть если, напр., поле а3=0, т.е. не участвует в сравнении? Получается неправильно
...
Рейтинг: 0 / 0
Проверка по всем полям
    #39610603
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
regina54

проверьте
--создайте базу
--создайте таблицу
--введите данные
013456120466111111333333330333
--создайте запрос по образцу


убедитесь, правильно ли ---останутся строки 111111 и 333333
...
Рейтинг: 0 / 0
Проверка по всем полям
    #39610611
хм-м-м
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
regina54ПЕНСИОНЕРКА, спасибо, но как быть если, напр., поле а3=0, т.е. не участвует в сравнении? Получается неправильноВот, смотрите:
where iif(nz(a1,0)>0 and a1=a2 and a2=a3.....
- сначала nz(a1,0)>0 убеждаемся, что a1 больше нуля;
- затем a1=a2 убеждаемся, что точно так же a2 больше нуля, раз равно a1;
- и наконец a2=a3 убеждаемся в том же для a3 (если a3 = 0, то условие a2=a3 не выполнится).
И так далее.
...
Рейтинг: 0 / 0
Проверка по всем полям
    #39610615
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
regina54 , я верно понимаю, что:
1) нужно создать именно функцию, а не запрос?
2) нужно отобрать записи, в которых все поля, значения которых не равны нулю, имеют одно и то же значение? или имеют одно и то же заданное Вами значение?
...
Рейтинг: 0 / 0
Проверка по всем полям
    #39610890
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сами решите что делать если поле(я) пусты или все 0
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Function my(cod) 'аргумент кодовое поле(счетчик)
Dim i, zn1, znTek, znSl, str
For i = 1 To 6
    zn1 = DLookup("ctl" & i, "tbl", "id=" & cod)
    If zn1 <> 0 Then str = str & zn1
Next
For i = 1 To Len(str) - 1
    znTek = Mid(str, i, 1)
    znSl = Mid(str, i + 1, 1)
    If znTek = znSl Then
        my = True
            Else
        my = False
        Exit Function
    End If
Next
End Function
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Проверка по всем полям
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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