Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: зависимость значений в списке от флажка
 
 автор: beginner   (27.07.2011 в 20:08)   личное сообщение
 
 

Здраствуйте!

имеется следующая задача

есть 2 логических поля, например

поле1
поле2

и третье поле со списком значений


Как сделать так, чтобы если флажок был в первом поле,то список значений был из таблицы 1
А если во втором, то из таблицы 2

В общем чтобы выполнялось что то вроде
=iif(поле1;SELECT таблица1.значение FROM таблица1; )…………….
..но так оно не работает:))

Спасибо!

  Ответить  
 
 автор: час   (27.07.2011 в 20:49)   личное сообщение
 
 

-меняйте свойство поля "списком значений" источник строк
не список значений а таблица

  Ответить  
 
 автор: beginner   (27.07.2011 в 21:08)   личное сообщение
 
 

у меня так и стоит таблица...

  Ответить  
 
 автор: час   (27.07.2011 в 21:16)   личное сообщение
 
 

-меняйте свойство поля Recordsource = "Другая_Таблица"

  Ответить  
 
 автор: beginner   (27.07.2011 в 21:33)   личное сообщение
 
 

у меня следующие поля:
Данные поле3
источник строк =iif(поле1;SELECT таблица1.значение FROM таблица1; )
тип источника строк таблица или запрос


где и что менять??

  Ответить  
 
 автор: час   (27.07.2011 в 21:58)   личное сообщение
 
 

Для начала создай кнопку
И на её клик повесь код
Me!Список.Recordsource = "Другая_Таблица"

  Ответить  
 
 автор: час   (27.07.2011 в 22:11)   личное сообщение
180 Кб.
 
 

для начала так
какая то фигня получилась.

  Ответить  
 
 автор: час   (27.07.2011 в 22:18)   личное сообщение
11 Кб.
 
 

  Ответить  
 
 автор: час   (27.07.2011 в 22:27)   личное сообщение
10 Кб.
 
 

  Ответить  
 
 автор: beginner   (27.07.2011 в 22:36)   личное сообщение
 
 

но тут же в обоих случаях первый список выводится ???

  Ответить  
 
 автор: час   (27.07.2011 в 22:38)   личное сообщение
 
 

Вы мну пугаете!
в каждом случае - выводится - свой список, потому как данные берём -из разных таблиц.

  Ответить  
 
 автор: beginner   (27.07.2011 в 22:49)   личное сообщение
 
 

не знаю не знаю....у меня во всех случаях выбор из ппппп

  Ответить  
 
 автор: час   (27.07.2011 в 22:51)   личное сообщение
 
 

а у меня
флаг6
оооооооооооооо
флаг4
ппппппппп
кн1
ппппппппп
кн2
ооооооооооо

  Ответить  
 
 автор: Hegy   (27.07.2011 в 23:15)   личное сообщение
 
 

У меня тоже нормально работает этот пример.
Может нужно добавить обнуление (очистку) содержимого поля со списком для наглядности?

  Ответить  
 
 автор: beginner   (28.07.2011 в 00:21)   личное сообщение
 
 

