我的程序内容大致如下:
Public str As String
Private Sub command1_Click()
If Trim(Text1(1).Text) <> "" Then
If str = "" Then
str = "名称='" + Trim(Text1(1).Text) + "'"
Else
str = str + "and 名称='" + Trim(Text1(1).Text) + "'"
End If
End If
If Trim(Text1(2).Text) <> "" Then
If str = "" Then
str = "报告编号='" + Trim(Text1(2).Text) + "'"
Else
str = str + "and 报告编号='" + Trim(Text1(2).Text) + "'"
End If
End If
If str <> "" Then
Adodc1.RecordSource = "select * from productcmm where " + str
Adodc1.Refresh
Else
Adodc1.RecordSource = "select * from productcmm"
Adodc1.Refresh
End If
recs = Adodc1.Recordset.RecordCount
If recs = 0 Then
MsgBox "没有任何满足条件的记录", vbOKOnly, "信息提示"
End If
Call encomm
End Sub
Private Sub Command2_Click()
Dim sqltxt As String
Dim rs As String
sqltxt = "delete temppr"
Set conn = New ADODB.Connection
conn.ConnectionString = "DSN=ylgl;UID=sa;PWD=;"
conn.Open
conn.Execute sqltxt
If str = "" Then
sqltxt = "insert into temppr select * from productcmm"
Else
sqltxt = "insert into temppr select * from productcmm where" + str
End If
conn.Execute sqltxt
conn.Close
printf2.Show vbModal
End Sub
当我运行后,按command2的时候,就会提示实时错误'-2147217900(80040e14)'[Microsoft][ODBC SQL SERVER RIVER][SQL SERVER]第一行:'='附近有语法错误。而且错误行是指在'conn.execute sqltxt'这里的。不过如果str=""的时候,就不会报错,哪位大哥教教小弟我吧,先谢谢啦
Public str As String
Private Sub command1_Click()
If Trim(Text1(1).Text) <> "" Then
If str = "" Then
str = "名称='" + Trim(Text1(1).Text) + "'"
Else
str = str + "and 名称='" + Trim(Text1(1).Text) + "'"
End If
End If
If Trim(Text1(2).Text) <> "" Then
If str = "" Then
str = "报告编号='" + Trim(Text1(2).Text) + "'"
Else
str = str + "and 报告编号='" + Trim(Text1(2).Text) + "'"
End If
End If
If str <> "" Then
Adodc1.RecordSource = "select * from productcmm where " + str
Adodc1.Refresh
Else
Adodc1.RecordSource = "select * from productcmm"
Adodc1.Refresh
End If
recs = Adodc1.Recordset.RecordCount
If recs = 0 Then
MsgBox "没有任何满足条件的记录", vbOKOnly, "信息提示"
End If
Call encomm
End Sub
Private Sub Command2_Click()
Dim sqltxt As String
Dim rs As String
sqltxt = "delete temppr"
Set conn = New ADODB.Connection
conn.ConnectionString = "DSN=ylgl;UID=sa;PWD=;"
conn.Open
conn.Execute sqltxt
If str = "" Then
sqltxt = "insert into temppr select * from productcmm"
Else
sqltxt = "insert into temppr select * from productcmm where" + str
End If
conn.Execute sqltxt
conn.Close
printf2.Show vbModal
End Sub
当我运行后,按command2的时候,就会提示实时错误'-2147217900(80040e14)'[Microsoft][ODBC SQL SERVER RIVER][SQL SERVER]第一行:'='附近有语法错误。而且错误行是指在'conn.execute sqltxt'这里的。不过如果str=""的时候,就不会报错,哪位大哥教教小弟我吧,先谢谢啦
解决方案 »
- 对于clear_zero我要说两句
- 请问classmoudle和moudle的区别
- 关于用winsock下载文件问题?
- 又关Setup Factory打包的问题!!!
- 请教!打开一个表时出现问题(在线等)
- 为什么每次都弹出"在此页上的ActiveX控件和本页上的其他部分的交互可能不安全。你想允许这种交互吗?"
- lihonggen0(李洪根,用.NET,标准答案来了),你的联系方式多少?
- 请问大家一个问题。关于图像处理的。我研究了两天,没搞懂。(100分)
- text1怎么老变长,改了也不行,好急!
- 谁知道保护屏幕自己怎吗做
- MySQL Select 语句返回记录集数量-1?
- listbox控件的问题
估计你后面应该接一个条件判断,这个条件判断中用是字符串或者日期类型的话就需要用''或者##将变量值括起来才可以。
但是也有可能是其他问题,请在出错的时候在立即窗口中用 ? str 打印出STR的内容来,才能具体判断。
把sqltxt打印出来就知道问题的原因的
注意where后面的空格