Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / О типе comboBox / 20 сообщений из 20, страница 1 из 1
09.08.2018, 11:51
    #39685373
Joss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О типе comboBox
Есть у меня на форме combobox, по русски - поле со списком. Первоначально присоединённый столбец был в символьном виде. Потом я его переделал на числовой. Но комбобокс всё равно выдаёт значения в текстовом виде: т.е. вместо 3, 5, 11 он выдаёт "3", "5", "11". Как ему мозги вправить? Что надо сделать, чтоб он выдавал значения в числовом виде?


-------------------------------------------------------------
А ты вложил уже свой кровный рубль в 50-ти миллиардное состояние Билла Гейтса?
...
Рейтинг: 0 / 0
09.08.2018, 14:15
    #39685571
О типе comboBox
Слишком мало вводных...
"Переделал" как? Изменил тип поля в таблице - источнике строк?
Комбо на форме? Он привязан к полю источника формы? Это поле какого типа?
Где вы видите "3", "5", "11"? Вы проверяете св-во Value или Column?
...
Рейтинг: 0 / 0
09.08.2018, 15:45
    #39685639
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О типе comboBox
Joss,
создать combo по новой
...
Рейтинг: 0 / 0
09.08.2018, 20:03
    #39685738
Joss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О типе comboBox
Кривцов АнатолийСлишком мало вводных...
"Переделал" как? Изменил тип поля в таблице - источнике строк?
Комбо на форме? Он привязан к полю источника формы? Это поле какого типа?
Где вы видите "3", "5", "11"? Вы проверяете св-во Value или Column? По- моему всё было ясно. комбобокс был свободным. Ни к какому полю не привязан. В качестве источника данных выступала таблица. Сначала присоединёно было символьное поле таблицы. второе посчёту. Потом я вместо второго поля присоединил первое - счётчик, числовое. Тип выдаваемых значений проверял под отладчиком. Если в первом варианте выдавало "м", "дм", "см", "мм"..., то во втором варианте, когда я подключил счётчик, выдаёт "1", "2", "3"... значение счётчика, но не в числовом виде, а в виде строки символов. В другой моей задаче такой же отвязанный комбобокс выдаёт числовые значения, но я сразу его создавал с привязкой на числовое поле (счётчик).
...
Рейтинг: 0 / 0
22.11.2018, 16:43
    #39736988
vgrafin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О типе comboBox
Joss, в развитие темы
Действительно, непонятно какой тип выводит комбобокс(КБ). KB.Value возвращает Variant - это понятно - неизвестно, какой столбец какого типа присоединён. Но если это числовой - значение появляется справа(выравнивани по правому). а если строка - то слева. Соответственно, возвращает 1 или "1". НО...
Есть форма, на ней 3 КБ. КБ1 и КБ2 основаны на запросе к одной и той же таблице и присоед. поля(0) тип (Long). При открытии число(присоед) - справа - КБ2 заполняется выбранным запросом к той-же таблице, что и КБ1(число - справа). Оба КБ независимые.
Делаем выбор по КБ3 - определяет источник этой формы и привязанной подформы(выполняется requery). Цифры в КБ1 и КБ2 переезжают влево. Повторно делаем выбор по КБ1 -на КБ1 число остаётся слева, на КБ2 возвращается направо. Проверяем, что возвращают - КБ1 строка, КБ2 число.

Перенёс КБ1 и КБ2 на отдельную непривязанную подформу, чтоб не действовали перезапросы основной формы - ещё интереснее -
КБ1 сразу при открытии возвращает строку, КБ2 - число.
Особых проблем нет, Можно всё Обработать CStr() и CLng(), но что это за "перепрыги" - есть какая разумная мысля?
...
Рейтинг: 0 / 0
22.11.2018, 16:55
    #39736997
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О типе comboBox
vgrafin,
Рассуждать и объяснять "на пальцах"-не наш метод.
Покажите проблемную часть БД
...
Рейтинг: 0 / 0
22.11.2018, 17:52
    #39737039
vgrafin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О типе comboBox
sdku,
Выковырять кусок и базы - слишком много хвостов, а на примере из маленькой формочки с 3 КБ и табличкой в 2 поля - что-то не катит, т.е. сдвиг есть, а но тип не меняется, в прочем приблизительно выглядит как в файле
...
Рейтинг: 0 / 0
22.11.2018, 18:17
    #39737062
vmag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О типе comboBox
JossПо- моему всё было ясно. комбобокс был свободным. Ни к какому полю не привязан. В качестве источника данных выступала таблица. Сначала присоединёно было символьное поле таблицы. второе посчёту. Потом я вместо второго поля присоединил первое - счётчик, числовое. Тип выдаваемых значений проверял под отладчиком. Если в первом варианте выдавало "м", "дм", "см", "мм"..., то во втором варианте, когда я подключил счётчик, выдаёт "1", "2", "3"...

- А не стоит ли в этом поле со списком в данных значение по умолчанию = "" или еще какая строка?
- А нет ли в Open формы или еще где оператора типа Me.ПолеСосписком = "" ?
- А поменяется ли ситуация если в конструкторе для этого списка сделать значение по умолчанию = 0 ?
...
Рейтинг: 0 / 0
22.11.2018, 18:17
    #39737063
vmag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О типе comboBox
vmag,

Если не даст результата То так

