以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 【二进制文件】将生成的二维码图片写入二进制列,不知道为何,多个图片居然只有第一个文件写入了所有的行? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=109061) |
||||
-- 作者:李孝春 -- 发布时间:2017/11/3 14:35:00 -- 【二进制文件】将生成的二维码图片写入二进制列,不知道为何,多个图片居然只有第一个文件写入了所有的行? 【二进制文件】将生成的二维码图片写入二进制列,不知道为何,多个图片居然只有第一个文件写入了所有的行? 假设有三行数据 结果三行数据的图片都只有第一个二维码图片写入了
此主题相关图片如下:1.png 代码如下求解: If Tables("卷宗入库").Current IsNot Nothing Then Tables("入库明细").Filter = "卷宗编号 = \'" & Tables("卷宗入库").Current("卷宗编号") & "\'" Dim doc As New PrintDoc Dim rg As prt.RenderGraphics Dim Bar As New BarCodeBuilder Dim dr As Row=Tables("打印机").Current doc.PageSetting.Width = val(dr("设置宽度")) doc.PageSetting.Height = val(dr("设置高度") ) doc.PageSetting.LeftMargin=val(dr("左边距") ) doc.PageSetting.RightMargin=val(dr("右边距") ) doc.PageSetting.TopMargin=val(dr("上边距") ) doc.PageSetting.BottomMargin=val(dr("下边距") ) Doc.PrinterName = dr("打印机名称") doc.AutoRotate = dr("是否旋转") doc.PageSetting.Landscape=dr("是否横向") Bar.Symbology = Barpro.Symbology.QRCode Doc.Stacking = prt.StackingRulesEnum.InlineLeftToRight For Each r As Row In Tables("入库明细").Rows bar.Text=r("分册编号") & "册" bar.Code = r("加密字符") rg = new prt.RenderGraphics bar.DrawOnCanvas(rg.Graphics,0,0, val(dr("缩放比例") )) rg.Style.Spacing.All = 1 Doc.Body.Children.Add(rg) bar.SaveImage(ProjectPath & "Reports\\" & r("卷宗编号") & r("分册编号") & "二维码.jpg") \'保存二维码图片到指定位置 r.DataRow.SQLInsertFile("图片",ProjectPath & "Reports\\" & r("卷宗编号") & r("分册编号") & "二维码.jpg") \'将当前生成的二维码图片往入库明细表中的图片列写入二进制文件 If r("图片") IsNot Nothing Then \'如果图片列不为空 If FileSys.FileExists(ProjectPath & "Reports\\" & r("卷宗编号") & r("分册编号") & "二维码.jpg") Then \'如果指定的文件存在 FileSys.DeleteFile(ProjectPath & "Reports\\" & r("卷宗编号") & r("分册编号") & "二维码.jpg",2,2) \'则彻底删除之 End If End If Next Doc.Preview() End If
[此贴子已经被作者于2017/11/3 15:10:11编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2017/11/3 18:16:00 -- 测试了一下,没问题。你加入msgbox,看弹出了多少次msgbox。弹出多少次就执行插入了多少张图片。 |