组合框的Visual Basic 6问题

时间:2015-05-23 18:58:17

标签: combobox vb6

我在vb6中创建了一个论坛,并在访问时与数据库建立了连接,一切都很完美。 我的问题是在我的形式有2个组合框一个选择数字和其他给我其他数字(观看视频了解) 无论如何第一个组合工作,第二个组合也工作但是从第一个组合中选择不同的数字后,我在第二个组合中没有得到任何东西。我知道我只是错过了代码中的东西非常愚蠢 我已经上传了一个视频,所以你可以提前看到我的问题。

Private Sub Form_Load()
liaison
Do Until rspatient.EOF
   Me.npa.AddItem rspatient.Fields(0)
   rspatient.MoveNext
   Loop
End Sub

Private Sub npa_Click()
rspatient.MoveFirst
Dim cr As String
cr = "npation ='" & npa & "'"
rspatient.Find cr
nom = rspatient.Fields(1)
prenom = rspatient.Fields(3)
rshospita.MoveFirst
nh.Clear
While rshospita.EOF = False
   If UCase(rshospita.Fields(14)) = UCase(npa) Then
         nh.AddItem rshospita.Fields(0)
         End If
         rshospita.MoveNext
         Wend

End Sub

视频详细信息: https://www.youtube.com/watch?v=Tidm18_tvp0

1 个答案:

答案 0 :(得分:0)

您的问题最简单的原因是您没有与您的第二位患者相关的任何医院记录。先检查一下。

但是,您的代码也有点复杂。做你想做的更简单的方法是使用Filter而不是Find。过滤器将您的记录集限制为仅匹配过滤器的记录,因此您可以像处理整个记录集一样(rspatient)来迭代过滤后的记录集。像这样:

Private Sub npa_Click()
    With rshospita
        .Filter = ".Fields(14) = '" & npa & "'"
        .MoveFirst
        nh.Clear
        Do Unitl .EOF
            nh.AddItem .Fields(0)
       .MoveNext
    End With
End Sub