sdkuсоздать combo по новой
...
Рейтинг: 0 / 0
22.11.2018, 18:24
    #39737067
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О типе comboBox
Joss, Coltyp
...
Рейтинг: 0 / 0
22.11.2018, 18:41
    #39737083
vgrafin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О типе comboBox
Нет, умолчаний нет. КБ1 намертво привязан к непустому запросу, но ведёт себя хуже. Кроме того, при копирование этих КБ в другую форму но со всеми свойствами - смена типа исчезает, как и в примере. Что-то влияет, хрен поймёшь. думаю не стоит более ковырять. Просто при "съёме" значений сразу типизировать, чтоб не исследовать Null оно или "". А ну его..
...
Рейтинг: 0 / 0
22.11.2018, 18:56
    #39737089
vgrafin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О типе comboBox
Пардон, хрень спорол. Пример работает. IsNumeric("1") даёт True -это не проверка на число, а возможность преобразовать в число.
Если поставить Stop'ер на Msgbox, видно, что после обновления КБ3 КБ1 выдаёт строку!!
...
Рейтинг: 0 / 0
22.11.2018, 20:41
    #39737145
Joss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О типе comboBox
vmagJossПо- моему всё было ясно. комбобокс был свободным. Ни к какому полю не привязан. В качестве источника данных выступала таблица. Сначала присоединёно было символьное поле таблицы. второе посчёту. Потом я вместо второго поля присоединил первое - счётчик, числовое. Тип выдаваемых значений проверял под отладчиком. Если в первом варианте выдавало "м", "дм", "см", "мм"..., то во втором варианте, когда я подключил счётчик, выдаёт "1", "2", "3"...

- А не стоит ли в этом поле со списком в данных значение по умолчанию = "" или еще какая строка?
- А нет ли в Open формы или еще где оператора типа Me.ПолеСосписком = "" ?
- А поменяется ли ситуация если в конструкторе для этого списка сделать значение по умолчанию = 0 ? Это было 3 месяца назад. Проблему решил созданием нового комбобокса с правильной привязкой столбцов. Разные попытки изменить тип выводимой информации успехом не увенчались. Надо было заканчивать задачу.
...
Рейтинг: 0 / 0
22.11.2018, 23:00
    #39737221
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О типе comboBox
vmagvmag,
Если не даст результата То такsdkuсоздать combo по новойJoss... Это было 3 месяца назад. Проблему решил созданием нового комбобокса...на все-про все ушло~2 мин
...
Рейтинг: 0 / 0
23.11.2018, 03:55
    #39737265
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О типе comboBox
Я так понимаю, теперь не модно переходить по ссылкам?
...
Рейтинг: 0 / 0
23.11.2018, 08:51
    #39737303
Joss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О типе comboBox
Панург, по ссылке я перешел и посмотрел. Буду иметь ввиду. Когда будет аналогичная ситуация - попробую. Но ссылку Вы дали вчера, а проблема возникла 3 месяца назад. И я просто не мог тогда воспользоваться Вашей ссылкой.

И да, sdku, ушло времени больше чем 2 минуты. Да и был интерес разобраться. Но время поджимало.
...
Рейтинг: 0 / 0
23.11.2018, 09:40
    #39737319
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О типе comboBox
Joss, я не про тебя, я вообще. Когда ты задавал вопрос, я путешествовал...
...
Рейтинг: 0 / 0
23.11.2018, 09:52
    #39737331
Озверин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О типе comboBox
JossЕсть у меня на форме combobox, по русски - поле со списком. Первоначально присоединённый столбец был в символьном виде. Потом я его переделал на числовой. Но комбобокс всё равно выдаёт значения в текстовом виде: т.е. вместо 3, 5, 11 он выдаёт "3", "5", "11". Как ему мозги вправить? Что надо сделать, чтоб он выдавал значения в числовом виде?


-------------------------------------------------------------
А ты вложил уже свой кровный рубль в 50-ти миллиардное состояние Билла Гейтса?

надо приводить источник данных и значение свойства присоединенный столбец.
...
Рейтинг: 0 / 0
23.11.2018, 11:25
    #39737399
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О типе comboBox
JossИ да, sdku, ушло времени больше чем 2 минуты. Да и был интерес разобраться. Но время поджимало.Все правильно-когда я впервые столкнулся с подобной ситуацией,то убил кучу времени(а она возникает при смене типа поля в таблице)-теперь сразу создаю по новой элемент управления,а если событие уровня объекта,то и весь объект (эта "непонятка" происходит где-то очень глыбоко в программе и не доступна,по крайней мере для моего понимания-поэтому всяческие попытки разобраться были успешно брошены
...
Рейтинг: 0 / 0
23.11.2018, 12:07
    #39737429
vgrafin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О типе comboBox
Панург, спасибо за ссылку, если есть решение-"Как", можно вроде не заниматься вопросом "Почему".
Я вчера вроде прикладывал файл примером - куда-то испарился. Пробую ещё раз. На форме нажимаем последовательно КБ0, КБ2,КБ4.
Результат виден. С помощью BoundColumn=0 можно объехать. Что интересно (или не очень?) - Me.Requery на первых двух КБ не приводит к смене типа, а КБ3 - приводит. "Как-то не очень" исследовать форму какие Requery будут корёжить комбобоксы на больших формах
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / О типе comboBox / 20 сообщений из 20, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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