当前位置:编程学习 > VB >>

VB的DATA 控件 在查找记录并用 DBGRID 显示的时候出错

VB的DATA 控件 在查找记录并用 DBGRID 显示的时候出错   
输入的是 1234 这样的数字时, 可以正确查找出对应记录并显示出来,
可输入字符的时候 程序就出错了 
比如输入22asd 提示 Syntax error(missing operator) in query expression '姓名 like 22asd'
输入22 就没事

相关代码 如下

Private Sub Command1_Click()
Dim str As String, str1 As String

   
  Select Case frmmain.i
        Case 1
              str1 = "员工"
        Case 2
              str1 = "假条"
        Case 3
              str1 = "薪水"
  End Select
 If Text1.Text = "" Then
 MsgBox "请输入你所要查询的信息"
 Else
   str = "select * from " & str1 & " where " & Cmb1.Text & " Like " & Text1.Text
   Data1.RecordSource = str
   Data1.Refresh
 End If
End Sub

高手请进 帮忙解决下 
急, 在线等...
--------------------编程问答-------------------- 改成这样的
Private Sub Command1_Click() 
Dim str As String, str1 As String 

  
  Select Case frmmain.i 
        Case 1 
              str1 = "员工" 
        Case 2 
              str1 = "假条" 
        Case 3 
              str1 = "薪水" 
  End Select 
If Text1.Text = "" Then 
MsgBox "请输入你所要查询的信息" 
Else 
  str = "select * from " & str1 & " where " & Cmb1.Text & " Like '%" & Text1.Text & "%'"
  Data1.RecordSource = str 
  Data1.Refresh 
End If 
End Sub 
 Like 后面一般跟的是字符,sql 的字符是单引号的"'",而"%"是匹配符,建议看一本关于SQL的书 
--------------------编程问答-------------------- 还是出错 
标准表达式中的数据类型不匹配。。。

不用 LIKE 也可以 
用 = 也行  
给我个正确的 从 COMBO 中字段名 从TEXT中选字段 的语句 谢谢 --------------------编程问答-------------------- str = "select * from " & str1 & " where " & Cmb1.Text & " Like '%" & Text1.Text & "%'"  --------------------编程问答-------------------- 这个大侠 您的代码和1楼的 一样呢。。。 
还是会出错的。。。  --------------------编程问答-------------------- 是不是我的数据库的数据类型设置的有问题呢? 
我是设置的文本和数字型的 
。。。。 --------------------编程问答-------------------- str = "select * from " & str1 & " where " & Cmb1.Text & " Like " & Text1.Text 
改为
str = "select * from " & str1 & " where " & Cmb1.Text & " Like '" & Text1.Text & "'"
试试 --------------------编程问答-------------------- 大侠门 快来啊。。。。  --------------------编程问答-------------------- 请问下,你的Cmb1.Text放的是什么字段,是什么数据类型的,like基本是字符型的,如果时间和其他的数据类型可能会出错 --------------------编程问答-------------------- 回复:给我个正确的 从 COMBO 中字段名 从TEXT中选字段 的语句 谢谢

选是这样的   
Cmb1.list(Cmb1.listindex)
特别要提醒一下,Cmb1.listindex=-1 代表没选中,要过滤这种情况,否则会出错 --------------------编程问答-------------------- 是我数据库的字段类型设置的不一样
 全改为 文本型就可以了
 
没有 可以同时显示文本和数值型的语句么 。。。。 --------------------编程问答-------------------- 有人有 可以让 COMBO 控件 不能手动输入文字, 只能从下拉选项中 选择各项 的代码吗???
--------------------编程问答-------------------- str = "select * from " & str1 & " where " &"'"& Cmb1.Text&"'" & " Like " &"'"& Text1.Text "'"
这样就应该差不多了

我没有试过 你先看看吧!应为当你输入字符的时候在SQL语句中要用' '连接一个字符的
   --------------------编程问答-------------------- 少了一个连接符 
str = "select * from " & str1 & " where " &"'"& Cmb1.Text&"'" & " Like " &"'"& Text1.Text &"'"

补充:VB ,  控件
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,