【二进制文件】将生成的二维码图片写入二进制列,不知道为何,多个图片居然只有第一个文件写入了所有的行?
假设有三行数据
结果三行数据的图片都只有第一个二维码图片写入了
此主题相关图片如下: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编辑过]