Foxtable(狐表)用户栏目专家坐堂 → 若是"打印_记账"或"打印_现金"列选择了多行,应该怎么改代码?


  共有2759人关注过本帖树形打印复制链接

主题:若是"打印_记账"或"打印_现金"列选择了多行,应该怎么改代码?

帅哥哟,离线,有人找我吗?
fengwenliuyan
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:901 积分:8247 威望:0 精华:0 注册:2012/10/19 13:55:00
回复:(有点甜)打印按钮,标记一下是否已经点击打印...  发帖心情 Post By:2019/5/4 10:36:00 [只看该作者]

如何同时标记3个打印窗口中的打印按钮,打印var?是在打印窗口中的打印按钮的click事件写上vars("打印预览") = True吗?
但是,测试的结果是,选中的打印行,只有首行才能打印,若选了第二行以下,则打印窗口都不会显示了,您要是已经试验成功,请发个项目结果上来看看,谢谢?

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:05040001.zip



 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/4 11:53:00 [只看该作者]

For Each r As Row In Tables("仓管表窗口_出库明细表").rows
    Dim r1 As Row = r
    If r1 Is Nothing Then Return
    Dim i As Integer = 0
    If r1("打印_意和") = True Then
        i += 1
    End If
    If r1("打印_统正") = True Then
        i += 1
    End If
    If r1("打印_现金") = True Then
        i += 1
    End If
   
    If i = 1 Then
        msgbox(r.index)
        vars("打印预览") = False
        If r("打印_意和") = True Then
            r("出库日期") = Nothing
            r("出库编号") = Nothing
            Forms("意和打印窗口").open
        ElseIf r("打印_统正") = True Then
            r("出库日期") = Nothing
            r("出库编号") = Nothing
            Forms("统正打印窗口").open
        ElseIf r("打印_现金") = True Then
            r("出库日期") = Nothing
            r("出库编号") = Nothing
            Forms("现金打印窗口").open
        End If
        If vars("打印预览") = False Then
            Exit For
        End If
    End If
Next

 回到顶部
帅哥哟,离线,有人找我吗?
fengwenliuyan
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:901 积分:8247 威望:0 精华:0 注册:2012/10/19 13:55:00
回复:(有点甜)For Each r As Row In Tables("仓管表...  发帖心情 Post By:2019/5/4 16:26:00 [只看该作者]

看来这条思路走不通了,测试了,结果是,打印所选行的最上面一行的“出库日期”和“出库编号”会被清空,即使不点击打印窗口中的打印按钮,也会清空首行
所以,还是从新理了下思路,原先的打印窗口代码:
Dim r1 As Row = Tables("仓管表窗口_出库明细表").Current
If r1 Is Nothing Then Return
Dim i As Integer = 0
If r1("打印_意和") = True Then
    i += 1
End If
If r1("打印_统正") = True Then
    i += 1
End If
If r1("打印_现金") = True Then
    i += 1
End If
If i> 1 Then Return

Dim r As Row = Tables("仓管表窗口_出库明细表").Current
If r Is Nothing Then Return
If r("打印_意和") = True Then
    Forms("意和打印窗口").open
ElseIf r("打印_统正") = True Then
    Forms("统正打印窗口").open
ElseIf r("打印_现金") = True Then
    Forms("现金打印窗口").open
End If

这代码的测试结果是,若打印所选行的最上面一行的“出库日期”和“出库编号”不为空,则打印的编号都会被重置为当天的第一笔编号,如:yh190504001,
求,怎样做到,即使打印所选行的最上面一行的“出库日期”和“出库编号”不为空,也可以继续编号下去,而不是重置?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/4 16:29:00 [只看该作者]

 

[此贴子已经被作者于2019/5/4 16:30:01编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/4 16:34:00 [只看该作者]

 

不理解你的意思。你的编号请自己根据你的逻辑去生成。

 

 

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
fengwenliuyan
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:901 积分:8247 威望:0 精华:0 注册:2012/10/19 13:55:00
回复:(有点甜) 不理解你的意思。你的编号请...  发帖心情 Post By:2019/5/4 16:39:00 [只看该作者]

打印所选行的最上面一行的“出库日期”和“出库编号”不为空,则打印的编号都会被重置为当天的第一笔编号,如:yh190504001,
求,怎样做到,即使打印所选行的最上面一行的“出库日期”和“出库编号”不为空,也可以继续编号下去,而不是重置?
是以下这段打印按钮的代码编辑有误吗?
Dim d1 As Date = e.Form.Controls("出库日期").Text
Dim fdr1 As DataRow = DataTables("意和打印记录表").Find("日期 >= #" & d1.Date & "# and 日期 < #" & d1.Date.adddays(1) & "#")
fdr1("次数") += 1

For Each r As Row In Tables("意和打印窗口_出库明细表")
    r("出库编号") = e.Form.Controls("出库编号").Text
    r("出库日期") = e.Form.Controls("出库日期").value
    r("开piao人") = e.Form.Controls("开piao人").Text
    r("送货司机") = e.Form.Controls("送货司机").Text
Next

'针式打印机的连进连出打印:
e.Form.Page.LeftMargin = 0 '设置左边距
e.Form.Page.RightMargin = 0 '设置右边距
e.Form.Page.TopMargin = 0 '设置上边距
e.Form.Page.BottomMargin = 0 '设置下边距
Dim doc As PrintDoc = e.Form.GernatePrintDoc()
doc.PageSetting.Width = 218  '纸张宽度为218毫米
doc.PageSetting.Height = 94  '纸张高度为94毫米
doc.AutoRotate = False  '如果纸张的宽度超过高度,要加上这行代码
'添加打印内容
doc.Preview()

Dim fnt As New Font("黑体",9,FontStyle.Bold)
CurrentTable.Font = fnt

For Each dr1 As DataRow In DataTables("出库明细表").Select("[打印_意和] = true")
    If dr1 Is Nothing Then Return
    If dr1("出库已选_部分") = True Then
        dr1("打印_意和") = False
        dr1("状态_半开") = True
        dr1("出库已选_部分") = False
    ElseIf dr1("出库已选_全部") = True Then
        dr1("打印_意和") = False
        dr1("状态_全开") = True
        dr1("状态_半开") = False
        dr1("出库已选_全部") = False
    End If
Next

Forms("意和打印窗口").Close()

Dim fnt1 As New Font("宋体",9,FontStyle.Regular)
CurrentTable.Font = fnt1

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/4 16:42:00 [只看该作者]

编码参考啊

 

http://www.foxtable.com/webhelp/scr/2403.htm

 

根据自己的逻辑编码啊


 回到顶部
帅哥哟,离线,有人找我吗?
fengwenliuyan
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:901 积分:8247 威望:0 精华:0 注册:2012/10/19 13:55:00
回复:(有点甜)编码参考啊 http://www.fox...  发帖心情 Post By:2019/5/4 16:48:00 [只看该作者]


以下代码,就是自动编号了,写在了打印窗口的afterload事件中,打印所选行的最上面一行的“出库日期”和“出库编号”不为空,则打印的编号都会被重置为当天的第一笔编号,如:yh190504001,
求,怎样做到,即使打印所选行的最上面一行的“出库日期”和“出库编号”不为空,也可以继续编号下去,而不是重置?:

Dim d As Date
If Tables("意和打印窗口_出库明细表").Rows.Count <> 0 AndAlso  Date.TryParse(Tables("意和打印窗口_出库明细表").Current("出库日期"), d) Then
    Dim bh As String = "YH" & Format(d, "yyMMdd")
    Dim max As String
    Dim idx As Integer
    Dim fdr As DataRow = DataTables("意和打印记录表").Find("日期 = #" & d & "#")
    If fdr Is Nothing Then
        fdr = DataTables("意和打印记录表").AddNew
        fdr("日期") = d
        fdr("次数") = 0
    End If
    e.Form.Controls("出库编号").Text = bh & Format(fdr("次数") + 1, "000")
End If

Tables("意和打印窗口_出库明细表").SetHeaderRowHeight(22,22)

Dim t As Table = Tables("意和打印窗口_出库明细表")
t.AutoSizeRows
t.AllowResizeSingleRow = True

e.Form.controls("出库日期").text = Date.Now
e.Form.controls("开piao人").text = user.name

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/4 17:27:00 [只看该作者]

 

不理解你说的意思,请自己先理清上面代码是什么意思,然后自己改成自己所需要的。

 

加入msgbox弹出各行代码的值看一下,是否符合自己的逻辑。


 回到顶部
帅哥哟,离线,有人找我吗?
fengwenliuyan
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:901 积分:8247 威望:0 精华:0 注册:2012/10/19 13:55:00
回复:(有点甜) 不理解你说的意思,请自己先...  发帖心情 Post By:2019/5/4 17:38:00 [只看该作者]

只是想知道,哪里的设置导致了,打印所选行的“出库日期”和“出库编号”不为空的时候,打印的编号会被重置为当天的第一笔编号,如:yh190504001。
翻来覆去找遍了,都没找到那句代码是这个设置的?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:05040004.zip



 回到顶部
总数 21 上一页 1 2 3 下一页