powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Определить номер столбца в ListBox
25 сообщений из 28, страница 1 из 2
Определить номер столбца в ListBox
    #32373736
Возможно ли при двойном нажатии на ListBox определять на какой столбец нажали ? заказчик требует чтобы можно был привязывать поля в Excel файле к его полям и хочет для этого максимально простой интерфейс :(
...
Рейтинг: 0 / 0
Определить номер столбца в ListBox
    #32373739
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
В событии MouseDown берем параметр X, сравниваем его значение с тем, что написано в свойстве ColumnWidths.
...
Рейтинг: 0 / 0
Определить номер столбца в ListBox
    #32373740
спасибо, вроде понял. А как в MouseDown отличить двойное нажатие от одиночного ?

С уважением, Каримбаев Тимур
...
Рейтинг: 0 / 0
Определить номер столбца в ListBox
    #32373742
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Я сейчас проверил, в каком порядке происходят события.

При обычном клике: MouseDown, MouseUp, Click.
При двойном: MouseDown, MouseUp, Click, DoubleClick, MouseUp.

Возможно, это как-то можно отловить. Например:

Dim b As Boolean
Private Sub zzz_MouseDown(...)
b=False
End Sub
Private Sub zzz_DoubleClick()
b=True
End Sub
Private Sub zzz_MouseUp(...)
If b Then это был двойной клик
End Sub
...
Рейтинг: 0 / 0
Определить номер столбца в ListBox
    #32373746
СПАСИБО ОГРОМНОЕ !!!!

сработало !
а то у меня уже была идея сверять время между двумя MouseDown :))

С уважением, Каримбаев Тимур
...
Рейтинг: 0 / 0
Определить номер столбца в ListBox
    #32373747
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>А как в MouseDown отличить двойное нажатие от одиночного ?
В самом MouseDown конечно не потличить.
Надо фиксировать последовательность событий.
Из Help
===
В объектах, принимающих события мыши, возникает следующая цепочка событий:
MouseDown > MouseUp > Click > DblClick
===

У меня получается несколько по другому:
MouseDown > MouseUp > Click > DblClick > MouseUp
...
Рейтинг: 0 / 0
Определить номер столбца в ListBox
    #32373748
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Сверять время не помогло бы, потому что время, отводимое на двойной клик, регулируется в настройках Windows.
...
Рейтинг: 0 / 0
Определить номер столбца в ListBox
    #32373749
это была концепт-идея :)

кстати, MouseUp нам не нужен. просто в MouseDown устанавливаем глобальный m_x, а при DblClick его используем

С уважением, Каримбаев Тимур
...
Рейтинг: 0 / 0
Определить номер столбца в ListBox
    #32373750
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
:^) Да, это красивее.
...
Рейтинг: 0 / 0
Определить номер столбца в ListBox
    #32373751
Большое спасибо!
еще одной проблемой меньше
уфф... :)

---------------------------------------
С уважением, Каримбаев Тимур
...
Рейтинг: 0 / 0
Определить номер столбца в ListBox
    #32375120
похоже рано я радовался :(

есть одна проблема: если ListBox длинный - то при прокрутке возникают проблемы, мы прокручиваем ListBox вправо - самый левый столбец может быть любым по счету, но Х mouse_down'а от этого не зависит, он так и будет начинаться с 0 :(

может решение стоит пересмотреть в принципе (может вообще не ListBox использовать ?) заказчик хочет как можно проще привязывать поля в его базе к колонкам в Excel-файле

---------------------------------------
С уважением, Каримбаев Тимур
...
Рейтинг: 0 / 0
Определить номер столбца в ListBox
    #32375122
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может решение стоит пересмотреть в принципе (может вообще не ListBox использовать ?)
Я ваш вопрос не понял, но я вам на него отвечу :)

авторзаказчик требует чтобы можно был привязывать поля в Excel файле к его полям и хочет для этого максимально простой интерфейс
А это как? Какие поля к каким его полям чем и зачем привязывать?
А то эта... решение есть (неработающее), а задачи - нет.
...
Рейтинг: 0 / 0
Определить номер столбца в ListBox
    #32375463
