Как связать List с колонкой DBGrid

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Walther
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 10.08.2005 (Ср) 21:18
Откуда: Брянск

Как связать List с колонкой DBGrid

Сообщение Walther » 15.08.2005 (Пн) 14:09

Заранее прошу простить за наверное дилетантский вопрос, но так как я и есть пока дилетанат :)
Имеется база данных по визитам пациентов[Report.mdb].
В данном случае у нас участвуют две связанные таблицы:
[PacientData] - данные пациента (номер пациента, имя, возраст, пол и т.д.)
[PacientVisit] - ВСЕ визиты ВСЕХ пациентов(номер пациента, дата визита, диагноз, назначения и пр.)
таблицы связаны через поле (PacNo)-номер пациента
На форме есть контрол Data1 и связанные с ним текстбоксы txtFields(7) - тут выводятся данные пациента,
Data1 связан с [PacientData],
также есть контрол Data2 и связанный с ним DBGrid1,
Data2 связан с Data1 через SQLзапрос (str1)
соответственно DBGrid1 показывает все визиты ТОЛЬКО ДАННОГО пациента
Это то, что мы имеем

Теперь, что нужно - собственно вопрос:
Я добавил на форму List1.
Нужно - привязать его к столбцу DateVisit в DBGrid1, чтобы в List1 отображались даты визитов ТОЛЬКО ДАННОГО пациента, а DBGrid1 показывал ТОЛЬКО ОДНУ строку соответствующую выбранному в List1 визиту.
Существующий кусок кода:
Код: Выделить всё
Option Explicit
Dim DBName As String
Dim tblName As String

Private Sub Form_Load()
DBName = "REPORT.MDB"
tblName = "PacientData"
  With Data1
    .DatabaseName = App.Path + DBName
    .RecordsetType = vbRSTypeDynaset
    .RecordSource = tblName
    .Refresh
  End With
End Sub

Public Sub Data1_Reposition()
Dim str1 As String
'В txtFields(0) отображается PacNo,
  If txtFields(0).Text = Empty Then
     txtFields(0).Text = "0"
  End If
str1 = "SELECT * FROM PacientVisit WHERE PacNo=" & txtFields(0).Text
  With Data2
    .DatabaseName = App.Path + DBName
    .RecordsetType = vbRSTypeDynaset
    .RecordSource = str1
    .Refresh
  End With
DBGrid1.ReBind 'DBGrid1 привязан к Data2
End Sub


Самое главное - можно-ли решить задачу без ADO?
Заранее спасибо

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, SemrushBot и гости: 146

    TopList