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

VB的DATA 控件 在查找记录并用 DBGRID 显示的时候出错 语法错误(操作符丢失)

VB的DATA 控件 在查找记录并用 DBGRID 显示的时候出错  
输入的是 1234 这样的数字时, 可以正确查找出对应记录并显示出来, 
可输入字符的时候 程序就出错了 
比如输入22asd 提示 语法错误(操作符丢失)在查询表达式 '姓名 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 

高手请进 帮忙解决下 
急, 在线等... 
--------------------编程问答-------------------- 哪个大侠 给我个 SQL 语句  
可以利用 COMBO 和 TEXT 进行 数据库记录的查询 --------------------编程问答-------------------- str = "select * from " & str1 & " where " & Cmb1.Text & " Like '%" & Text1.Text & "%'"  --------------------编程问答--------------------
引用 2 楼 clear_zero 的回复:
str = "select * from " & str1 & " where " & Cmb1.Text & " Like '%" & Text1.Text & "%'" 


这个还是会出错 和开始上面那人一样 

标准表达式中的数据类型不匹配。。。 

不用 LIKE 也可以 
用 = 也行  
给我个正确的 从 COMBO 中字段名 从TEXT中选字段 的语句 谢谢 --------------------编程问答-------------------- str = "select * from " & str1 & " where " & Cmb1.Text & " Like '%" & Text1.Text & "%'"
 
--------------------编程问答-------------------- 这个还是会出错 和开始上面那人一样 

标准表达式中的数据类型不匹配。。。 

不用 LIKE 也可以 
用 = 也行  
给我个正确的 从 COMBO 中字段名 从TEXT中选字段 的语句 谢谢 --------------------编程问答--------------------
引用 4 楼 Leftie 的回复:
str = "select * from " & str1 & " where " & Cmb1.Text & " Like '%" & Text1.Text & "%'" 


开始还可以 输入 1234 这样的数字查询 现在 连数字输入进去查询都出错了。。。
标准表达式中的数据类型不匹配。。。 


谁能帮忙解决下。。。。
--------------------编程问答-------------------- 大侠们 快来
急急急 。。。。。。。。 --------------------编程问答--------------------

  Select Case frmmain.i 
        Case 1 
              str1 = "员工" 
        Case 2 
              str1 = "假条" 
        Case 3 
              str1 = "薪水" 
        case else
              str1 = "有空格"
  End Select 

  str = "select * from " & str1 & " where " & Cmb1.Text & " Like " & Text1.Text 
  debug.print str
  '看看打印出来的是啥
  Data1.RecordSource = str 
  Data1.Refresh 

--------------------编程问答-------------------- 输入除了数字以外的都会提示
语法错误(操作符丢失)在查询表达式 '姓名 like a'
a为text1.text 里输入的字符。
用的是 Data 控件 数据库, DBGRID 显示记录。。。。
--------------------编程问答-------------------- 有人有 可以让 COMBO 控件 不能手动输入文字, 只能从下拉选项中 选择各项 的代码吗???
还有 让文本框不能输入汉字的代码

给个好用的代码 结帖了 。。。。
--------------------编程问答-------------------- 设置combo的Style属性为2-Dropdown List --------------------编程问答--------------------
Private Sub Text1_KeyPress(KeyAscii As Integer)
    Dim nKey     As Long
    
    If KeyAscii = 8 Then Exit Sub               '保留的编辑操作
    
    nKey = KeyAscii
    
    If nKey >= &HB0A1 And nKey <= &HF7FE Then
        KeyAscii = 0
        MsgBox "不能输入汉字"
    End If
    
End Sub
--------------------编程问答-------------------- 出错的原因是因为您的数据库的数据类型设置不对引起的。您可能设置为数字类型。 --------------------编程问答-------------------- 楼主您查询的数据是混合型数据的话,数据库的数据类型就要用文本型,然后您就用Text1_KeyPress限制输入的内容就可以。 --------------------编程问答--------------------
引用 14 楼 abc_2004 的回复:
楼主您查询的数据是混合型数据的话,数据库的数据类型就要用文本型,然后您就用Text1_KeyPress限制输入的内容就可以。


 他这里有很多字段

--------------------编程问答-------------------- 什么数据库?

oracle 这样试试
str = "select * from " & str1 & " where to_char(" & Cmb1.Text & ") Like '%" & Text1.Text & "%'"  --------------------编程问答-------------------- --------------------编程问答-------------------- 设置以下控件就好 就不用输入 还可以判断有 由一个函数 判断输入的字符串是不是都是数字
补充:VB ,  数据库(包含打印,安装,报表)
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,