Задача:
Заказчик хочет пополнять свою базу фирм. Ему иногда приходят Excel-файлы, с фирмами. Естественно, эти файлы в каком-то своем формате, но почти все содержат одинаковые поля (имя фирмы, профиль, телефоны, адрес, примечание).
Он сказал сделать визуальную привязку полей в файле к нашим полям. Т.е. он не хочет писать: имя фирмы в A, телефоны фирмы в B и т.д., а хочет просто - указал файл (он ему показывается в форме - я это сделал в виде ListBox'а) - ,
нажал на radiobutton "имя фирмы", потом кликнул на столбец соответствующий имени фирмы
нажал на radiobutton "телефоны", потом кликнул на столбец соответствующий телефонам.
Так вот: основная проблема - определить номер столбца в ListBox на который он кликает, т.е. её мы решили, но это решение не подходит для длинных ListBox'ов которые надо прокручивать вправо (а я вывожу столбцы в Excel от A до Z, поэтому прокручивать почти всегда надо)
...
Рейтинг: 0 / 0
Определить номер столбца в ListBox
    #32375477
Фотография Daf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А почему бы тебе не сделать импорт этого файла?
...
Рейтинг: 0 / 0
Определить номер столбца в ListBox
    #32375513
DafА почему бы тебе не сделать импорт этого файла?

можно ли поподробнее об этом ?

---------------------------------------
С уважением, Каримбаев Тимур
...
Рейтинг: 0 / 0
Определить номер столбца в ListBox
    #32375525
Фотография Daf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну если ты говоришь, что у тебя:
почти все содержат одинаковые поля , то может пусть твой Boss просто укажет файл и нажмет на кнопку на которой у тебя будет висеть код по импорту даных из файла в таблицу.
...
Рейтинг: 0 / 0
Определить номер столбца в ListBox
    #32375526
Фотография Daf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Только для этого нужно, чтобы поля всетаки были одинаковые. У таблицы и у файла.
...
Рейтинг: 0 / 0
Определить номер столбца в ListBox
    #32375536
Ну в общем так и есть, он просто указывает файл, там висит код по импорту (открывается worksheet и оттуда копируются значения в таблицу).
Файлы действительно почти все содержат одинаковые поля, но обычно в разном порядке :( поэтому стоит задача указать какие поля в Excel-файле соответствуют нашим. Он хочет делать это визуально (как я описывал раньше, в 12:01). С этим тоже проблем почти нет, есть одна проблема - не получается опрделеить номер столбца в ListBox на который кликают.

---------------------------------------
С уважением, Каримбаев Тимур
...
Рейтинг: 0 / 0
Определить номер столбца в ListBox
    #32375537
$$$Guest$$
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Либо во время импорта преобразовывать данные к нужному типу.
...
Рейтинг: 0 / 0
Определить номер столбца в ListBox
    #32375567
может я чего-нибудь не понимаю, но при чем тут тип ? мне необходимо чтобы человек мог указывать: имя фирм содержится в колонке А, телефон фирмы содержится в Б и т.д. все это не проблема, но не получается одна мелочь: когда человек кликает на ListBox (например на колонку А - в любой строке) мне необходимо как-то получить данные о том на какую колонку (по счету) человек кликнул

---------------------------------------
С уважением, Каримбаев Тимур
...
Рейтинг: 0 / 0
Определить номер столбца в ListBox
    #32375620
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господи ты боже мой
Ну импортируй ты этот долбанный лист во временную таблицу. Отобрази таблицу как таблицу , повесив ее на формочку с дофига полей (ненужные поскрывай), и лови себе на здоровье дабл-клики на столбцах.
Когда сопоставишь столбцы - переноси данные из временной в основную.
...
Рейтинг: 0 / 0
Определить номер столбца в ListBox
    #32375644
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В догонку
Я бы вообще нахер послал с такими требованиями. Извращение это все.
Пусть человек адын раз скажет программе - в каком столбце что лежит, и программа в соответствии с этими настройками и будет импортировать.
А если кривой файл попался, в котором столбцы переставлены, то пусть в эксельном же файле их мышкой и перетащит куда надо. Один хрен работу делать придется, только перетаскивание столбцов - одно движение мышки, а в твоем варианте - по каждому столбцу придется кликнуть и сказать, чем он является.
...
Рейтинг: 0 / 0
Определить номер столбца в ListBox
    #32375652
фыыф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
задачу не понял. (невнятно все как-то. Как ты сурс в бокс получаешь? И на хера тогда в бокс а не в ленту?) Поэтому будем решать решение :)

1. Можно сделать автоподборку ширины контрола (по данным) - тогда не будет скроллинга. (поройся, где-то обсуждалось). (и вапше - были где-то самопальные "списки с регулируемой шириной столбцов" - посмотри, как там решена эта проблема - по моему попросту ограничением числа столбцов. Я не помню точно, а копаться в лом.)

2. взять очень широкий список, положить его в подформу. Ширину контрола подформы взять "узкой" - тогда прокрутка будет у подформы, а не у списка. А

и т.п.

успехов
...
Рейтинг: 0 / 0
Определить номер столбца в ListBox
    #32375659
Фотография Daf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если попробовать поиграть с свойствами Selected и ItemsSelected?
...
Рейтинг: 0 / 0
Определить номер столбца в ListBox
    #32375661
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Либо делать как Лох советует, либо писать свой импорт файлов, аналогичный микросовтовскому, т.е. считывать заголовки столбцов екселевского файла, потом делать 2 комбобокса - в одном поле из екселевского файла, в другом поле в нужной таблице (как я понял, таблиц может быть несколько) там можно и преобразование типов повесить, но это не требуется вроде при такой постановке задачи. Т.е. рисуется простая форма для импорта из екселя в различные таблицы - делов на 5 минут....
И нафига дабл клики? У микрософта много различных визардов, многие как раз на комбобоксах основаны (поле из источника - поле куда кидаем - в одной строке, сколько полей, столько и строк визуально на форме...). Ну это если не охота красивости рисовать со стрелочками, как в ДТС на sql сервере, к примеру, хотя тоже можно...
...
Рейтинг: 0 / 0
25 сообщений из 28, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Определить номер столбца в ListBox
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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