如果选择组合框vb6,则在文本框中填充值

如果选择组合框vb6,则在文本框中填充值,vb6,Vb6,我使用的是VB 6.0,我有一个表单(Form1)、一个组合框(combobox 1)和一个文本框(textbox 1)。我在项目中创建的本地数据库中有一个表(Salary)。在表“Salary”中,我只有四列(UserID-主键、Salary Type、Salary Range),表中有多条记录 我需要了解的是如何让文本框填充combobox中所选内容的相应列。任何和所有的帮助都将不胜感激 下面是我用来将数据库与VB链接的代码: Private WithEvents cmdPopulate A

我使用的是VB 6.0,我有一个表单(Form1)、一个组合框(combobox 1)和一个文本框(textbox 1)。我在项目中创建的本地数据库中有一个表(Salary)。在表“Salary”中,我只有四列(UserID-主键、Salary Type、Salary Range),表中有多条记录

我需要了解的是如何让文本框填充combobox中所选内容的相应列。任何和所有的帮助都将不胜感激

下面是我用来将数据库与VB链接的代码:

Private WithEvents cmdPopulate As CommandButton
Private WithEvents dcbDataCombo As DataCombo

Private Sub Form_Load()

    Dim rs As ADODB.Recordset
    Dim strConnect As String
    Dim strSQL   As String

    strConnect = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Mahmoud\Desktop\Project\Database.mdb;Persist Security Info=False"
    strSQL = "Select Distinct * FROM Salary order by UserID asc"  ' set ascending order

    Set rs = New ADODB.Recordset
    With rs
       .CursorType = adOpenStatic
       .LockType = adLockReadOnly
       .Open Source:=strSQL, _
          ActiveConnection:=strConnect, _
          Options:=adCmdText
    End With

    Set DataCombo1.RowSource = rs
    DataCombo1.ListField = "UserID"
    DataCombo1.DataField = "UserID"

End Sub

我已将答案从单击事件更新为完整示例:

Option Explicit

Private WithEvents cmdPopulate As CommandButton
Private WithEvents dcbDataCombo As DataCombo
Private rs As ADODB.Recordset

Private Sub Form_Load()
   Dim strConnect As String
   Dim strSQL As String
   Dim cn As ADODB.Connection

   strConnect = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Mahmoud\Desktop\Project\Database.mdb;Persist Security Info=False"
   strSQL = "Select Distinct * FROM Salary order by UserID asc"  ' set ascending order

   Set cn = New ADODB.Connection
   cn.ConnectionString = strConnect
   cn.Open
   cn.CursorLocation = adUseClient
   Set rs = New ADODB.Recordset
   rs.Open strSQL, cn, adOpenStatic, adLockReadOnly, adCmdText

   Set DataCombo1.RowSource = rs
   DataCombo1.ListField = "UserID"
   DataCombo1.DataField = "UserID"
End Sub

Private Sub DataCombo1_Click(Area As Integer)
   rs.MoveFirst
   rs.Find "UserID = " & DataCombo1.Text
   If Not (rs.BOF Or rs.EOF) Then TextBox1.Text = rs.Fields("SalaryType").Value
End Sub
如果字段名
SalaryType
不正确,请根据需要进行修复。

您写道:

ActiveConnection:=strConnect
但是strConnect是一个字符串,而ActiveConnection需要一个ADODB.Connection对象,而不是字符串。此外,连接必须已经打开:

Dim CN As ADODB.Connection
Set CN = New ADODB.Connection
CN.ConnectionString = strConnect
CN.Open
CN.CursorLocation = adUseClient

' for recordset:
rs.Open strSQL, CN, adOpenStatic, adLockReadOnly, adCmdText

不,您不太了解我,例如,我想在文本框中填充工资类型,其中用户ID与组合框选择相匹配谢谢Giorgio,我是这方面的初学者,因此如果您能帮助我,应该在哪一行添加代码,以及应该修改哪一行,因为我需要在组合框选择后在文本框中显示结果