Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
我自己设计了个窗口,窗口内一个按钮的click事件如下:
结果:我每次打开狐表第一下点击按钮就会报: [Select语句执行错误,请检查语法及数据源设置。] 之后再点击同一按钮第二下,结果又能正常显示.之后每次点击都不会再报错.
每次都是这样,打开狐表第一下点击这个按钮都会报同样的错误,之后的点击又不报错了.这是什么原因啊?
打开命令窗口,然后单击按钮:
1 DataTables("fa piao发货出库跟踪表").DataRows.clear()
2 Dim SQL As String
3 SQL = " select * from V_FPFHCK_FOXTABLE "
4 SQL = SQL & " WHERE [发货日期] BETWEEN '" & replace(e.Form.Controls("DateTimePicker1").text,"-","") & "'"
5 SQL = SQL & " AND '" & replace(e.Form.Controls("DateTimePicker2").text,"-","") & "'"
6 SQL = SQL & " AND ([发货合同供方编号] in (select list from getinstr('" & e.Form.Controls("TextBox1").value & "'))"
7 SQL = SQL & "OR '" & e.Form.Controls("TextBox1").value & "' = '' )"
8 SQL = SQL & " AND ([发货合同购方编号] IN(SELECT LIST FROM GETINSTR('" & e.Form.Controls("TextBox3").value & "'))"
9 SQL = SQL & "OR '" & e.Form.Controls("TextBox3").value & "' = '' )"
10 Output.show(SQL)
11 DataTables("fa piao发货出库跟踪表").Fill(SQL,"生产机",True)
看看第一次和第二次合成的SQL语句有何不同。
看不出来原因,把他整成access数据源发上来测试看看。
你们试一下,直接做一个连接到SQL的外部数据源.然后做个按钮.click中触发:
DataTables("表A").DataRows.clear()
Dim SQL As String = ""
SQL = " select * from VIEW_NAME"
DataTables("表A").Fill(SQL,"外部数据源连接名",True)
这样点击第一下就会报错了.
(这里的VIEW_NAME是个视图)
兄弟,Fill会自动清除以前数据的,所以你的这一行代码是多余的:
DataTables("表A").DataRows.clear()
删除吧。