а у вас тоже access 7??у меня почему отвказывается работать((

  Ответить  
 
 автор: Hegy   (28.07.2011 в 01:34)   личное сообщение
 
 

Нет. У меня 2003й офис.
У Вас выдает какую-либо ошибку или сообщение?
А остальной код нормально работает? Может политики безопасности?

  Ответить  
 
 автор: час   (28.07.2011 в 12:06)   личное сообщение
 
 


не знаю не знаю....у меня во всех случаях выбор из ппппп


надо в отладчике кода поставить точку останова и нажимая F8 посмотреть, что происходит........
или, как предложил Вам Станислав
вместо Recordsource использовать RowSource
=======================================
Куды же поподробнеее - он Вам весь код написал

  Ответить  
 
 автор: Stanislav   (28.07.2011 в 03:54)   личное сообщение
 
 

Создаешь обработчики событий (это понятно как делать?):

Поле1.AfterUpdate
if Me.Поле1 then
Me.Поле2 = False
Me.Поле3.RowSource = "SELECT таблица1.значение FROM таблица1"
else
Me.Поле2 = True
Me.Поле3.RowSource = "SELECT таблица2.значение FROM таблица2"
end if

Поле2.AfterUpdate
if Me.Поле2 then
Me.Поле1 = false
Me.Поле3.RowSource = "SELECT таблица2.значение FROM таблица2"
else
Me.Поле1 = True
Me.Поле3.RowSource = "SELECT таблица1.значение FROM таблица1"
end if

  Ответить  
 
 автор: beginner   (28.07.2011 в 10:47)   личное сообщение
 
 

а можно немножко поподробней

  Ответить  
 
 автор: Stanislav   (28.07.2011 в 15:33)   личное сообщение
32 Кб.
 
 

Вот пример. Спрашивай конкретно что тебе непонятно.

  Ответить  
 
 автор: beginner   (28.07.2011 в 16:27)   личное сообщение
 
 

Не понятно почему у меня опять данные только из первой таблицы...
будто на код не обращает внимания......

  Ответить  
 
 автор: Stanislav   (29.07.2011 в 11:54)   личное сообщение
 
 

Если хочешь подробный ответ, спрашивай подробнее. Я не знаю, какой пример из выложенных здесь ты запустил. Хотя оба примера я проверял - работает. Напиши по шагам, что ты делаешь - глядишь сам ошибку увидишь.

  Ответить  
 
 автор: час   (29.07.2011 в 12:15)   личное сообщение
 
 

У него похоже Access загнулся.....
или политика безопасности не допускает этого действия, хотя вряд ли
Чё тут особенного : смена источника строк списка........

  Ответить  
 
 автор: beginner   (31.07.2011 в 16:44)   личное сообщение
 
 

ошибка нашлась=) работает! спасибо огромное!!!

  Ответить  
 
 автор: Stanislav   (31.07.2011 в 16:47)   личное сообщение
 
 

Для логического завершения темы объясни, пожалуйста, в чем ошибка была.

  Ответить  
 
 автор: beginner   (31.07.2011 в 18:05)   личное сообщение
 
 

политика безопасности
а можно еще вопрос??? как сделать чтобы в другой таблице (например Table3) была строка которой бы присваивалось значение поля (ValueList)??

  Ответить  
 
 автор: Stanislav   (01.08.2011 в 06:27)   личное сообщение
 
 

Ты хочешь изменить значение одной из записей таблицы. Используй запрос UPDATE. Синтаксис запроса посмотри во встроенном хелпе (F1).

Если ты хочешь вставить новую запись в таблицу, используй запрос INSERT INTO.

Если что-то будет непонятно - пиши.

  Ответить  
 
 автор: beginner   (01.08.2011 в 13:41)   личное сообщение
 
 

"почти" работает...
когда в форме еще флажок не нажат и выбираю одно из значений, то все выбирается и при повторном открытии формы данные сохраняются
если же флажок поставлен, то выбирается все отлично, но если потом открываю форму, то данные не сохраняются((

  Ответить  
 
 автор: beginner   (01.08.2011 в 13:53)   личное сообщение
 
 

точнее в таблице все данные сохранятся в обоих случаях, а в форме только в первом

  Ответить  
 
 автор: Дядя Федор   (01.08.2011 в 14:20)   личное сообщение
12 Кб.
 
 

Насколько я въехал. Надо чтобы форма открывалась с последним выбранным значением?
Тогда привяжите значение флажка к полю в какой -то таблице и оно будет сохраняться.
Иначе всегда открывается первое значение.
Как-то так->

  Ответить  
 
 автор: beginner   (01.08.2011 в 14:31)   личное сообщение
 
 

уже сделано
но опять же..значение флажка сохраняется...но чтобы отображалось значение поля в форме надо второй раз кликнуть по этом флажку и обновить страницу....тогда все значения на месте

  Ответить  
 
 автор: Дядя Федор   (01.08.2011 в 14:43)   личное сообщение
12 Кб.
 
 

См.вложение.Событие "открытие формы"

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList