我要往一个
Private Sub Form_Load()
'''''''''''''''连接并打开数据库的代码
end sub
Private Sub Text1_Change()
MYSTR="select mnmb from MaterialInfo where mnmb like '%" & Text1.Text & "%'"
往combo1中添加MYSTR
以后不会写了
......
End Sub
我要实现的功能是:根据输入的内容,列举相近的内容供选择(象IE一样)
Private Sub Form_Load()
'''''''''''''''连接并打开数据库的代码
end sub
Private Sub Text1_Change()
MYSTR="select mnmb from MaterialInfo where mnmb like '%" & Text1.Text & "%'"
往combo1中添加MYSTR
以后不会写了
......
End Sub
我要实现的功能是:根据输入的内容,列举相近的内容供选择(象IE一样)
解决方案 »
- 用ACCESS2007如何打开有工作组(MDW)文件加密的ACCESS2003版的数据库文件
- vb如何实现等待一段时间(如10秒)后在运行下面的代码,不要用计时器控件
- 利用timer定时刷新通信数据的问题?
- "RUN-time error 53 file not found"怎么解决?
- 我想从摄像头获取图片,但是视频窗口必须出现在屏幕上,如何在后台获得摄像头的图片。
- 图片渐隐效果的实现
- 怎样在DataGrid控件的某一列中显示一个按钮?
- 一个奇怪的问题?关于REALAUDIO控件。 救急.
- 一个问题:ado中SQL语句的问题
- 能在vb环境下开多线程吗 怎么开,如果开多进程呢?
- API函数,及变量的声明位置
- 如何利用mediaplayer判断所要播放文件的长度?
Dim rstTemp As New ADODB.Recordset
Dim conn As New ADODB.Connection
Dim MYSTR As String
conn.ConnectionString = "driver={sql server};server=localhost;uid=sa;pwd=;database=test"
conn.Open
MYSTR="select mnmb from MaterialInfo where mnmb like '%" & Text1.Text & "%'"
Set rstTemp = conn.execute(MYSTR, , adcmdtext)
Combo1.Clear
Combo1.Text = rstTemp(0)
If rstTemp.BOF And rstTemp.EOF Then
Exit Sub
Else
Do Until rstTemp.EOF
Combo1.AddItem rstTemp(0)
rstTemp.Movenext
Loop
End If
里面有一个错误的处理再问:就是当输入的内容在record中没有记录的时候,就会出现如下的警告:BOF或EOF中有一个是真,或者当前的记录已被删除,所需操作要求有一个当前记录.
我的代码是这样写的
Private Sub text1_Change()
Combo1.Visible = True
If Not Text1.Text = "" Then
rs = "select mnmb from MaterialInfo where mnmb like '%" & Text1.Text & "%'"
Set strsa = conn.Execute(rs, , adCmdText)
'strsa.Open rs, conn, adOpenKeyset, adLockOptimistic
End If
Combo1.Clear
Combo1.Text = strsa(0)
If strsa.BOF And strsa.EOF Then
Exit Sub
Else
Do Until strsa.EOF
Combo1.AddItem strsa(0)
strsa.MoveNext
Loop
End If
Combo1.Visible = True
If Not Text1.Text = "" Then
rs = "select mnmb from MaterialInfo where mnmb like '%" & Text1.Text & "%'"
Set strsa = conn.Execute(rs, , adCmdText)
'strsa.Open rs, conn, adOpenKeyset, adLockOptimistic
End If
Combo1.Clear
Combo1.Text = strsa(0)
If strsa.BOF And strsa.EOF Then
Exit Sub
Else
strsa.movefrist
Do Until strsa.EOF
Combo1.AddItem strsa(0)
strsa.MoveNext
Loop
End If
这句话,在If strsa.BOF And strsa.EOF Then之前执行了,如果返回的结果集为EOF或BOF的话就会出错了。现在应该OK了Private Sub text1_Change()
Combo1.Visible = True
If Not Text1.Text = "" Then
rs = "select mnmb from MaterialInfo where mnmb like '%" & Text1.Text & "%'"
Set strsa = conn.Execute(rs, , adCmdText)
'strsa.Open rs, conn, adOpenKeyset, adLockOptimistic
End If
Combo1.Clear
If strsa.BOF And strsa.EOF Then
Exit Sub
Else
strsa.movefrist
Combo1.Text = strsa(0)
Do Until strsa.EOF
Combo1.AddItem strsa(0)
strsa.MoveNext
Loop
End If