以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 急 急 急 在运行的时候没问题 , 但用开发模式就出现这个问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=132035) |
-- 作者:kennypalm -- 发布时间:2019/3/12 14:10:00 -- 急 急 急 在运行的时候没问题 , 但用开发模式就出现这个问题 在运行的时候没问题 , 但用开发模式就出现这个问题 , 如图 ,是什么原因 ? 急,急,急, 此主题相关图片如下:error -1.png |
-- 作者:有点甜 -- 发布时间:2019/3/12 14:36:00 -- 贴出对应事件的代码
http://www.foxtable.com/webhelp/scr/1485.htm
一般是因为你没有加载表数据,但引用了报的错 |
-- 作者:kennypalm -- 发布时间:2019/3/12 16:38:00 -- If len(shop.value)>0 Then filter= "{pos_master}.shopcode=\'"& shop.Value &"\' and pos_date between \'"& startdate &"\' And \'"& enddate &"\' " Else filter= " pos_date between \'"& startdate &"\' And \'"& enddate &"\' " End If If len(filter)>0 And user.Name="admin" Then MessageBox.Show (Filter) DataTables("pos_master").LoadFilter =Filter DataTables("pos_master").load Dim r As Integer Dim RowCount As Integer = Tables("pos_master").Rows.Count Dim startcount As Integer If user.name="admin" Then messagebox.Show ( " tables pos_master row count " & Rowcount ) If user.name="admin" Then messagebox.Show ( " tables pos_master start count " & startcount ) Do Until startcount= Rowcount Dim r_1 As Row = Tables("pos_master").Rows(startcount) If len(r_1("customer_card_no") )>0 Then Dim customer_dr As DataRow find_str=("customer_card_no=\'"& r_1("customer_card_no") &"\' ") messagebox .Show (find_Str) customer_dr=DataTables("customer").find (find_str) Dim pos_master_dr As DataRow pos_master_dr = DataTables("pos_master").Find("customer_card_no=\'"& r_1("customer_card_no") &"\' ","pos_date desc ") If pos_master_dr IsNot Nothing Then \'如果找到的话 messagebox.Show ( " 2 ") r_1("lastbuy_day")=pos_master_dr("pos_date") End If If len(customer_dr("customer_ename") )>0 Then r_1("customer_ename")=customer_dr("customer_ename") If len(customer_dr("customer_opening") )>0 Then r_1("customer_opening")=customer_dr("customer_opening") If len(customer_dr("customer_sub_cat") )>0 Then r_1("customer_sub_cat")=customer_dr("customer_sub_cat") \' messagebox.Show( r_1("customer_cname") & " " & r_1("customer_card_no") & " " & startcount ) Else r_1("customer_ename")="" End If startcount=startcount+1 \' messagebox.Show(" start value " & startcount ) Loop |
-- 作者:有点甜 -- 发布时间:2019/3/12 16:45:00 -- 1、请加入msgbox定位一下出错的位置
http://www.foxtable.com/webhelp/scr/1485.htm
2、按代码,可能是这个代码出错,如果是,去currentchanged事件看看
DataTables("pos_master").LoadFilter =Filter
DataTables("pos_master").load
|
-- 作者:kennypalm -- 发布时间:2019/3/12 18:32:00 -- 我发现 这句错了 , DataTables("pos_master").find 有时能找到 资料 有时不能 ,而我用 sql manager 找是肯定有资料的 是什么原因导致了 ? Dim sales_dr As DataRow sqlfilter="pos_date >=\'"& startdate &"\' and pos_date <= \'"& enddate &"\' " \'sqlfilter="pos_date between \'"& &"\' and \'"& enddate &"\' " If user.name="admin" And i <10 Then messagebox.Show (" pos_master " & sqlfilter) DataTables("pos_master").loadfilter=sqlfilter DataTables("pos_master").load If user.name="admin" And i<10 Then MessageBox.Show( drnew("CUSTOMER_CARD_NO") ) sales_dr= DataTables("pos_master").find ("customer_card_no = \'"& drnew("CUSTOMER_CARD_NO") &"\' ", "pos_date desc" ) If sales_dr IsNot Nothing Then drnew("lastday_buy")=sales_dr("pos_date") drnew("sales_code")=sales_dr("updated_user") Else StatusBar.Message2=("Sales Records Not Found" ) drnew("lastday_buy")="" drnew("sales_code")="" End If |
-- 作者:有点蓝 -- 发布时间:2019/3/12 20:06:00 -- msgbox("customer_card_no = \'"& drnew("CUSTOMER_CARD_NO") &"\' ") ‘这个条件放到数据库能不能查到 |
-- 作者:有点甜 -- 发布时间:2019/3/13 10:28:00 -- 1、从你贴出的代码看,能不能找到,都不会报错的,因为你做了是否为空的判断了;
2、请确认哪句代码出错 http://www.foxtable.com/webhelp/scr/1485.htm
|
-- 作者:kennypalm -- 发布时间:2019/3/13 12:24:00 -- datatables 的 filter 需要先清空一下嗎 ? 因为这个数据 pos_master 在其他表也要引用 是不是因为 其他表的 filter 原因导致 ? 有时没有问题 ,有时 有问题不能用 , 后来我清空了 filter="" 然后再 设置filter 好像解决了问题 Dim sales_dr As DataRow sqlfilter="pos_date >=\'"& startdate &"\' and pos_date <= \'"& enddate &"\' " \'sqlfilter="pos_date between \'"& &"\' and \'"& enddate &"\' " If user.name="admin" And i <10 Then messagebox.Show (" pos_master " & sqlfilter) DataTables("pos_master").loadfilter=sqlfilter DataTables("pos_master").load sales_dr= DataTables("pos_master").find ("customer_card_no = \'"& drnew("CUSTOMER_CARD_NO") &"\' ", "pos_date desc" )
|
-- 作者:有点甜 -- 发布时间:2019/3/13 12:27:00 --
filter不会影响,loadfilter、load才会影响
|
-- 作者:kennypalm -- 发布时间:2019/3/13 15:02:00 -- 我 需要 loadfilter="" 然后再设置新的 loadfiter > load 这样设置可好 ? |