我用VB6企业版,我装一个datacombo帮定到一个数据库字段,
有两个表一个是 员工档案,一个是单据
员工档案表
员工编号 varchar(4)
员工姓名 varchar(12)
单据表
业务员编号 varchar(4)datacombo设置如下
boundcolumn 员工编号
datafield 业务员编号
datasource 单据记录集 rs_djmain
listfield 员工姓名
matchentry 0-dblbaxicmatching开始的时候出现选择了员工以后没有将rs_djmain的业务员编号置为[员工编号]
我就用代码来设置Private Sub ywy_LostFocus()
On Error GoTo er1
rs_djmain.Recordset![业务员编号] = Trim(ywy.BoundText)
Exit Sub
er1:
MsgBox Err.Description + CStr(Err.Number)
end sub
Private Sub gcs_GotFocus()
dcb_otext = ywy.Text
End Sub//值发生改变时,通过输入字符选择第一个出现的名字
Private Sub ywy_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Then
If dcb_otext <> ywy.Text Then
SendKeys "{down}"
End If
SendKeys "{tab}"
End If
End Sub
这样做以后有些可以选上,但有一些选择以后 rs_djmain中业务员编号有员工编号但这时候控件没有显示员工姓名(通过调试发现ywy.BoundText为空了,但选有一些值时又不为空
拼音开头为Z的好像就不行了),
还有检索的时候也有问题,第一次将所有选项用光标键过一次才可以检索,但拼音Z开头的还是不检索.以前好象没有这样的问题,不知道怎么回事.
请赐教
有两个表一个是 员工档案,一个是单据
员工档案表
员工编号 varchar(4)
员工姓名 varchar(12)
单据表
业务员编号 varchar(4)datacombo设置如下
boundcolumn 员工编号
datafield 业务员编号
datasource 单据记录集 rs_djmain
listfield 员工姓名
matchentry 0-dblbaxicmatching开始的时候出现选择了员工以后没有将rs_djmain的业务员编号置为[员工编号]
我就用代码来设置Private Sub ywy_LostFocus()
On Error GoTo er1
rs_djmain.Recordset![业务员编号] = Trim(ywy.BoundText)
Exit Sub
er1:
MsgBox Err.Description + CStr(Err.Number)
end sub
Private Sub gcs_GotFocus()
dcb_otext = ywy.Text
End Sub//值发生改变时,通过输入字符选择第一个出现的名字
Private Sub ywy_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Then
If dcb_otext <> ywy.Text Then
SendKeys "{down}"
End If
SendKeys "{tab}"
End If
End Sub
这样做以后有些可以选上,但有一些选择以后 rs_djmain中业务员编号有员工编号但这时候控件没有显示员工姓名(通过调试发现ywy.BoundText为空了,但选有一些值时又不为空
拼音开头为Z的好像就不行了),
还有检索的时候也有问题,第一次将所有选项用光标键过一次才可以检索,但拼音Z开头的还是不检索.以前好象没有这样的问题,不知道怎么回事.
请赐教
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货