以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]代码错在哪呢?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=16239)

--  作者:新福星
--  发布时间:2012/2/6 19:10:00
--  [求助]代码错在哪呢?

    下列程序的是按照教材中的格式做的,在执行 DataTables("库存").Load()语句时出现错误.怎么查看也没发现错在何处?请老师指点!

 

Dim s2 As Row=Tables("合并料码_table2").Current
If s2 Is Nothing Then
    MessageBox.Show("选定料码表内没有记录,请选择!")
    Return
End If
If Tables("合并料码_table3").Rows.Count=0 Then
    MessageBox.Show("归属料码表内没有记录,请选择!")
    Return
End If

Dim ids As String=""
For Each dr As DataRow In DataTables("合并料码_table2").DataRows
    ids =ids & "," & dr("料品编码")
Next
For Each dr As DataRow In DataTables("合并料码_table3").DataRows
    ids =ids & "," & dr("料品编码")
Next
ids=ids.Trim(",")


DataTables("库存").LoadFilter ="料品编码 In (" & ids & ")"
DataTables("库存").LoadTop=""

\'错误出在下行语句
DataTables("库存").Load()


此主题相关图片如下:bbb.jpg
按此在新窗口浏览图片

--  作者:czy
--  发布时间:2012/2/6 19:20:00
--  

料品编码是字符型的吗?

table2和table3中料品编码有空值吗?


--  作者:新福星
--  发布时间:2012/2/6 19:24:00
--  

肯定没有空值.我用Mes方式显示出来看了都很正常!


--  作者:新福星
--  发布时间:2012/2/6 19:24:00
--  

料品编码是字符型

 


--  作者:狐狸爸爸
--  发布时间:2012/2/6 19:30:00
--  

如果是字符型,单个的值应该用单引号括起来,这里有个例子:

 

http://www.foxtable.com/help/topics/2410.htm

 


--  作者:czy
--  发布时间:2012/2/6 19:30:00
--  

字符型你就得改代码了。

你组合的ids中的值是数值型的,因为你没有加单引号。

[此贴子已经被作者于2012-2-6 19:30:46编辑过]

--  作者:mr725
--  发布时间:2012/2/6 19:32:00
--  
把这个结果拿出来看看就应该知道问题了: output.show(ids)
--  作者:新福星
--  发布时间:2012/2/6 19:34:00
--  
hehe~~谢谢 我知道了