powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Условие отбора Все или Конкретное
11 сообщений из 36, страница 2 из 2
Условие отбора Все или Конкретное
    #40119787
ValK412
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cheradak,

стоит проверить
не путается ли Ваш запрос с полем из глобального объекта Application.TempVars

Можно туда записывать, например
Application.TempVars!SavedValue=123
можно потом считывать, например
OldValue=Application.TempVars!SavedValue '=123

Ваше поле для запроса нужно переименовать во что-то более похожее по смыслу (KodPredpriyatiya)
Исользовать имя TempVars для чего либо (кроме сохранения значений между сеансами) - разбрасывать себе грабли под ноги
...
Рейтинг: 0 / 0
Условие отбора Все или Конкретное
    #40119790
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в последнее время слишком много развелось псевдо докторов Франкенштейнов...
оригинал то хоть грамотный был, а эти новоиспеченные не могут сформулировать даже задачу и при этом ещё пытаются лепить горбатого...
...
Рейтинг: 0 / 0
Условие отбора Все или Конкретное
    #40119888
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag
+100500
...
Рейтинг: 0 / 0
Условие отбора Все или Конкретное
    #40120006
Cheradak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прикладываю файлик базы. На форме выбирается Отдел и пользователь, который может видеть только данные своего отдела. Так же в некоторых отделах есть администраторы, которые должны видеть информацию со всех отделов.
...
Рейтинг: 0 / 0
Условие отбора Все или Конкретное
    #40120018
vixxa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cheradak,
...
Рейтинг: 0 / 0
Условие отбора Все или Конкретное
    #40120026
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cheradak
Прикладываю файлик базы. На форме выбирается Отдел и пользователь, который может видеть только данные своего отдела. Так же в некоторых отделах есть администраторы, которые должны видеть информацию со всех отделов.


Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Private Sub Кнопка7_Click()
If Me.Поле3.Column(1) = Null Then
 MsgBox "Вы не выбрали пользователя"
Else
 If Me.Поле3.Column(3) = 1 Then
    TempVars.Add "otdel", 0
 Else
    TempVars.Add "otdel", Me.Поле1.Value
 End If
 DoCmd.OpenForm "Продукция", acNormal
End If
End Sub


Код: sql
1.
2.
3.
SELECT продукция.Код, продукция.название, продукция.отдел, отдел.название
FROM отдел INNER JOIN продукция ON отдел.Код = продукция.отдел
WHERE (((продукция.отдел)=TempVars!otdel)) Or TempVars!otdel=0;


пс
3-и с половиной дня назад ответил же ! 22408180
...
Рейтинг: 0 / 0
Условие отбора Все или Конкретное
    #40120066
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вашу задачу можно решить как-то так:при нажати кнопки "войти" создать глобальную переменную(что в дальнейшем код был попроще лучше 2 переменных) всегда и отовсюду доступную сохраняющую свое значение на протяжении всего сеанса работы (где и как её объявить и создать-читайте в справке) а выглядеть она\они должна как-то так: п1=Me.отдел; п2= Me.пользователь. При открытии формы меняйте её источник:
Код: vbnet
1.
2.
3.
4.
5.
if п2="администратор" then 
Me.RecordSource="select * from tbl where отдел=" & п1 'если за все отделы, без WHERE
else
Me.RecordSource="select * from tbl where отдел=" & п1 & " and пользователь<>" & п2 
End if 
...
Рейтинг: 0 / 0
Условие отбора Все или Конкретное
    #40120720
Cheradak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku,

Переменная у меня глобальная. Просто в примере не изменил тип функции на Public. Эти переменные еще используются и для вывода результатов запросов на форме в поля. т.е. допустим считается количество продукции по конкретному отделу. При этом у самой формы нет источника.
...
Рейтинг: 0 / 0
Условие отбора Все или Конкретное
    #40120721
Cheradak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
court,

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

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


where iif(x<0; true; поле =x)

если x< 0 - выведет все значения, иначе только те где поле равно х

Cheradak
Если строить IFF, то не выполняется действие при False
Код: vbnet
1.
IIf([TempVars]![id]=[id];[TempVars]![id];>0)


конечно не будет, потому что фигня написана
...
Рейтинг: 0 / 0
11 сообщений из 36, страница 2 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Условие отбора Все или Конкретное
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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