以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  限制行数  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=50580)

--  作者:发财
--  发布时间:2014/5/9 10:14:00
--  限制行数

Dim drs As List(Of DataRow)
Dim xj As WinForm.textBox = e.Form.Controls("姓名")
drs = DataTables("收购").Select("[姓名] = \'" & xj.Text & "\'and [凭证号] is null")
If xj.text = "" Or drs.count=0 Then
    MessageBox.Show("请重新输入查询条件!")
Else
    Dim Filter As String
    Filter =  "[猪主姓名] = \'" & xj.Text & "\'and 收购凭证号 Is null And [重量] <> 0 And [日期] = #" & vars("adate") & "#"
    Tables("打印收购窗口_Table1").Filter = Filter

end if

如何在上述代码中加入限制显示的行数不超过5行?


--  作者:发财
--  发布时间:2014/5/9 10:15:00
--  

Dim drs As List(Of DataRow)
Dim xj As WinForm.textBox = e.Form.Controls("姓名")
drs = DataTables("收购").Select("[姓名] = \'" & xj.Text & "\'and [凭证号] is null")
If xj.text = "" Or drs.count=0 Then
    MessageBox.Show("请重新输入查询条件!")
Else
    Dim Filter As String
    Filter =  "[姓名] = \'" & xj.Text & "\'and 凭证号 Is null And [重量] <> 0 And [日期] = #" & vars("adate") & "#"
    Tables("打印收购窗口_Table1").Filter = Filter

end if

如何在上述代码中加入限制显示的行数不超过5行?


--  作者:发财
--  发布时间:2014/5/9 10:19:00
--  
应该怎样加入代码呢?
--  作者:Bin
--  发布时间:2014/5/9 10:22:00
--  
你这个表设置为SQLTABLE

然后用 Tables("打印收购窗口_Table1").Fill("select top 5 * from {表名} where " & Filter ,false)

--  作者:有点甜
--  发布时间:2014/5/9 10:27:00
--  
 为什么要控制不超过5行?具体问题要具体分析。
--  作者:发财
--  发布时间:2014/5/9 10:38:00
--  
因为每打印一张票据,都有一个凭证号,每张票据最多只可打印5行,如果超过5行,就会造成2张或更多票据同号,因而限制只显示5行,就不出现票据同号。
--  作者:Bin
--  发布时间:2014/5/9 10:39:00
--  
那其他数据怎么办? 这情况采用分页加载比较好. 
--  作者:发财
--  发布时间:2014/5/9 10:41:00
--  
有没有更好的办法。
--  作者:Bin
--  发布时间:2014/5/9 10:42:00
--  
这情况采用分页加载比较好. 
--  作者:发财
--  发布时间:2014/5/9 10:47:00
--  

Dim drs As List(Of DataRow)
Dim xj As WinForm.textBox = e.Form.Controls("姓名")
drs = DataTables("收购").Select("[姓名] = \'" & xj.Text & "\'and [凭证号] is null")
If xj.text = "" Or drs.count=0 Then
    MessageBox.Show("请重新输入查询条件!")
Else
    Dim Filter As String
    Filter =  "[姓名] = \'" & xj.Text & "\'and 凭证号 Is null And [重量] <> 0 And drs.count <= 5 and [日期] = #" & vars("adate") & "#"
    Tables("打印收购窗口_Table1").Filter = Filter
end if

用drs.count <= 5,为什么不行?