powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Условие отбора Все или Конкретное
25 сообщений из 36, страница 1 из 2
Условие отбора Все или Конкретное
    #40119176
Cheradak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет. Есть запрос, в одном из полей стоит условие отбора [TempVars]![имя]. Переменная задается на форме. В таблице поле числовое и имеет значения от 1 и выше. Как сделать, что при отсутствии нужного числа из переменной в таблице отображались все записи? Например, если переменная имеет число 0, то выведутся все записи, а если он а содержит число совподающее со значением поля, то отобразятся только нужные записи. Пробовал [TempVars]![имя] OR Like "*" [TempVars]![имя] Or Is Not Null Не работает. Выводятся всегда все записи независимо от переменной.
...
Рейтинг: 0 / 0
Условие отбора Все или Конкретное
    #40119180
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cheradak
Пробовал [TempVars]![имя] OR Like "*" [TempVars]![имя] Or Is Not Null Не работает
ты запрос в режиме SQL показывай, а не этот бред

Код: sql
1.
2.
3.
select ...
from ...
where fld=[TempVars]![имя] or [TempVars]![имя]=0 
...
Рейтинг: 0 / 0
Условие отбора Все или Конкретное
    #40119186
Cheradak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plsql
1.
2.
3.
SELECT people.id, people.name
FROM people
WHERE (((people.id)=[TempVars]![id]));
...
Рейтинг: 0 / 0
Условие отбора Все или Конкретное
    #40119295
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cheradak,
Код: vbnet
1.
...WHERE IIf(DCount("*","tbl","поле=" & [введите значение])>0,поле=[введите значение],True)

Если форма нужна то запрос параметра(в кв.скобках) из поля формы-если нет параметр запросится при запуске запроса.
...
Рейтинг: 0 / 0
Условие отбора Все или Конкретное
    #40119303
Cheradak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku,

Если вводить значение, то работает, а если указать переменную, то уже не работает.
...
Рейтинг: 0 / 0
Условие отбора Все или Конкретное
    #40119304
vixxa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cheradak,
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Dim Flag
Flag = Currentproject.connection.execute("SELECT Count(ID) AS [Count-ID] FROM TempVars WHERE TempVars = " &  Контрол_на_форме Или Имя_переменной & "").fields(0)
If Flag = 0 Then
' Выводим кудой надоть все записи
Else
' Выводим кудой надоть нужные записи
End If
...
Рейтинг: 0 / 0
Условие отбора Все или Конкретное
    #40119315
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cheradak,
Все зависит от того ЧТО именно Вы хотите. Зачем нужна переменная для решения задачи, Вами изложенной???
...
Рейтинг: 0 / 0
Условие отбора Все или Конкретное
    #40119317
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cheradak
sdku,
Если вводить значение, то работает, а если указать переменную, то уже не работает.
...
Рейтинг: 0 / 0
Условие отбора Все или Конкретное
    #40119320
vixxa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vixxa
Cheradak,
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Dim Flag
Flag = Currentproject.connection.execute("SELECT Count(ID) AS [Count-ID] FROM TempVars WHERE TempVars = " &  Контрол_на_форме Или Имя_переменной & "").fields(0)
If Flag = 0 Then
' Выводим кудой надоть все записи
Else
' Выводим кудой надоть нужные записи
End If


Блин, читать WHERE TempVars = WHERE имя =
...
Рейтинг: 0 / 0
Условие отбора Все или Конкретное
    #40119326
Cheradak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku,
Переменная это код предприятия, задается один раз и далее работается с ним.
У форм источник записи запрос, в котором стоит условие отбора по этому коду предприятия.
Поэтому и нужно, либо отобразить конкретное предприятия либо все, если вдруг в переменной будет код которого нет в отбираемом поле
vixxa,

Речь идет о запросе. В него код VBA не пишется.
...
Рейтинг: 0 / 0
Условие отбора Все или Конкретное
    #40119348
