powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как выбрать в ListBox несколько значений одновременно
63 сообщений из 63, показаны все 3 страниц
Как выбрать в ListBox несколько значений одновременно
    #32755944
alef120
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для открытия формы нужно выбрать в ListBox значение
Хочу открыть несколько записей одновременно, то есть нужно выбрать
несколько значений одновременно
Как это сделать?
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32756269
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что - поиск уже не работает?
Только в этом месяце уже 3 или 4 вопрос по этому поводу

Смотри в сторону свойства .Selected(x) as Boolean
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32756298
Фотография Gyslik.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть св-во мультиселект (или мультивыделение).
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32757361
alef120
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Обьясните пожалуйста програмисту-чайнику подоходчивей,
перефразирую вопрос:
У меня есть 3 поля листБокс, выбрав значение в одном (одно или несколько)
в другом у меня появляются значения из запроса, если Мльтиселект=none,
то все хорошо работает(за исключением того,что я немогу выбрать несколько значений одновременно), а когда я начинаю играться с Мультиселект, то второй л-бокс не показывает значения из запроса, даже если я выбрал только одно значение в первом???
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32757399
alef120
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кто нибудь помогите!
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32757416
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если Multiselect не none, то при обращении me!Listbox возвращается NULL.
По этому, если тебе надо использовать несколько значений из листбокса, то смотри в сторону ItemSelected и запроса в виде SELECT * FROM Table WHERE ID IN (Value1, Value2 ....)
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32757436
alef120
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
где этот ItemSelected ?
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32757439
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в хелпе
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32757600
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32757614
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
paparome извини :)
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32757618
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kelmepaparome извини :)
???
Это за что?
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32757636
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
paparome Kelmepaparome извини :)
???
Это за что?

да я опять ошибся :)
то RecordSource -> RowSource

то ItemSelected -> Selected

ввожу в заблуждение народ, а ты меня поправляешь
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32757946
alef120
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это то,что уменя есть и как это починить?

Private Sub cmdOpen_Click()
On Error GoTo Err_cmdOpen_Click

Dim stDocName As String
Dim stLinkCriteria As String

