Ms access 在MS Access报告/表格中创建2D(数据矩阵或QR代码)
我们正在实施代码,以读取/创建开始显示在供应商零件上的二维条形码 我们需要在MS Access报告和表单中创建二维条形码。有人成功地使用了字体(IDAutomation)或Active X(dlSoft)解决方案吗 对于C#,建议使用开源库“”。有没有关于这有多成功的想法,或者是否有人有其他开源和/或付费选择 谢谢Ms access 在MS Access报告/表格中创建2D(数据矩阵或QR代码),ms-access,qr-code,Ms Access,Qr Code,我们正在实施代码,以读取/创建开始显示在供应商零件上的二维条形码 我们需要在MS Access报告和表单中创建二维条形码。有人成功地使用了字体(IDAutomation)或Active X(dlSoft)解决方案吗 对于C#,建议使用开源库“”。有没有关于这有多成功的想法,或者是否有人有其他开源和/或付费选择 谢谢 Anton根据需要生成的代码量,您可以使用Google Charts API生成二维码 只需将“Microsoft Web浏览器”ActiveX组件和以下代码添加到表单中: Dim
Anton根据需要生成的代码量,您可以使用Google Charts API生成二维码 只需将“Microsoft Web浏览器”ActiveX组件和以下代码添加到表单中:
Dim Size As Integer
Dim Text As String
Dim URL As String
Size = 200
Text = "This is my test"
' Better to actually use a URL encoding function like those described here:
' http://stackoverflow.com/questions/218181/how-can-i-url-encode-a-string-in-excel-vba
Text = Replace(Text, " ", "%20")
URL = "http://chart.apis.google.com/chart?chs=" & Size & "x" & Size & "&cht=qr&chld=H|0&chl=" & Text
WebBrowser.Navigate (URL)
当然,您可以根据需要更改大小和文本。文本也可以是直接来自表单的值,因此也可以是数据
我建议您在使用之前检查Google的条款和服务。我完全没有使用web浏览器控件和Google API,因为我可以告诉您,该功能现在已经不推荐使用了。我使用了不同的免费API,但可以使用Google API或任何其他API 在我的示例中,我在与应用程序相同的目录中创建一个.png图像。我的表单上有一个名为txtToCode的文本框,我可以在其中键入任何要编码的文本。我还有一个图像控件,这样可以从表单中查看图像,但您可以按照自己的意愿对其进行修改:
Private Sub btnCode2_Click()
Call GetQRCode(Me.txtToCode, 150, 150)
End Sub
Sub GetQRCode(Content As String, Width As Integer, Height As Integer)
Dim ByteData() As Byte
Dim XmlHttp As Object
Dim HttpReq As String
Dim ReturnContent As String
Dim EncContent As String
Dim QRImage As String
EncContent = EncodeURL(Content)
HttpReq = "https://api.qrserver.com/v1/create-qr-code/?data=" & EncContent & "&size=" & Width & "x" & Height & ""
Set XmlHttp = CreateObject("MSXML2.XmlHttp")
XmlHttp.Open "GET", HttpReq, False
XmlHttp.Send
ByteData = XmlHttp.responseBody
Set XmlHttp = Nothing
ReturnContent = StrConv(ByteData, vbUnicode)
Call ExportImage(ReturnContent)
End Sub
Private Sub ExportImage(image As String)
Dim FilePath As String
On Error GoTo NoSave
' Build Export Path
FilePath = Application.CurrentProject.Path & "\qr.png"
Open FilePath For Binary As #1
Put #1, 1, image
Close #1
Me.Image3.Picture = FilePath
' Save File Path
Exit Sub
NoSave:
MsgBox "Could not save the QR Code Image! Reason: " & Err.Description, vbCritical, "File Save Error"
End Sub
Private Function EncodeURL(str As String)
Dim ScriptEngine As Object
Dim encoded As String
Dim Temp As String
Temp = Replace(str, " ", "%20")
Temp = Replace(Temp, "#", "%23")
EncodeURL = Temp
End Function
您好,您能帮助生成多行
二维码吗。表示一行,然后是第一行下的新行。@Harun24HR我们使用了一个带有打印标签的图像控件的报告,做了类似的事情。我基于上述代码构建了一个函数,并在报告的recordsource中使用它为每个行项目生成二维码。