powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как сделать ПолеСоСписком "всеядным"?
13 сообщений из 13, страница 1 из 1
Как сделать ПолеСоСписком "всеядным"?
    #39833998
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть Форма1 на ней размещено ПолеСоСписком1 и Группа Выключателей1...На форме1 размещена подчинённая ленточная форма ПодчФорма1.Нужно чтобы при разных значениях ГруппаВыключателей1 менялся набор данных в ПолеСоСписком1 (т.е. при значении Группа Выключателей1=1 отображались значения Поля1 SQL-Запроса1,при значении Группа Выключателей1=2 отображались значения Поля2 SQL-Запроса1 и т.д).Это для нужно для того,чтобы можно было осуществить запрос на выборку по критерию того или иного поля и чтобы ленточная форма ПодчФорма1 отображала записи этого запроса (обращение в запросе только к Таблице1)...
В принципе ПолеСоСписком1 меняет свое "содержимое",но возникают проблемы несовместимости типа данных (с соответствующим сообщением),когда я выбираю уже из имеющегося значения ПолеСоСписком1 текстовую строку (изначально ПолеСоСписком1 числовое поле).Когда ввожу в нее цифры-все нормально работает.Т.е. содержимое меняет нормально,а при вводе нечисловых символов-ругается.Что поможет сделать ПолеСоСписком1 "всеядным"?
...
Рейтинг: 0 / 0
Как сделать ПолеСоСписком "всеядным"?
    #39834002
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drafty, Coltyp
...
Рейтинг: 0 / 0
Как сделать ПолеСоСписком "всеядным"?
    #39834019
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
draftyЧто поможет сделать ПолеСоСписком1 "всеядным"?Поле таблицы не может быть и числовым и текстовым одновременно-при выборе уже существующих значений из Combo в него подставится соответствующий код из таблицы-источника списка,а при добавлении нового значения в список надо обработать событие "отсутствиеВсписке" добавив новое значение в таблицу-источник списка и обновить Combo, сохранив в нем новое (ранее отсутствовавшее в списке)значение.Примеры обработки события NotInList есть и на этом форуме и в сети
...
Рейтинг: 0 / 0
Как сделать ПолеСоСписком "всеядным"?
    #39834022
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вдогонку:а покажите источник данных поляСоСписком и каков его тип в таблице?
...
Рейтинг: 0 / 0
Как сделать ПолеСоСписком "всеядным"?
    #39834025
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панургdrafty, Coltyp
...cейчас попробую "смоделировать"
...
Рейтинг: 0 / 0
Как сделать ПолеСоСписком "всеядным"?
    #39834028
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku,

в том то и дело,что ПолеСоСписком1 не является полем таблицы,это просто "свободное" поле формы которое нужно только для задания критерия поиска записей
...
Рейтинг: 0 / 0
Как сделать ПолеСоСписком "всеядным"?
    #39834033
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdkuвдогонку:а покажите источник данных поляСоСписком и каков его тип в таблице?

ПолеСоСписком1.RowSourceType="Table/Query"
if (Группа1=1) Then
ПолеСоСписком1.RowSource="Select Таблица1.Поле1 From Таблица1"
End if
if (Группа1=2) Then
ПолеСоСписком1.RowSource="Select Таблица1.Поле2 From Таблица1"
End if
if (Группа1=3) Then
ПолеСоСписком1.RowSource="Select Таблица1.Поле3 From Таблица1"
End if

Изначально источником строк этого ПоляСоСписком1 был запрос (созданный в конструкторе запросов) и оно содержало значение поля типа Long...

Как-то так...
...
Рейтинг: 0 / 0
Как сделать ПолеСоСписком "всеядным"?
    #39834041
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панургdrafty, Coltyp

Работает,спасибо!

ПолеСоСписком1.BoundColumn=0
if (Группа1=1) Then
ПолеСоСписком1.RowSource="Select Таблица1.Поле1 From Таблица1"
End if
if (Группа1=2) Then
ПолеСоСписком1.RowSource="Select Таблица1.Поле2 From Таблица1"
End if
if (Группа1=3) Then
ПолеСоСписком1.RowSource="Select Таблица1.Поле3 From Таблица1"
End if
Me.ПолеСоСписком1.Requery
...
Рейтинг: 0 / 0
Как сделать ПолеСоСписком "всеядным"?
    #39834052
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drafty,
я не "вкурю" момент: свободное поле на форме "проглотит" хоть стринг,хоть число а при несоответствии критерия отбора и типа поля сообщит об ошибке-так чего же Вы добиваетесь,непонятно,однако.
Код: vbnet
1.
(если не выводить сообщение об ошибке юзер с упорством барана будет повторять действие пока не надоест)
...
Рейтинг: 0 / 0
Как сделать ПолеСоСписком "всеядным"?
    #39834055
Predeclared
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В вашем случае есть более элегантное и легкое решение:
Код: vbnet
1.
2.
3.
Private Sub grpFieldsTypes_AfterUpdate()
    Me.cbx.ColumnWidths = Choose(Me.grpFieldsTypes, "3;0;0", "0;3;0", "0;0;3")
End Sub
...
Рейтинг: 0 / 0
Как сделать ПолеСоСписком "всеядным"?
    #39834074
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku,

тем не менее ошибка выскакивала,а теперь нет
...
Рейтинг: 0 / 0
Как сделать ПолеСоСписком "всеядным"?
    #39834076
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PredeclaredВ вашем случае есть более элегантное и легкое решение:
Код: vbnet
1.
2.
3.
Private Sub grpFieldsTypes_AfterUpdate()
    Me.cbx.ColumnWidths = Choose(Me.grpFieldsTypes, "3;0;0", "0;3;0", "0;0;3")
End Sub

да, действительно-выглядит компактненько,а параметр '3' что-за величина в Choose,почему не 2,не 4,а именно '3'?
...
Рейтинг: 0 / 0
Как сделать ПолеСоСписком "всеядным"?
    #39834088
Predeclared
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это ширина столбца.
Можно и 2 и 4.
Я сделал 3 по давней привычке.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как сделать ПолеСоСписком "всеядным"?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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