以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请问这种报表该如何生成? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=69365) |
-- 作者:youkacard -- 发布时间:2015/6/3 19:44:00 -- 请问这种报表该如何生成? 举个简单的例子: 我做了一个循环生成的流水号,比方说从NO.00001-NO.01000;这时我需要200个号码就是一个号段,比方说第一个号段是NO.00001-NO.00200,第二个号段是NO.00201-NO.00400...以此类推;我需要这些号段做一个标签,标签图如下: 请问该怎么做呢。 请版主提供个思路给我,我自己做。
|
-- 作者:monvzhilei -- 发布时间:2015/6/3 19:49:00 -- 我感觉就是使用excel报表功能。 |
-- 作者:大红袍 -- 发布时间:2015/6/3 19:59:00 -- 用专业报表吧。
Dim doc As New PrintDoc \'定义一个报表 For i As Integer = 1 To 10
http://www.foxtable.com/help/topics/1199.htm
|
-- 作者:youkacard -- 发布时间:2015/6/3 20:05:00 -- 谢谢 |
-- 作者:youkacard -- 发布时间:2015/6/4 16:29:00 -- 您好,大红袍版主,经过实际应用时候,发现有个问题,就是循环里我如果要跳过某个指定条件的数字,号段并不会跳过,请问如果解决呢?示例如下: For i As Integer = 1 To 10 Dim b As Boolean = True If CStr(i).EndsWith("4") Or Format(i,"000").EndsWith("4") Then \'个位数含4的都跳过 b = False End If If b Then If i <= 5 Then \'总共5盒 MessageBox.Show((i - 1) * 2 + 1 & "-" & i * 2) End If End If Next 这里面,号段不会跳过4 |
-- 作者:大红袍 -- 发布时间:2015/6/4 16:33:00 -- For i As Integer = 1 To 10 Dim d1 As Integer = (i - 1) * 2 + 1 Dim d2 As Integer = i * 2 If not (Cstr(d1).Contains("4") OrElse Cstr(d2).Contains("4")) Then If i <= 5 Then \'总共5盒 MessageBox.Show(d1 & "-" & d2) End If End If Next |
-- 作者:youkacard -- 发布时间:2015/6/8 9:30:00 -- 以下是引用大红袍在2015/6/4 16:33:00的发言: For i As Integer = 1 To 10 Dim d1 As Integer = (i - 1) * 2 + 1 Dim d2 As Integer = i * 2 If not (Cstr(d1).Contains("4") OrElse Cstr(d2).Contains("4")) Then If i <= 5 Then \'总共5盒 MessageBox.Show(d1 & "-" & d2) End If End If Next 这样生成出来好像不对,我自己按照这个思路用EndWish也不行,按照循环 1 - 10,每2个就是一个号段,跳过4之后的号段应该是 1-2;3-5;6-7;8-9;10-11;可是这段代码输出的是1-2;5-6;7-8;9-10; |
-- 作者:youkacard -- 发布时间:2015/6/8 9:47:00 -- 顶起来,让大神们看到 |
-- 作者:Bin -- 发布时间:2015/6/8 9:57:00 -- Dim d3 As Integer For i As Integer = 1 To 10 Dim d1 As Integer = (i - 1) * 2 + 1+d3 Dim d2 As Integer = i * 2+d3 If i <= 5 Then \'总共5盒 If not (Cstr(d1).Contains("4") OrElse Cstr(d2).Contains("4")) Then MessageBox.Show(d1 & "-" & d2) Else If Cstr(d2).Contains("4") Then d3=1 MessageBox.Show(d1 & "-" & (d2+1)) End If End If Next
|
-- 作者:大红袍 -- 发布时间:2015/6/8 10:00:00 -- Dim d1 As Integer Dim d2 As Integer = 0 Dim count = 10 Dim i = 1 Do While i <= count If cstr(i).Contains("4") = False Then d2 += 1 If d2 = 1 Then d1 = i ElseIf d2 = 2 Then output.show(d1 & " " & i) d2 = 0 End If Else count += 1 End If i += 1 Loop |