Как передать данные из одной формы в другую? - VB

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

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

Осваиваю Visual Basic 6.0. У меня есть форма, в которой в элементе управления 'список' представлена краткая информация о, скажем, пользователе (идентификатор и ФИО). Хочу после выбора конкретного пользователя открыть другую форму с более подробной информацией о нем. Посоветуйте, пожалуйста, как можно передать данные из одной формы в другую? Или хотя бы в каком направлении 'рыть'?

Решение задачи: «Как передать данные из одной формы в другую?»

textual
Листинг программы
  1. ' References: Microsoft DAO 3.51
  2. Dim db As Database
  3. Const DBPath = '....db '
  4.  
  5. Private Sub Form_Load()
  6. Dim rs As Recordset
  7. Set db = OpenDatabase(DBPath & 'novelty.mdb')
  8. Set rs = db.OpenRecordset('SELECT ID, LastName, FirstName ' & _
  9.     'FROM tblCustomer ' & _
  10.     'WHERE ID > 18000 ' & _
  11.     'ORDER BY LastName, FirstName')
  12.  
  13. ' Заполняем список
  14. Do  Until  rs.EOF
  15. lstCustomer.Addltem rs.Fields('LastName') & ', ' & _
  16.     rs.Fields('FirstName') & _
  17.     ' [' & rs.Fields('ID') & ']'
  18. lstCustomer.ItemData(lstCustomer.Newlndex) = rs.Fields('ID')
  19. rs.MoveNext Loop
  20. rs.Close
  21. Set rs = Nothing
  22. End Sub
  23.  
  24. Обратите внимание, что в этом коде используется свойство ItemData списка, которое позволяет добавлять дополнительные числовые данные к каждому элементу в списке. В данном случае вы добавляете в список значение поля ID - первичный ключ таблицы tblCustomer. Когда пользователь дважды щелкает на элементе списка, это значение отображается на форме, предназначенной для отображения одной записи.
  25.  
  26. В листинге 3.13 приведен код, с помощью которого отображается детальная информация о клиенте.
  27. Рис. 3.7. Приложение просмотра содержимого базы данных после того, как код DAO заполнит список
  28.  
  29. Private Sub lstCustomer_DblClick()
  30. Dim rs As Recordset
  31. Dim f As frmSingle
  32. Dim lnglD As  Long
  33. Set f = New frmSingle
  34. lnglD = lstCustomer.ItemData(lstCustomer.Listlndex)
  35.  
  36. Set rs = db.OpenRecordset('SELECT * ' & _
  37.     'FROM tblCustomer ' & _
  38.     'WHERE ID = ' & lnglD)'
  39. f.TextBox(0) = rs.Fields ('FirstName',)
  40. f.TextBox(l) = rs.Fields('LastName')
  41. f.TextBox(2) = rs.Fields('Address')  & ''
  42. f.TextBox(3) = rs.Fields('City') & ''
  43. f.TextBox{4) = rs.Fields('State') & ''
  44. ' Отображаем дочернюю форму с формой frmMain
  45. ' в качестве родительской. f.Show vbModeless, Me
  46. rs.Close
  47. Set rs = Nothing
  48. End Sub

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


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

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

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

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

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

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