vixxa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vixxaРечь идет о запросе. В него код VBA не пишется.
А я вам и не предлагаю туда тулить код VBA.
Заранее исключаю академический интерес к написанию SQL запросов в среде (и в конструкторе запросов) access и учитывая ваш предыдущий пост:
CheradakУ форм источник записи запрос, в котором стоит условие отбора по этому коду предприятия.
предлагаю мною предложенный код (а, гораздо лучше, вами! написанный код) поставить на источник данных юзаемых вами ваших форм. И думаю надеюсь, - будет вам счастье.

P.S.
CheradakПоэтому и нужно, либо отобразить конкретное предприятия либо все, если вдруг в переменной будет код которого нет в отбираемом поле
Если не секрет, как у вас в приложении может появиться переменная, которая, якобы "это код предприятия, задается один раз и далее работается с ним" и, в то же время, "в переменной будет код которого нет в отбираемом поле" ? Я сомневаюсь извиняюсь спросить, ваши пользователи эту переменную каждый раз вводят вручную?, не выбирая из имеющихся наборов данных???
Если что, вопрос риторический!
...
Рейтинг: 0 / 0
Условие отбора Все или Конкретное
    #40119350
Cheradak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vixxa,

Код выбирается из списка. Например каждый пользователь видит только свое предприятие, а администратор может видеть все предприятия. Код пользователя = код предприятия. При этом администраторов может быть несколько и у каждого свой код.
...
Рейтинг: 0 / 0
Условие отбора Все или Конкретное
    #40119358
vixxa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cheradak
vixxa,

Код выбирается из списка. Например каждый пользователь видит только свое предприятие, а администратор может видеть все предприятия. Код пользователя = код предприятия. При этом администраторов может быть несколько и у каждого свой код.

Опять таки, не вижу причин извращаться именно с запросом (подозреваю, с сохраненным, не?).
Уровень доступа к данным у вас все равно на уровне формы: "Код выбирается из списка."
Сделайте Администраторам копии форм с расширенными доступами: в список -> "видеть все предприятия", без всяких заморочек с проверками кодов предприятий, а юзерам - убрать список выбора кода, рекорсеты форм фильтровать на код пользователя/код предприятия. Хотя...
На каждом предприятии только один пользователь?: "Код пользователя = код предприятия."
Если честно, тяжеловато догадываться, что конкретно вы имеете в виду, не видя структуры базы.
...
Рейтинг: 0 / 0
Условие отбора Все или Конкретное
    #40119363
Cheradak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vixxa,

Запрос сохранен. А вот копии форм это уже извращение, т.к. при изменении формы придется и вторую редактировать. На основании кода пользователя еще формируются десятки запросов о статистике, поэтому удобнее использовать временную переменную. И мне хотелось бы знать возможно ли решение моего вопроса, а не переделывать все.
...
Рейтинг: 0 / 0
Условие отбора Все или Конкретное
    #40119364
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cheradak,
Повангуем малеха:уж не тривиальный ли поиск вы хотите организовать?
Если хотите создавать новые записи то свойство "ограничиться списком" установите в НЕТ
...
Рейтинг: 0 / 0
Условие отбора Все или Конкретное
    #40119367
vixxa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cheradak
vixxa,

Запрос сохранен. А вот копии форм это уже извращение, т.к. при изменении формы придется и вторую редактировать. На основании кода пользователя еще формируются десятки запросов о статистике, поэтому удобнее использовать временную переменную. И мне хотелось бы знать возможно ли решение моего вопроса, а не переделывать все.

Я пас
...
Рейтинг: 0 / 0
Условие отбора Все или Конкретное
    #40119377
vixxa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku
Cheradak,
Повангуем малеха:уж не тривиальный ли поиск вы хотите организовать?

Продолжу вангование...
ТС, может это:
1.
Код: vbnet
1.
2.
3.
SELECT имя
FROM TempVars
WHERE имя = ALL (SELECT имя FROM TempVars WHERE имя = -1);


2. ...TempVars WHERE имя = " & Forms!Form1.поле & ")";
3. ...TempVars WHERE имя = " & переменная & ")";
...
Рейтинг: 0 / 0
Условие отбора Все или Конкретное
    #40119436
Cheradak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вы с вангованием зашли уже слишком далеко от сути вопроса
...
Рейтинг: 0 / 0
Условие отбора Все или Конкретное
    #40119444
Cheradak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если строить IFF, то не выполняется действие при False
Код: vbnet
1.
IIf([TempVars]![id]=[id];[TempVars]![id];>0)



Код: vbnet
1.
IIf([TempVars]![id]=[id];[TempVars]![id]) OR IIf([TempVars]![id]<>[id];[id]>0)
...
Рейтинг: 0 / 0
Условие отбора Все или Конкретное
    #40119508
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cheradak
Вы с вангованием зашли уже слишком далеко от сути вопроса


это потому, что сути вопроса не было...
выложил бы пример с одной формой и 10-ю записями - получил бы сразу ответ, а так сопли и слюни скоро на вторую страницу начнут наматываться...
...
Рейтинг: 0 / 0
Условие отбора Все или Конкретное
    #40119510
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cheradak,
1. если
Код: vbnet
1.
....WHERE true

выводятся ВСЕ записи,если
Код: vbnet
1.
....WHERE условие 

отбираются записи удовлетворяющие условию,если
Код: vbnet
1.
....WHERE false 

не выводится ничего-так какого действия Вы ожидаете

2.синтаксис (читайте справку) IIF:условие,значение если условие TRUE,значение если условие FALSE. У Вас же в первом выражении третий аргумент ">0" (выводить по Вашей логике любое число >0,а какое именно: 3,5,10,20 или 1000000000) а во втором выражении во втором IIF второй аргумент условие-ну и что выводить бедной железяке по имени РС

3.Если Вы хотите конкретной помощи изложите неведомую форумчанам задачу, а не то как Вы её(неведомо что) пытаетесь криво решить
...
Рейтинг: 0 / 0
Условие отбора Все или Конкретное
    #40119522
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cheradak
Как сделать, что при отсутствии нужного числа из переменной в таблице отображались все записи? Например, если переменная имеет число 0, то выведутся все записи, а если он а содержит число совподающее со значением поля, то отобразятся только нужные записи.

формы... переменные... би ор нот ту би...
посмотри пример, может навеет...
...
Рейтинг: 0 / 0
Условие отбора Все или Конкретное
    #40119711
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cheradak
На основании кода пользователя еще формируются десятки запросов о статистике, поэтому удобнее использовать временную переменную. И мне хотелось бы знать возможно ли решение моего вопроса, а не переделывать все.


Если уж так хочется в любом месте засунуть код в переменную и забыть про это место, а потом использовать эту переменную в условии отбора в любом месте, то можно эту переменную в общем модуле обернуть в функцию...
Кстати, чтоб понять, что это работает:
- при старте открывается весь товар...
- выбери например овощи в списке
- закрой форму (только форму, а не базу)
- открой форму снова и будет не весь товар, а выбранные ранее овощи...
Кажется я это где-то тут уже демонстрировал...
...
Рейтинг: 0 / 0
Условие отбора Все или Конкретное
    #40119744
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cheradak
В таблице поле числовое и имеет значения от 1 и выше.
не помню уже как в аксе
но логика такая
where if(переменная =0, true, поле =переменная)

если переменная равна нулю то возвращается true , и выводятся все записи
если не 0 то по условию поле =переменная
...
Рейтинг: 0 / 0
Условие отбора Все или Конкретное
    #40119753
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cheradak
... Например, если переменная имеет число 0, то выведутся все записи, а если он а содержит число совподающее со значением поля, то отобразятся только нужные записи.
Как это сделать я Вам показал..
sdku
Cheradak
sdku,
Если вводить значение, то работает, а если указать переменную, то уже не работает.
Вы бы разобрались(почитали про переменные) инициализирована ли она к моменту передачи в процедуру,область видимости,время жизни.
Cheradak
sdku,
Переменная это код предприятия...
Я смутно подозреваю что "переменной" Вы обзываете значение поля-как следствие никто ничего не понимает
Необходимости же создания переменной для решения Вашей задачи нет никакой (от слова АБСОЛЮТНО)
...
Рейтинг: 0 / 0
25 сообщений из 36, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Условие отбора Все или Конкретное
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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