stDocName = "frmSupplier"
stLinkCriteria = ("Supplier = """ & LboxSupplier.Value & """ and Nomer = """ & lboxNomer.Value & """")
DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_cmdOpen_Click:
Exit Sub

Err_cmdOpen_Click:
MsgBox Err.Description
Resume Exit_cmdOpen_Click

End Sub

Private Sub LboxSupplier_AfterUpdate()

lboxDate = Empty
lboxNomer = Empty
lboxDate.Requery
lboxNomer.Requery

End Sub

Private Sub lboxDate_AfterUpdate()

lboxNomer = Empty
lboxNomer.Requery
End Sub

Private Sub LboxSupplier_DblClick(Cancel As Integer)
Dim stDocName As String
Dim stLinkCriteria As String

stDocName = "frmSupplier"
stLinkCriteria = ("Supplier = """ & LboxSupplier.Value & """ ")
DoCmd.OpenForm stDocName, , , stLinkCriteria

End Sub

Private Sub lboxDate_DblClick(Cancel As Integer)
Dim stDocName As String
Dim stLinkCriteria As String
Dim dat As Date
dat = lboxDate.Value
stDocName = "frmSupplier"
stLinkCriteria = ("DatePost = """ & Format(dat, "dd/mm/YYYY ") & """")
DoCmd.OpenForm stDocName, , , stLinkCriteria

End Sub

Private Sub lboxNomer_DblClick(Cancel As Integer)
Dim stDocName As String
Dim stLinkCriteria As String

stDocName = "frmSupplier"
stLinkCriteria = ("Supplier = """ & LboxSupplier.Value & """ and Nomer = """ & lboxNomer.Value & """")
DoCmd.OpenForm stDocName, , , stLinkCriteria

End Sub
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32757982
Alexey Sh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
select * from tbl where tbl.fld in (v1,v2,v3....)
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32758004
alef120
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Но у меня физически не получается выбрать 2 значения одновременно в lboxDate
как это сделать?
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32758052
alef120
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
кто нибудь может подсказать?
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32758074
Фотография GUESТ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alef120Но у меня физически не получается выбрать 2 значения одновременно в lboxDate
как это сделать?

пропертиз> малтиселект = тру
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32758076
alef120
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
когда малтиселект = тру,то после выбора значения в первом боксе
второй бокс не выдает никаких значений
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32758081
Фотография GUESТ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alef120когда малтиселект = тру,то после выбора значения в первом боксе
второй бокс не выдает никаких значений


на AfterUpdate комбo с малтиселектом пробегаться по нему в цикле и формировать через запятую стринг из выбраных значений (selected = true) потом подсовывать этот стринг в

Alexey Shselect * from tbl where tbl.fld in (v1,v2,v3....)

после in
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32758087
alef120
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я знаю как пробежаться в цикле по записям из таблицы, а мои листБоксы привязаны только к запросам
по ним тоже можно бегать? Если да, то тогда что нужно select from???
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32758095
Фотография Лифчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Либо делать составной критерий
Код: plaintext
stLinkCriteria = ("Supplier = """ & LboxSupplier.Value & """ and Nomer = """ & lboxNomer.Value & """")
из нескольких (в соответствии с выбранными значениями листбокса), т.е. Crit1 OR Crit2 ...
или положить в RecordSource формы, которую ты хочешь открыть,
Код: plaintext
DoCmd.OpenForm stDocName, , , stLinkCriteria
запрос, который уже приводился тыщщу раз
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32758106
alef120
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я наверное что-то не так спрашиваю
с запросами и открытием форм проблем нет
У меня есть поставщик, выбрав его имя из Бокс1 в Боксе2 высвечиваются даты поставки, если я выбираю одну дату, то в боксе3 высвечивается номер накладной и через кнопку открывается форма Накладной по этому номеру, а если я хочу открыть две накладные по двум датам, то при включенном мультиселект Бокс3 не перезапрашивается даже если я выбрал только одну дату
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32758138
Фотография Лифчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Умные люди говорят, что если мультиселект Труе, то соотв. Me.ListBox.Value=Null, т.е. если запрос для другого бокса настроен на его значение, то он работать не будет, даже если выбирать одно значение. Надо перестраивать запрос для зависимого бокса. Но все в том же указанном направлении.
А вообще я с мультиселектом не сталкивался, с меня не спрашивайте
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32758476
В поле типа ListBox имеется такое свойство: Несвязное выделение (MultiSelect). Оно может принимать три значения: "Отсутствует" (обычно выделяется только одно значение в списке), "Простой" (выделение/снятие выделения происходит по клику на конкретное значение), "Со связным выбором" (Выделение происходит с использованием клавиш Ctrl или Shift).

Считывание значений из поля ListBox происходит следующим образом:
1. При выборе в свойстве "Несвязное выделение" значения "Отсутствует":
Код: plaintext
Me.ListBox.Value

2. При выборе в свойстве "Несвязное выделение" значения "Простой" или "Со связным выбором":

Код: plaintext
1.
2.
3.
4.
Dim varItem As Variant
For Each varItem In Me.ListBox.ItemsSelected
    Debug.Print Me.ListBox.Column(Me.ListBox.BoundColumn -  1 , varItem) & ",";
Next varItem
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32759309
alef120
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дмитрий БасовскийВ поле типа ListBox имеется такое свойство: Несвязное выделение (MultiSelect). Оно может принимать три значения: "Отсутствует" (обычно выделяется только одно значение в списке), "Простой" (выделение/снятие выделения происходит по клику на конкретное значение), "Со связным выбором" (Выделение происходит с использованием клавиш Ctrl или Shift).

Считывание значений из поля ListBox происходит следующим образом:
1. При выборе в свойстве "Несвязное выделение" значения "Отсутствует":
Код: plaintext
Me.ListBox.Value

2. При выборе в свойстве "Несвязное выделение" значения "Простой" или "Со связным выбором":

Код: plaintext
1.
2.
3.
4.
Dim varItem As Variant
For Each varItem In Me.ListBox.ItemsSelected
    Debug.Print Me.ListBox.Column(Me.ListBox.BoundColumn -  1 , varItem) & ",";
Next varItem

пишу это на АфтерАпдейт ЛистБокс,но что-то не получается (но никаких ошибок не выдает)
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32759312
alef120
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
иеще не пойму зачем здесь Print Me
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32760165
alef120
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
так ничего и не получается
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32760179
Фотография GUESТ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alef120так ничего и не получается

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

не уверен, что каждый из присутствующих согласится - но (ИМХО) ООП отнюдь не высшая математика

не получается что - малтиселект в первом комбобоксе?
не получается что - подфильтровать рекордсет второго комбобокса?
не получается что - совместить малтиселект в первом и соответсвующую выборку во втором?

что не получается?
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32760184
alef120
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
выбрав из первого бокса значение-я
не получается увидеть что либо во втором боксе
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32760189
alef120
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
For Each varItem In Me.lboxDate.ItemsSelected
Debug.Print Me.lboxDate.Column(Me.lboxDate.BoundColumn - 1, varItem) & ",";
Next varItem

вот это персчитывает мне кол-во записей в боксе,а что с ними делать далше,как увидеть конкретный текст ведь мультиселект возвращает Нул
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32760230
alef120
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
туго, но начинает доходить
с помощью свойства СЕЛЕКТ я определяю какие строки списка1 = Тру, но список уменя постоянно меняющийся по запросу
в запрос для списка2 мне нужно вставить конкретный текст
как мне его вытащить из списка1 ?
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32760242
alef120
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
продолжаю беседовать сам с собой

With lboxDate
For Each varItem In .ItemsSelected
strList = strList & .Column(0, varItem)
Next varItem
End With
с помощью этого я вытащил текстовое значение ЛистВокса, теперь мучаюсь как этот strList вставить в запрос ?
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32760250
alef120
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спокойной ночи ! Надеюсь завтра кто-нибудь поможет
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32760252
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alef120продолжаю беседовать сам с собой

With lboxDate
For Each varItem In .ItemsSelected
strList = strList & .Column(0, varItem)
Next varItem
End With
с помощью этого я вытащил текстовое значение ЛистВокса, теперь мучаюсь как этот strList вставить в запрос ?

ответ на последний вопрос был дан позавчера:
http://www.sql.ru/forum/actualthread.aspx?tid=133392&pg=-1#1066391

подобный цикл Владимир Саныч учил писать примерно так
(в предположении строковых значений целевого поля в таблице)


Код: plaintext
1.
2.
3.
4.
5.
6.
  Dim varItem
  Dim varStr
  varStr = Null
  For Each varItem In Me.lst0.ItemsSelected
    varStr = varStr + ","
    varStr = varStr & "'" & Replace(lst0.Column( 1 , varItem), "'",  "''") & "'"   
  Next

тогда запрос запишется так

"select * from tbl where tbl.fld in (" & varStr & ")"

ЗЫ
Санычева первоисточника не нашел, штоб пальцем показать, но помню,
что красота необнакновенная была...
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32760261
Фотография GUESТ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Victosha[quot alef120](в предположении строковых значений целевого поля в таблице)

ИМХО или если в IN() нужна дата, то написать функцию вида:

Public Function t() As String
For Each varSelected In Forms![frmMyForm]![lbxDates].ItemsSelected
d = Format(Forms!frmMyForm!lbxDates.Column(0, varSelected), "\#dd\-mmm\-yy\#")
t = t & d & ","
Next varSelected
End Function

соответственно на AfterUpdate первого лист бокса определять RowSource второго лист бокса:

Me.LbxProducts.RowSource = "SELECT ProductID, OrderDate FROM tblOrders INNER JOIN tblProducts ON tblOrders.OrderID = tblProducts.OrderID WHERE (((OrderDate) In ( " & Left(t(), Len(t) - 1) & ")));"

только ИМХО проверочку надо прикрутить - на случай если ни одного значения не выбрано в lbxDates

кста... а можно просто в RowSource - запросе второго лист бокса прописать условие IN(t()) и перезапрашивать его - Requery?
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32760274
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GUESТ Victosha[quot alef120](в предположении строковых значений целевого поля в таблице)

ИМХО или если в IN() нужна дата, то написать функцию вида:

Public Function t() As String
For Each varSelected In Forms![frmMyForm]![lbxDates].ItemsSelected
d = Format(Forms!frmMyForm!lbxDates.Column(0, varSelected), "\#dd\-mmm\-yy\#")
t = t & d & ","
Next varSelected
End Function


ну, уж ежели пошла такая пъянка, то переписывать я бы так стал

Код: plaintext
1.
varStr = varStr + ","
varStr = varStr & FormatValueForSQL( lst0.Column( 1 , varItem))

для Jet функция могла бы выглядеть так

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
Function formatValueForSQL(tValue As Variant) As String
Dim curType As Long
  curType = VarType(tValue)
  Select Case curType
   Case vbDate
      formatValueForSQL = FormatDateForSql(CDate(tValue))
   Case vbString
      formatValueForSQL = FormatStringForSQL(CStr(tValue))
   Case vbDouble, vbCurrency, vbDecimal
      formatValueForSQL = FormatNumberForSQL(CDbl(tValue))
   Case vbEmpty, vbNull, vbObject, vbUserDefinedType, vbArray
      Err.Raise vbObjectError + mySQLFormatError, "FormatValueForSQL", _
      "Полученный тип данных не может быть непосредственно отформатирован в значение для фильтра"
   Case Else
      formatValueForSQL = CStr(tValue)
  End Select
End Function

Private Function FormatNumberForSQL(tValue As Variant) As String
  FormatNumberForSQL = Str(tValue)
End Function

Private Function FormatDateForSql(ByVal tDate As Date) As String
  FormatDateForSql = Str(CDbl(tDate))
End Function

Private Function FormatStringForSQL(ByVal vString As String) As String
  Dim retStr As String
  retStr = Replace(vString, "'", "''")
  retStr = "'" & retStr & "'"
  FormatStringForSQL = retStr
End Function


GUESТ
<...>

только ИМХО проверочку надо прикрутить - на случай если ни одного значения не выбрано в lbxDates


ItemsSelected.Count > 0

GUESТ
кста... а можно просто в RowSource - запросе второго лист бокса прописать условие IN(t()) и перезапрашивать его - Requery?

можно. но я менял бы текст запроса, пока возможно...
а потом бы сел бы нос расковыривать...
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32760410
Фотография GUESТ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VictoshaFormatValueForSQL

5

от ить как! положил в копилку...

<? и о чем я раньше-то думал ?>
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32761262
alef120
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот это уже конкретные ответы
всем спасибо , особенно Victoshe
теперь буду пробовать внедрять это в жизнь
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32761347
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"внедряй"!


(с выражением лица)
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32761825
alef120
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
опять не получается
написал код на lstSupplier_AfterUpdate()

Dim varItem
Dim varStr

varStr = Null
For Each varItem In Me.lstSupplier.ItemsSelected
varStr = varStr + ","
varStr = varStr & "'" & Replace(lstSupplier.Column(0, varItem), "'", "''") & "'"
Next

lstDate = Empty
lstNomer = Empty
lstDate.Requery
lstNomer.Requery

в lstDate должны появиться даты поставок выбранного поставщика
создал простой запрос по двум полям Supplier и DatePost
в RowSource для DatePost вставил это выражение

select * from qryDatePost where qryDatepost.Supplier in (" & varStr & ")

выходит окно и запрашивает значение для qryDatepost.Supplier
помогите исправить
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32762298
alef120
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alef120опять не получается
написал код на lstSupplier_AfterUpdate()

Dim varItem
Dim varStr

varStr = Null
For Each varItem In Me.lstSupplier.ItemsSelected
varStr = varStr + ","
varStr = varStr & "'" & Replace(lstSupplier.Column(0, varItem), "'", "''") & "'"
Next

lstDate = Empty
lstNomer = Empty
lstDate.Requery
lstNomer.Requery

в lstDate должны появиться даты поставок выбранного поставщика
создал простой запрос по двум полям Supplier и DatePost
в RowSource для DatePost вставил это выражение

select * from qryDatePost where qryDatepost.Supplier in (" & varStr & ")

выходит окно и запрашивает значение для qryDatepost.Supplier
помогите исправить
???
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32763524
alef120
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
помогите кто-нибудь!!!
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32763539
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у тебя поле Supplier точно присутствует в qryDatepost?
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32763571
alef120
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kelmeу тебя поле Supplier точно присутствует в qryDatepost?

конечно,но даже когда я вручную ввожу значение в ВОХ, который запрашивает условие для qryDatepost.Supplier

все равно lstDate- пустой
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32763614
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cкинь значение varStr
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32763646
alef120
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kelmecкинь значение varStr
",'Topstone'"
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32763668
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а если так
For Each varItem In Me.lstSupplier.ItemsSelected
if not isnull(varstr) then varStr = varStr + ","
varStr = varStr & "'" & Replace(lstSupplier.Column(0, varItem), "'", "''") & "'"
Next
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32763720
alef120
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сделал как ты сказал

For Each varItem In Me.lstSupplier.ItemsSelected
If Not IsNull(varStr) Then

varStr = varStr + ","
varStr = varStr & "'" & Replace(lstSupplier.Column(0, varItem), "'", "''") & "'"

End If

Next


но у меня проблема не в If Not IsNull
varStr видит правильное значение, я просто не момогу передать его в запрос
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32763728
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alef120сделал как ты сказал

For Each varItem In Me.lstSupplier.ItemsSelected
varStr = varStr & "'" & Replace(lstSupplier.Column(0, varItem), "'", "''") & "'"

End If

Next


но у меня проблема не в If Not IsNull
varStr видит правильное значение, я просто не момогу передать его в запрос

cтоп :)
у тебя varStr всё время null будет :)

надо так:
If Not IsNull(varStr) Then varStr = varStr + ","
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32763740
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я это всё к тому, что меня запятая смущает в ",'Topstone'", у тебя проверка идёт не на "'Topstone'", а на ",'Topstone'"
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32763785
alef120
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kelmeя это всё к тому, что меня запятая смущает в ",'Topstone'", у тебя проверка идёт не на "'Topstone'", а на ",'Topstone'"

If Not IsNull(varStr) Then varStr = varStr + "," дает тот же результат
но опять же даже если я ввожу запрашиваемый параметр для qryDatepost.Supplier :Topstone, то lstDate никак не реагирует
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32763790
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуй ввести 'Topstone' (вместе с ковычками), что будет?
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32763828
alef120
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kelmeпопробуй ввести 'Topstone' (вместе с ковычками), что будет?

тоже самое никакой реакции
и еще не знаю может так и должно быть, но Вох который запрашивает параметр для qryDatepost.Supplier выскакивает еще до открытия формы ,хотя этот запрос должен перезапрашиваться на lstSupplier_AfterUpdate
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32767320
alef120
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
кто-нибудь может помочь закрыть уже этот вопрос
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32767460
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) покажи текст запроса qryDatepost
2) покажи полный текст lstSupplier_AfterUpdate

(с выражением лица)
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32767476
alef120
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Private Sub lstSupplier_AfterUpdate()
Dim varItem As Variant
Dim varStr As String

' varStr = Null
For Each varItem In Me.lstSupplier.ItemsSelected
If Not IsNull(varStr) Then

varStr = varStr + ","
varStr = varStr & "'" & Replace(lstSupplier.Column(0, varItem), "'", "''") & "'"

End If

Next

lstDate = Empty
lstNomer = Empty
lstDate.Requery
lstNomer.Requery

End Sub
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32767478
alef120
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SELECT tblSupplier.DatePost, tblSupplier.Supplier
FROM tblSupplier
GROUP BY tblSupplier.DatePost, tblSupplier.Supplier
ORDER BY tblSupplier.DatePost DESC;
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32767563
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) строка VarStr в lstSupplier_AfterUpdate не может формироваться верно .

Надо либо переделать цикл, либо вернуть все к первоначальному виду:


Dim varItem
Dim varStr
varStr = Null
For Each varItem In Me.lst0.ItemsSelected
varStr = varStr + ","
varStr = varStr & "'" & Replace(lst0.Column(1, varItem), "'", "''") & "'"
Next

2) varStr не участвует в формировании текста какого-либо запроса.

Поэтому обновление
lstDate.Requery
lstNomer.Requery

не может дать новых значений контролов по завершению процедуры.

3) ошибка авторзапрашивает параметр для qryDatepost.Supplier
вероятно связана с текстом запроса qryDatePost.
Скорее всего в окне запросов как самостоятельный он не отработает и выдаст
ту же просьбу о значении параметра. Проверьте и исправьте (имена полей) в тексте запроса.


4) выражение GROUP BY tblSupplier.DatePost, tblSupplier.Supplier
в запросе выглядит как ненужное...

PS
<...>
Находясь в некотором смущении, признаю, что в действительности -
я не знаю, как Вам помочь.
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32767660
alef120
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
наконецто я его добил
Kelme ты был прав ошибка была все-таки с запятой перед varstr
поставил ее после и все заработало, окончательно выглядит так:

Private Sub lstSupplier_AfterUpdate()
Dim varItem As Variant
Dim varStr As String

varStr = Null
For Each varItem In Me.lstSupplier.ItemsSelected

varStr = varStr & "'" & Replace(lstSupplier.Column(0, varItem), "'", "''") & "'"
varStr = varStr + ","

Next

lstDate = Empty
lstNomer = Empty
lstDate.RowSource = "SELECT tblSupplier.DatePost,tblSupplier.Supplier FROM tblSupplier WHERE tblSupplier.Supplier in (" & varStr & ");"
End Sub
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32767939
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автори все заработало

судя по тексту, это Вам просто причудилось...
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32768711
alef120
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Victosha автори все заработало

судя по тексту, это Вам просто причудилось...

что это значит?
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32768744
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alef120 Victosha автори все заработало

судя по тексту, это Вам просто причудилось...

что это значит?

1)

вот это

Dim varItem As Variant
Dim varStr As String

varStr = Null
- не может быть выполнено не при каких обстоятельствах.

2) вот здесь

For Each varItem In Me.lstSupplier.ItemsSelected

varStr = varStr & "'" & Replace(lstSupplier.Column(0, varItem), "'", "''") & "'"
varStr = varStr + ","


у Вас обязательно будет лишняя запятая в конце - 'трам','пам','пам',

Запрос с такой подстановкой не выполнится.

Так что - код этот не в порядке.
Если что-то и заработало и в порядке - то оно выглядит иначе - не так как Вы написали.
...
Рейтинг: 0 / 0
Как выбрать в ListBox несколько значений одновременно
    #32768838
alef120
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
насчет NULL - ты прав, у меня это выглядит вот так: varStr = "",я просто не стал ще раз исправлять в топике
а насчет запятой в конце, все работает хорошо, но если есть вариант убрать эту запятую в конце стринга , то с удовольствием его рассмотрю
...
Рейтинг: 0 / 0
63 сообщений из 63, показаны все 3 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как выбрать в ListBox несколько значений одновременно
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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