VB6.0与DataControl数据库编程

VB6.0与DataControl数据库编程,vb6,Vb6,嘿,我能问你件事吗?我正在使用VB6.0,通过DataControl连接数据库时遇到一些问题。我有一个名为tblEmployee的表,另一个是tblPosition,然后我将两个表的值分别传递给两个DataControls。然后如何获得某一行位置字段的值。对于我的代码,“我的位置”字段仅返回第一行。这是我的密码 Private Sub cmdSearchEmployee_Click() With datEmployee.Recordset datEmployee.Recordset.In

嘿,我能问你件事吗?我正在使用VB6.0,通过DataControl连接数据库时遇到一些问题。我有一个名为tblEmployee的表,另一个是tblPosition,然后我将两个表的值分别传递给两个DataControls。然后如何获得某一行位置字段的值。对于我的代码,“我的位置”字段仅返回第一行。这是我的密码

Private Sub cmdSearchEmployee_Click()
With datEmployee.Recordset
    datEmployee.Recordset.Index = "idxid"
    datEmployee.Recordset.Seek "=", txtIDNumber.Text

    If .NoMatch = True Then
        MsgBox ("No Record Found!")
    Else
        Me.txtLastName.Text = .Fields("lname")
        Me.txtFirstName.Text = .Fields("fname")
        Me.txtMiddleName.Text = .Fields("mi")

        With datPosition.Recordset
            Me.txtPosition.Text = .Fields("position")

        End With
    End If
End With

End Sub

我看不出您是否已将该值传递给名为datPosition的数据控件。这可能是问题所在吗?e、 你在哪里

    With datPosition.Recordset
        Me.txtPosition.Text = .Fields("position")

    End With
…应该更像这样:

    With datPosition.Recordset
        .Index = "some_index??"
        .Seek "=", "some_value??"
        Me.txtPosition.Text = .Fields("position")
    End With

还考虑使用记录集的筛选器删除与标准不匹配的行,然后记录计数通过符合标准的行循环。


进一步考虑通过在TBLeMeb和TBLUTIT之间创建连接来返回单个记录集,无论是在SQL代码中还是使用具有它的语法的MSDATAsHAPE返回一个分层记录集。

是的,我设置了两个DATACONTROLLS的属性[数据库名、记录集类型和记录源]。我该怎么做呢,TBlemEmployee有一个idxEmployee索引,而tblPosition有一个idxPosition索引。请给我一些语法。程序应该首先查找ID号,当ID号存在时,进一步的信息[lname、fname、mi、position]应该分别出现在文本框中。