Как обратиться к списку ListBox, чтобы каждая запись в нем была как отдельный элемент? - VB

Узнай цену своей работы

Формулировка задачи:

Подскажите пожалуйста как обратиться к списку ListBox, чтобы каждая запись в нем была ка отдельнычй элемент. Например В спискок заносятся фамилии по которым будет осуществляться выборка из б.д. и как это организовать?

Решение задачи: «Как обратиться к списку ListBox, чтобы каждая запись в нем была как отдельный элемент?»

textual
Листинг программы
  1. Private myRst As ADODB.Recordset, myConn As ADODB.Connection
  2. '
  3. Private Sub Form_Load()
  4.     Dim stSQL As String
  5.     Dim i As Integer, cnt As Integer
  6.    
  7.     List1.Clear
  8.     List1.AddItem 'Иванов'
  9.    List1.AddItem 'Петров'
  10.    List1.AddItem 'Сидоров'
  11.    
  12.     stSQL = 'SELECT * From SOTRUDNIKI Where '
  13.    For i = 0 To List1.ListCount - 1
  14.         stSQL = stSQL + '[Фамилия] = '' + List1.List(i) + '' Or '
  15.    Next
  16.    
  17.     stSQL = Left$(stSQL, Len(stSQL) - 4)
  18.     ' Debug.Print stSQL
  19.    
  20.     Set myConn = New ADODB.Connection
  21.     myConn.ConnectionString = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=sample.mdb;'
  22.  
  23.     myConn.Open
  24.    
  25.     Set myRst = New ADODB.Recordset
  26.     With myRst
  27.         Set .ActiveConnection = myConn
  28.         .CursorLocation = adUseClient
  29.         .CursorType = adOpenStatic
  30.         .LockType = adLockReadOnly
  31.         .Open stSQL
  32.         Debug.Print 'Выборка с фамилиями, указанными в листбоксе:'
  33.        cnt = 1
  34.         While Not .EOF
  35.             Debug.Print vbCrLf & 'Запись ' & cnt & ':'
  36.            Debug.Print '=========='
  37.            For i = 0 To .Fields.Count - 1
  38.                 Debug.Print .Fields(i).Name & ' = ' & .Fields(i).Value
  39.            Next
  40.             .MoveNext
  41.             cnt = cnt + 1
  42.         Wend
  43.     End With
  44.    
  45. End Sub
  46. '
  47. Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
  48.     If myRst.State = adStateOpen Then myRst.Close
  49.     Set myRst = Nothing
  50.     If myConn.State = adStateOpen Then myConn.Close
  51.     Set myConn = Nothing
  52.     Set Form1 = Nothing
  53. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.167 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы