Как передать данные из одной формы в другую? - VB
Формулировка задачи:
Осваиваю Visual Basic 6.0. У меня есть форма, в которой в элементе управления 'список' представлена краткая информация о, скажем, пользователе (идентификатор и ФИО). Хочу после выбора конкретного пользователя открыть другую форму с более подробной информацией о нем. Посоветуйте, пожалуйста, как можно передать данные из одной формы в другую? Или хотя бы в каком направлении 'рыть'?
Решение задачи: «Как передать данные из одной формы в другую?»
textual
Листинг программы
- ' References: Microsoft DAO 3.51
- Dim db As Database
- Const DBPath = '....db '
- Private Sub Form_Load()
- Dim rs As Recordset
- Set db = OpenDatabase(DBPath & 'novelty.mdb')
- Set rs = db.OpenRecordset('SELECT ID, LastName, FirstName ' & _
- 'FROM tblCustomer ' & _
- 'WHERE ID > 18000 ' & _
- 'ORDER BY LastName, FirstName')
- ' Заполняем список
- Do Until rs.EOF
- lstCustomer.Addltem rs.Fields('LastName') & ', ' & _
- rs.Fields('FirstName') & _
- ' [' & rs.Fields('ID') & ']'
- lstCustomer.ItemData(lstCustomer.Newlndex) = rs.Fields('ID')
- rs.MoveNext Loop
- rs.Close
- Set rs = Nothing
- End Sub
- Обратите внимание, что в этом коде используется свойство ItemData списка, которое позволяет добавлять дополнительные числовые данные к каждому элементу в списке. В данном случае вы добавляете в список значение поля ID - первичный ключ таблицы tblCustomer. Когда пользователь дважды щелкает на элементе списка, это значение отображается на форме, предназначенной для отображения одной записи.
- В листинге 3.13 приведен код, с помощью которого отображается детальная информация о клиенте.
- Рис. 3.7. Приложение просмотра содержимого базы данных после того, как код DAO заполнит список
- Private Sub lstCustomer_DblClick()
- Dim rs As Recordset
- Dim f As frmSingle
- Dim lnglD As Long
- Set f = New frmSingle
- lnglD = lstCustomer.ItemData(lstCustomer.Listlndex)
- Set rs = db.OpenRecordset('SELECT * ' & _
- 'FROM tblCustomer ' & _
- 'WHERE ID = ' & lnglD)'
- f.TextBox(0) = rs.Fields ('FirstName',)
- f.TextBox(l) = rs.Fields('LastName')
- f.TextBox(2) = rs.Fields('Address') & ''
- f.TextBox(3) = rs.Fields('City') & ''
- f.TextBox{4) = rs.Fields('State') & ''
- ' Отображаем дочернюю форму с формой frmMain
- ' в качестве родительской. f.Show vbModeless, Me
- rs.Close
- Set rs = Nothing
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д