列表框,选取字段值时出错

huhacoca 2010-09-26 07:22:01
第一个列表框
Private Sub cmbfield_Click()
cmbname.Clear
Adodc1.RecordSource = "HXKH"
Adodc1.Refresh
Do While Not Adodc1.Recordset.EOF
cmbname.AddItem Adodc1.Recordset.Fields(cmbfield.Text)
Adodc1.Recordset.MoveNext
Loop
cmbname.Text = cmbname.List(0)

End Sub

第二个列表框
Private Sub cmbname_Click()
Dim condition
condition = cmbfield.Text
If Adodc1.Recordset.Fields(condition).Type = 202 Then
Adodc1.RecordSource = "HXKH where" & condition & " = '" & cmbname.Text & "'"
Else
Adodc1.RecordSource = "HXKH where" & condition & " = " & cmbname.Text
End If
Adodc1.Refresh
txtno.Text = Adodc1.Recordset.Fields("客户编号")
txtname.Text = Adodc1.Recordset.Fields("产品名称")
txtdate = Adodc1.Recordset.Fields("日期")
txtnum.Text = Adodc1.Recordset.Fields("数量")
txtprice.Text = Adodc1.Recordset.Fields("单价")
txtall.Text = Adodc1.Recordset.Fields("金额")
End Sub

建立了2个列表框,第一个列表框读取数据库的字段值,可以正常读取,然后第二个列表框,根据第一个列表框的字段,可以相应的选取该字段所有包含的值,下面有2个错误,第一个,比如,我选择了第一个列表框的客户编号字段,第二个列表框会出现相应的值,但是如果我选择数量,单价,金额这些字段,就会提示"实时错误94,无效使用null",也就是文本的可选,数值的不可选,求解决的方法
...全文
49 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
huhacoca 2010-09-26
上面那个问题解决了,原因是我测试的时候,有些字段没输入值....额....
回复
jhone99 2010-09-26
If Adodc1.Recordset.Fields(condition).Type = 202 Then
Adodc1.RecordSource = "HXKH where " & condition & " = '" & cmbname.Text & "'"
Else
Adodc1.RecordSource = "HXKH where " & condition & " = " & cmbname.Text
End If

********************
where 的后面应该加空格
回复
Kill2010 2010-09-26
检查数据库里的数值,应该有null,给成实际的数值应该就没问题了
回复
huhacoca 2010-09-26
选取了第一个列表框后,第二个列表框出现的值是第一条的
回复
相关推荐
发帖

1187

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
帖子事件
创建了帖子
2010-09-26 07:22
社区公告
暂无公告