กระทู้เก่าบอร์ด อ.Yeadram
5,038 9
URL.หัวข้อ /
URL
มี CODE VBA สำหรับทำ QR CODE ใน Access
ผมมี CODE VBA สำหรับทำ QR CODE ใน Access
แต่ไม่สามารถ RUN ได้ รบกวนช่วยดูให้ด้วยครับ
หากสามารถทำให้มันสามารถ RUN แจกจ่ายให้เพื่อนๆฟรีๆเลยครับ
ผมมีไฟล์สำหรับสร้าง QR Code / Code128 / DATA Matrix / Aztec
ที่ RUx บน EXCEL ด้วยครับ ท่านใดสนใจ ทักได้ครับ
ID Line : kamsuk
ไฟล์ครับ
แต่ไม่สามารถ RUN ได้ รบกวนช่วยดูให้ด้วยครับ
หากสามารถทำให้มันสามารถ RUN แจกจ่ายให้เพื่อนๆฟรีๆเลยครับ
ผมมีไฟล์สำหรับสร้าง QR Code / Code128 / DATA Matrix / Aztec
ที่ RUx บน EXCEL ด้วยครับ ท่านใดสนใจ ทักได้ครับ
ID Line : kamsuk
ไฟล์ครับ
9 Reply in this Topic. Dispaly 1 pages and you are on page number 1
1 @R23752
ถ้าไม่เป็นการรบกวน ขอแบบบันทึกเป็น .mdb ด้วยได้ไหมครับ
2 @R23753
ต้นฉบับเป็นแบบนี้เลยนะครับ น่าจะเป็นคนญี่ปุ่นครับ เขาทำไว้
บังเอิญที่ผมไปเจอเข้า
ผมไม่แน่ใจว่า จะแปลงได้หรือเปล่านะครับ
บังเอิญที่ผมไปเจอเข้า
ผมไม่แน่ใจว่า จะแปลงได้หรือเปล่านะครับ
3 @R23791
https://www.dropbox.com/sh/ig2emrh118hr92m/AABXxZIM4U3uNH8ms4dkm1y8a/thaiaccessboard/QRCodeMod.accdb?dl=0
Report BarCode ดูเหมือนมีปัญหาอะไรบางอย่างแฝงในตัวมันเอง ทำให้เกิด error ว่า ActiveX มีปัญาหา ทั้งๆที่ผมก็หาไม่เจอ ActiveX อะไรเลย เลยลบออกแล้วทำตัวใหม่ชื่อ PrintQRCode แล้วแก้ไข procedure drawQuickResponse ในโมดูล ModulQRCode จากเดิมที่มันจะพิมพ์ QRCode บนเท็กซ์บ็อกซ์ของตัวข้อมูลเองเลย ก็ให้เรากำหนดได้ว่า ข้อมูลอยู่เท็กซ์บ็อกซ์ไหน และ QRCode ให้พิมพ์ลงในเท็กซ์บ็อกซ์ไหน บรรทัดต่างๆที่ผมแก้ไขจะมี comment เอาไว้ด้วยคำว่า "sun"
procedure นี้จะถูกเรียกจาก Format event ของ Detail section ครับ ส่วน QRCode ที่แสดงออกมา ลองใช้มือถือสแกนก็สแกนได้ครับ ภาษาญี่ปุ่นก็แสดงออกมาได้ ภาษาไทยก็แสดงได้ แต่พอสแกนแล้ว แอปที่สแกนไม่รู้จักตัวอักษรไทย ก็เลยไม่รู้ว่าจริงๆ QRCode ไม่มีใช้กับภาษาไทยด้วยหรือเปล่า การดู ต้องดูใน PrintPreview นะครับ ใน view อื่นจะไม่เห็นตัว QrCode และอีกอย่างคือโค้ดนี้จะถูกต้อง 100% หรือเปล่า อันนี้ไม่ทราบครับ ไม่มีความรู้ด้านนี้
Report BarCode ดูเหมือนมีปัญหาอะไรบางอย่างแฝงในตัวมันเอง ทำให้เกิด error ว่า ActiveX มีปัญาหา ทั้งๆที่ผมก็หาไม่เจอ ActiveX อะไรเลย เลยลบออกแล้วทำตัวใหม่ชื่อ PrintQRCode แล้วแก้ไข procedure drawQuickResponse ในโมดูล ModulQRCode จากเดิมที่มันจะพิมพ์ QRCode บนเท็กซ์บ็อกซ์ของตัวข้อมูลเองเลย ก็ให้เรากำหนดได้ว่า ข้อมูลอยู่เท็กซ์บ็อกซ์ไหน และ QRCode ให้พิมพ์ลงในเท็กซ์บ็อกซ์ไหน บรรทัดต่างๆที่ผมแก้ไขจะมี comment เอาไว้ด้วยคำว่า "sun"
procedure นี้จะถูกเรียกจาก Format event ของ Detail section ครับ ส่วน QRCode ที่แสดงออกมา ลองใช้มือถือสแกนก็สแกนได้ครับ ภาษาญี่ปุ่นก็แสดงออกมาได้ ภาษาไทยก็แสดงได้ แต่พอสแกนแล้ว แอปที่สแกนไม่รู้จักตัวอักษรไทย ก็เลยไม่รู้ว่าจริงๆ QRCode ไม่มีใช้กับภาษาไทยด้วยหรือเปล่า การดู ต้องดูใน PrintPreview นะครับ ใน view อื่นจะไม่เห็นตัว QrCode และอีกอย่างคือโค้ดนี้จะถูกต้อง 100% หรือเปล่า อันนี้ไม่ทราบครับ ไม่มีความรู้ด้านนี้
4 @R23810
ลองเอามาเปิด แต่ไม่ขึ้นรูปอะไรเลยครับ
5 @R23811
เปิดใน PrintPreview หรือยัง
6 @R23815
เปิดได้แล้วครับ ใน PrintPreview
ขอบคุณครับ
ขอบคุณครับ
7 @R23816
ช่วยทดสอบ QRCode ภาษาไทยด้วยครับว่าใช้ได้หรือไม่ ผมอยากรู้
8 @R23821
ดีเลยครับ เพิ่งเคยเห็นมีคนทำแบบนี้เหมือนกัน สะดวกดีครับไม่ต้องใช้ฟอนต์เพิ่มด้วย ถึงจะมีข้อจำกัดคือแสดงได้แค่การพิมพ์เท่านั้น ไม่สามารถแสดงบนฟอร์มได้ ก็เจ๋งแล้วครับ
@อ.สันติสุข
ไม่รองรับภาษาไทยครับ อาจต้องแก้ฟังก์ชั่น UTF-8 ให้ตรงกับภาษาไทยป่าวไม่แน่ใจ ใครมีความรู้แก้ได้ก็น่าจะสมบูรณ์ แต่จริงๆ QR-Code ที่เขาใช้กันก็ไม่เห็นใครจะใช้ภาษาไทยเลย
Public Function utf16to8(ByVal Text As String) As String
Dim i As Integer, c As Long
utf16to8 = Text
For i = Len(Text) To 1 Step -1
c = AscW(Mid(Text, i, 1)) And 65535
If c > 127 Then
If c > 4095 Then
utf16to8 = Left(utf16to8, i - 1) + Chr(224 + c \ 4096) + Chr(128 + (c \ 64 And 63)) + Chr(128 + (c And 63)) & Mid(utf16to8, i + 1)
Else
utf16to8 = Left(utf16to8, i - 1) + Chr(192 + c \ 64) + Chr(128 + (c And 63)) & Mid(utf16to8, i + 1)
End If
End If
Next i
End Function
อีกเรื่องคือโค๊คในไฟล์ที่คุณ kamsuk ให้มาใช้ได้หมดนะครับ ให้ไปสร้างไฟล์ใหม่เลยแล้วดึงโค้ดมาใช้ก็ใช้ได้ครับ เข้าใจว่าไฟล์เดิมอาจมีคอนโทรลเสริมซ่อนอยู่แต่ไม่เกี่ยวกับการใช้งาน ผู้เขียนอาจลืมใส่ไว้
@อ.สันติสุข
ไม่รองรับภาษาไทยครับ อาจต้องแก้ฟังก์ชั่น UTF-8 ให้ตรงกับภาษาไทยป่าวไม่แน่ใจ ใครมีความรู้แก้ได้ก็น่าจะสมบูรณ์ แต่จริงๆ QR-Code ที่เขาใช้กันก็ไม่เห็นใครจะใช้ภาษาไทยเลย
Public Function utf16to8(ByVal Text As String) As String
Dim i As Integer, c As Long
utf16to8 = Text
For i = Len(Text) To 1 Step -1
c = AscW(Mid(Text, i, 1)) And 65535
If c > 127 Then
If c > 4095 Then
utf16to8 = Left(utf16to8, i - 1) + Chr(224 + c \ 4096) + Chr(128 + (c \ 64 And 63)) + Chr(128 + (c And 63)) & Mid(utf16to8, i + 1)
Else
utf16to8 = Left(utf16to8, i - 1) + Chr(192 + c \ 64) + Chr(128 + (c And 63)) & Mid(utf16to8, i + 1)
End If
End If
Next i
End Function
อีกเรื่องคือโค๊คในไฟล์ที่คุณ kamsuk ให้มาใช้ได้หมดนะครับ ให้ไปสร้างไฟล์ใหม่เลยแล้วดึงโค้ดมาใช้ก็ใช้ได้ครับ เข้าใจว่าไฟล์เดิมอาจมีคอนโทรลเสริมซ่อนอยู่แต่ไม่เกี่ยวกับการใช้งาน ผู้เขียนอาจลืมใส่ไว้
9 @R23848
ขออนุญาตมาเก็บความรู้ครับ มีพี่ที่ทำงานด้วยกัน เข้าใช้ Foxpro เขียน QR CODE ใช้ ผมมี Code เราจะเอามาดัดแปลงใช้กับ Access อย่างไรดีครับ
**Creating QR Codes with VFP via Google Chart Tools
**Google Chart Tools has a lot of useful service.
** Now we are creating QR Code with VFP codes with this tool
*!* Author : Luis Maria Guayan
PUBLIC lcImagen,nRetVal
** Este seria el contenido de informacion del QR
lcDato =[1020101-26]
** Ancho x Alto
lcDimensiones = '100x100'
** Donde quieren guardar la imagen, ojo, es PNG
lcImagen = PUTFILE('QRCode','QrCodeSav','png')
*lcImagen = 'E:\Foxs\Erptool9\barCode\'+lcDato
IF EMPTY(lcImagen)
RETURN
ENDIF
IF GoogleQR(lcDato,lcDimensiones,lcImagen) == 0
MESSAGEBOX('Qr code exits',0+64,'GoogleQR')
ELSE
MESSAGEBOX('Error en la generacion del Codigo QR',0+16,'GoogleQR')
ENDIF
FUNCTION GoogleQR(pDato,pDimensiones,pImagen)
WAIT WINDOW "Generando y descargando Co'digo QR, espere por favor..." NOWAIT
DECLARE LONG URLDownloadToFile IN "urlmon";
LONG pCaller,;
STRING szURL,;
STRING szFileName,;
LONG dwReserved,;
LONG lpfnCB
sURL ="https://chart.googleapis.com/chart?cht=qr&chs=" + pDimensiones + "&chld=Q&chl=" + STRTRAN(pDato,'&','%26')
nRetVal = URLDownloadToFile (0, sURL, pImagen, 0, 0)
WAIT CLEAR
RETURN nRetVal
ENDFUNC
* LONG pCaller,;
* STRING szURL,;
* STRING szFileName,;
* LONG dwReserved,;
* LONG lpfnCB
**Creating QR Codes with VFP via Google Chart Tools
**Google Chart Tools has a lot of useful service.
** Now we are creating QR Code with VFP codes with this tool
*!* Author : Luis Maria Guayan
PUBLIC lcImagen,nRetVal
** Este seria el contenido de informacion del QR
lcDato =[1020101-26]
** Ancho x Alto
lcDimensiones = '100x100'
** Donde quieren guardar la imagen, ojo, es PNG
lcImagen = PUTFILE('QRCode','QrCodeSav','png')
*lcImagen = 'E:\Foxs\Erptool9\barCode\'+lcDato
IF EMPTY(lcImagen)
RETURN
ENDIF
IF GoogleQR(lcDato,lcDimensiones,lcImagen) == 0
MESSAGEBOX('Qr code exits',0+64,'GoogleQR')
ELSE
MESSAGEBOX('Error en la generacion del Codigo QR',0+16,'GoogleQR')
ENDIF
FUNCTION GoogleQR(pDato,pDimensiones,pImagen)
WAIT WINDOW "Generando y descargando Co'digo QR, espere por favor..." NOWAIT
DECLARE LONG URLDownloadToFile IN "urlmon";
LONG pCaller,;
STRING szURL,;
STRING szFileName,;
LONG dwReserved,;
LONG lpfnCB
sURL ="https://chart.googleapis.com/chart?cht=qr&chs=" + pDimensiones + "&chld=Q&chl=" + STRTRAN(pDato,'&','%26')
nRetVal = URLDownloadToFile (0, sURL, pImagen, 0, 0)
WAIT CLEAR
RETURN nRetVal
ENDFUNC
* LONG pCaller,;
* STRING szURL,;
* STRING szFileName,;
* LONG dwReserved,;
* LONG lpfnCB
Time: 0.4128s