powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Функция получения выбранных значений из ListBox-a
21 сообщений из 21, страница 1 из 1
Функция получения выбранных значений из ListBox-a
    #39355255
Suheski55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемые форумчане, прошу помочь! Убил пол дня, но так и не решил вопрос.
У меня существует ListBox источником данных в котором является запрос. Для ListBox-а я сделал контекстное меню, которое предусматривает удаление выбранных строк (их может быть несколько).
Функция получения значений из ListBox-а:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Public Function SelectFromList(ByRef lst As ListBox)
    Const COMMA = ", "
    Dim s As String, varItem As Variant
    
    For Each varItem In lst.ItemsSelected
                  s = s & COMMA & "'" & lst.ItemData(varItem) & "'"
        
    Next varItem

        s = Mid$(s, 3)

        SelectFromList = s

End Function



Далее я делаю запрос на удаление записей из таблицы которая является источником записей:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Public Function Spisok()
Dim SQL As String

SQL = "DELETE * FROM tblSecond WHERE tblSecond.Счетчик IN (" & SelectFromList(<МойСписок>) & ");"
CurrentProject.Connection.Execute SQL, Options:=adCmdText + adExecuteNoRecords
DoCmd.Requery
End Function



Суть в том что функция SelectFromList прекрасно работает через макрос (Запускпрограммы), проверял, значения формирует.
Но в функции Spisok работать отказывается говоря что я неправильно ввожу аргумент для SelectFromList.
Что за мистика?
...
Рейтинг: 0 / 0
Функция получения выбранных значений из ListBox-a
    #39355261
Suheski55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При смене Function Spisok на Sub Spisok пишет что не может найти функцию SelectFromList в проекте..
...
Рейтинг: 0 / 0
Функция получения выбранных значений из ListBox-a
    #39355268
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Suheski55,
никакой мистики-Ваша функция возвращает строку '1','3','5' а надо 1,3,5
...
Рейтинг: 0 / 0
Функция получения выбранных значений из ListBox-a
    #39355269
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пы.Сы
надеюсь что правильно понял-поле tblSecond.Счетчик числовое
...
Рейтинг: 0 / 0
Функция получения выбранных значений из ListBox-a
    #39355273
Suheski55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku, все равно выдает ошибку : Compile Error: ByRef argument type mismatch
...
Рейтинг: 0 / 0
Функция получения выбранных значений из ListBox-a
    #39355317
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Suheski55,
...
Рейтинг: 0 / 0
Функция получения выбранных значений из ListBox-a
    #39355322
Suheski55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku, большое спасибо, сейчас взгляну
...
Рейтинг: 0 / 0
Функция получения выбранных значений из ListBox-a
    #39355330
Suheski55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku, проблема решена, увидел у вас
Код: vbnet
1.
SelectFromList(ByRef lst As ListBox)

и подумал что он не понимает что за список.
На ваше решение тоже ругался, помогла такая запись
Код: vbnet
1.
SelectFromList(Forms!<Имя формы>.<Имя списка>)

. Спасибо за потраченное время, Вы мне очень помогли!
...
Рейтинг: 0 / 0
Функция получения выбранных значений из ListBox-a
    #39355331
Suheski55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Suheski55,
Код: vbnet
1.
SelectFromList(Me.<Имя списка>)
...
Рейтинг: 0 / 0
Функция получения выбранных значений из ListBox-a
    #39355352
Фотография Лапух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Suheski55,
Возможно не совсем въехал в суть вопроса, но не рекомендовал бы вам в именах таблиц и полей использовать знаки, типа
< и >
По слухам они где то там зарезервированы, соответственно Акс может воспринять их не так как должно.
...
Рейтинг: 0 / 0
Функция получения выбранных значений из ListBox-a
    #39355382
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Suheski55....На ваше решение тоже ругался....
А ведь не должен-очень странно..... (у меня не ругается А-2007 *.mdb)
...
Рейтинг: 0 / 0
Функция получения выбранных значений из ListBox-a
    #39355389
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
преобразовал в accdb-работает
...
Рейтинг: 0 / 0
Функция получения выбранных значений из ListBox-a
    #39355820
Suheski55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku, разбираюсь почему ругается и попутно интересно Ваше мнение.
Код: vbnet
1.
SelectFromList(Forms!frmTwo.Listbox1)


Пока остановился на этой записи, как Вы думаете возможно ли вместо Listbox1 впихнуть динамическую переменную, либо целиком аргумент для SelectFromList?
Суть в том, что у меня на форме 9 Listbox-ов, и есть функция которая помогает при работе с контекстным меню определить к какому лист боксу я обращаюсь.
Вижу как то так, но не знаю как правильно:
Код: vbnet
1.
2.
3.
4.
5.
6.
Dim ctlCurrentControl As control

Set ctlCurrentControl = Screen.ActiveControl
  
If ctlCurrentControl.Name = "Listbox1" Then
strNew = Listbox.caption


B воткнуть как-нить в:
Код: vbnet
1.
SelectFromList(Forms!frmTwo.strNew)
...
Рейтинг: 0 / 0
Функция получения выбранных значений из ListBox-a
    #39355907
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Suheski55Суть в том, что у меня на форме 9 Listbox-ов, и есть функция которая помогает при работе с контекстным меню определить к какому лист боксу я обращаюсь.
9 listbox,контекстменю,функия,"помогающая при работе с ним"-что же Вы такое делаете? Может все можно решить проще,хорошенько продумав интерфейсную(а может не только)часть БД
...
Рейтинг: 0 / 0
Функция получения выбранных значений из ListBox-a
    #39356007
Suheski55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku, звучит дико, но по факту очень удобно.
...
Рейтинг: 0 / 0
Функция получения выбранных значений из ListBox-a
    #39356015
Suheski55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Suheski55, кривые руки
...
Рейтинг: 0 / 0
Функция получения выбранных значений из ListBox-a
    #39356095
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Suheski55,
Без VBA.При некоторой работе в конструкторе получите тот же вид
...
Рейтинг: 0 / 0
Функция получения выбранных значений из ListBox-a
    #39356105
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku,пойдет этот формат или надо mdb (судя по скрину пойдет)
...
Рейтинг: 0 / 0
Функция получения выбранных значений из ListBox-a
    #39356114
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в тбл.крепления и одноименной форме ключевое поле надо обозвать "кодК"
...
Рейтинг: 0 / 0
Функция получения выбранных значений из ListBox-a
    #39356139
Suheski55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku, вашу идею понял, такой вариант рассматривал, пригляжусь получше, может и правда в это что то есть
...
Рейтинг: 0 / 0
Функция получения выбранных значений из ListBox-a
    #39356144
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Suheski55sdku, вашу идею понял, такой вариант рассматривал, пригляжусь получше, может и правда в это что то естьне что-то а решение Вашей задачи
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Функция получения выбранных значений из ListBox-a
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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