填充文本框中的值,如果选择组合框vb6
问题描述:
我正在使用VB 6.0我有一个窗体(Form1),1个组合框(ComboBox1)和1个文本框(TextBox1)我创建了本地数据库中的一个表(Salary)在表'工资'中,我只有四列(用户ID - 主键,工资类型,工资范围)表中有多条记录。填充文本框中的值,如果选择组合框vb6
我需要弄清楚的是,如何让文本框与组合框中选择的相应列一起填充。任何和所有的帮助,将不胜感激。
下面是我用用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
答
我已经更新了我的答案正好从click事件到一个完整的例子:
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
+0
非常感谢乔治,我是这方面的初学者,所以如果你能帮助我在哪一行应该添加代码以及该行应该被修改,因为我需要结果在组合框选择后出现在文本框中 –
不,你不理解我还有例如,我要填充工资类型的文本框,其中用户ID与组合框中选择 –
对不起匹配。我已经更新了我的答案。 –