QR code in Ms Access Module without internet (1 Viewer)

Alhakeem1977

Registered User.
Local time
Tomorrow, 02:13
Joined
Jun 24, 2017
Messages
308
I have have got a Ms Access database which generates barcode 128 and Code_39 from a Module vba code.

I would like if it's possible to generates a (2D) QR code from an ofline without internet vba code through a report.

Thanks in advance

Sent from my HUAWEI NXT-L29 using Tapatalk
 

jdraw

Super Moderator
Staff member
Local time
Today, 19:13
Joined
Jan 23, 2006
Messages
15,364
???
I have have got a Ms Access database which generates barcode 128 and Code_39 from a Module vba code.

What does the module claim to do? What documentation do you have?

I have not seen a routine independent of the internet that claims to generate a QR code, but it isn't something I have researched nor attempted.

I did find this via Google.


I also found this plugin for Office, but could not find details. It mentions Word, PPT and Excel but does not mention Access???
 
Last edited:

Alhakeem1977

Registered User.
Local time
Tomorrow, 02:13
Joined
Jun 24, 2017
Messages
308
???


What does the module claim to do? What documentation do you have?

I have not seen a routine independent of the internet that claims to generate a QR code, but it isn't something I have researched nor attempted.

I did find this via Google.


I also found this plugin for Office, but could not find details. It mentions Word, PPT and Excel but does not mention Access???

For your kind info, the below Function generates barcode 39 without internet.

I would like to get the same function to generate a QR code without internet.

Your earliest response would be highly appreciated.

Code:
Option Compare Database
Option Explicit

' mod_BarCode_Generator_Code39
'
' Barcode Generator for Code 3 of 9, Code 39, and Mil-spec Logmars.
'
' version 2.0 (updated for MsAccess 97)
'
' (c) 1993-1999 James Isle Mercanti, Cocoa Beach, FL 32931  USA
' Permission granted for public use and royalty-free distribution.
' No mention of source or credits is required. All rights reserved.
'
' TO USE THIS CODE:
'
'   1 - Create Report with a TextBox control. (example named Barcode)
'       Make sure the Visible property is set to "No".
'   2 - Set On-Print property of section to [Event Procedure]
'       by clicking on the [...] and selecting "Code Builder"
'   3 - Confirm that the following code matches yours...
'
'      Sub Detail1_Print(Cancel As Integer, PrintCount As Integer)
'
'         Result = Barcode_39(Barcode, Me)
'
'      End Sub
'
'   4 - NOTE: The name of the section is "Detail1" for example only!
'       Your section might show a different name. Ditto for "Barcode".
'
'   5 - NOTE: To use on sub-forms, the Report name should be hard-coded
'       into the function. i.e. Rpt = Reports!MainForm!SubForm.Report.
'       The easy method is to just avoid using sub-forms and sub-reports.
'

Function Barcode_39(Ctrl As Control, rpt As Report)
    On Error GoTo ErrorTrap_BarCode39

    Dim Nbar As Single, Wbar As Single, Qbar As Single, Nextbar As Single
    Dim CountX As Single, CountY As Single, CountR As Single
    Dim Parts As Single, Pix As Single, Color As Long, BarCodePlus As Variant
    Dim Stripes As String, BarType As String, Barcode As String
    Dim Mx As Single, my As Single, Sx As Single, Sy As Single
    Const White = 16777215: Const Black = 0
    Const Nratio = 20, Wratio = 55, Qratio = 35

    'Get control size and location properties.
    Sx = Ctrl.Left: Sy = Ctrl.Top: Mx = Ctrl.Width: my = Ctrl.Height

    'Set handle on control.
    Barcode = Ctrl

    'Calculate actual and relative pixels values.
    Parts = (Len(Barcode) + 2) * ((6 * Nratio) + (3 * Wratio) + (1 * Qratio))
    Pix = (Mx / Parts):
    Nbar = (20 * Pix): Wbar = (55 * Pix): Qbar = (35 * Pix)

    'Initialize bar index and color.
    Nextbar = Sx
    Color = White

    'Pad each end of string with start/stop characters.
    BarCodePlus = "*" & UCase(Barcode) & "*"

    'Walk through each character of the barcode contents.
    For CountX = 1 To Len(BarCodePlus)
        'Get Barcode 1/0 string for indexed character.
        Stripes = MD_BC39(Mid$(BarCodePlus, CountX, 1))
        For CountY = 1 To 9
            'For each 1/0, draw a wide/narrow bar.
            BarType = Mid$(Stripes, CountY, 1)

            'Toggle the color (black/white).
            If Color = White Then Color = Black Else Color = White
            Select Case BarType
                Case "1"
                    'Draw a wide bar.
                    rpt.Line (Nextbar, Sy)-Step(Wbar, my), Color, BF
                    Nextbar = Nextbar + Wbar
                Case "0"
                    'Draw a narrow bar.
                    rpt.Line (Nextbar, Sy)-Step(Nbar, my), Color, BF
                    Nextbar = Nextbar + Nbar
            End Select
        Next CountY

        'Toggle the color (black/white).
        If Color = White Then Color = Black Else Color = White

        'Draw intermediate "quiet" bar.
        rpt.Line (Nextbar, Sy)-Step(Qbar, my), Color, BF
        Nextbar = Nextbar + Qbar
    Next CountX

Exit_BarCode39:
    Exit Function

ErrorTrap_BarCode39:
    Resume Exit_BarCode39
End Function

Function MD_BC39(CharCode As String) As String
    On Error GoTo ErrorTrap_BC39

    ReDim BC39(90)

    BC39(32) = "011000100" ' space
    BC39(36) = "010101000" ' $
    BC39(37) = "000101010" ' %
    BC39(42) = "010010100" ' * Start/Stop
    BC39(43) = "010001010" ' +
    BC39(45) = "010000101" ' |
    BC39(46) = "110000100" ' .
    BC39(47) = "010100010" ' /
    BC39(48) = "000110100" ' 0
    BC39(49) = "100100001" ' 1
    BC39(50) = "001100001" ' 2
    BC39(51) = "101100000" ' 3
    BC39(52) = "000110001" ' 4
    BC39(53) = "100110000" ' 5
    BC39(54) = "001110000" ' 6
    BC39(55) = "000100101" ' 7
    BC39(56) = "100100100" ' 8
    BC39(57) = "001100100" ' 9
    BC39(65) = "100001001" ' A
    BC39(66) = "001001001" ' B
    BC39(67) = "101001000" ' C
    BC39(68) = "000011001" ' D
    BC39(69) = "100011000" ' E
    BC39(70) = "001011000" ' F
    BC39(71) = "000001101" ' G
    BC39(72) = "100001100" ' H
    BC39(73) = "001001100" ' I
    BC39(74) = "000011100" ' J
    BC39(75) = "100000011" ' K
    BC39(76) = "001000011" ' L
    BC39(77) = "101000010" ' M
    BC39(78) = "000010011" ' N
    BC39(79) = "100010010" ' O
    BC39(80) = "001010010" ' P
    BC39(81) = "000000111" ' Q
    BC39(82) = "100000110" ' R
    BC39(83) = "001000110" ' S
    BC39(84) = "000010110" ' T
    BC39(85) = "110000001" ' U
    BC39(86) = "011000001" ' V
    BC39(87) = "111000000" ' W
    BC39(88) = "010010001" ' X
    BC39(89) = "110010000" ' Y
    BC39(90) = "011010000" ' Z

    MD_BC39 = BC39(Asc(CharCode))

Exit_BC39:
    Exit Function

ErrorTrap_BC39:
    MD_BC39 = ""

    Resume Exit_BC39
End Function
 

Uncle Gizmo

Nifty Access Guy
Staff member
Local time
Today, 23:13
Joined
Jul 9, 2003
Messages
16,245
There was a similar post on this forum, I reckon about 5 years ago. There wasn't anything in access, however I did find an Excel application that would create a QR code with VBA.

however don't get too excited because the VBA code built the QR code in spreadsheet by filling in cells, I reckon converting it to access would be a nightmare!

Sent from my SM-G925F using Tapatalk
 

Alhakeem1977

Registered User.
Local time
Tomorrow, 02:13
Joined
Jun 24, 2017
Messages
308
There was a similar post on this forum, I reckon about 5 years ago. There wasn't anything in access, however I did find an Excel application that would create a QR code with VBA.

however don't get too excited because the VBA code built the QR code in spreadsheet by filling in cells, I reckon converting it to access would be a nightmare!

Sent from my SM-G925F using Tapatalk
I've tried it, it's a bit difficult for me to use it, because I will use it for multi users environment it's not easy as the module which I provided above to generate the code_39.




Sent from my HUAWEI NXT-L29 using Tapatalk
 

Alhakeem1977

Registered User.
Local time
Tomorrow, 02:13
Joined
Jun 24, 2017
Messages
308
Found it!

https://access-programmers.co.uk/forums/showthread.php?t=283381

I see there are now plenty of other links and suggestions, so I hope you have some luck!

I have tried to follow the steps but a couldn't be able to have it in Ms Access because of my limited knowledge. If you could provide it as a sample in Access if you have enough time.

I am so sorry to request this from you or anybody can help.

Your earliest response would be highly appreciated.:)
 

Alhakeem1977

Registered User.
Local time
Tomorrow, 02:13
Joined
Jun 24, 2017
Messages
308
June7 has already provided an example.


Sent from my SM-G925F using Tapatalk
But I have tried that it's an Access connected with Excel application.

I mean the QR code module within an Access 2013 application because when I past the code in Access Module I've got many errors and I couldn't help it.

Again as I said if you've got time.

Thanks in advance

Sent from my HUAWEI NXT-L29 using Tapatalk
 

isladogs

MVP / VIP
Local time
Today, 23:13
Joined
Jan 14, 2017
Messages
18,186
Alakheem
The example that June posted definitely works.
It was the result of several hours work by herself and another forum member arnelgp and both based their application on the Excel file which does all the highly complex stuff in the background. If you haven't yet looked at the original Excel file, I suggest you do so. Its horribly complicated

To replicate that Excel functionality in Access would probably take someone tens of hours...possibly hundreds. As there is a working alternative its highly unlikely that anyone is going to take on the job... Unless they want a real challenge.

So with respect, I suggest you check the errors in how you have applied the QR code to your own application. It should take you significantly less time to fix what you have now.

Good luck
 

isladogs

MVP / VIP
Local time
Today, 23:13
Joined
Jan 14, 2017
Messages
18,186
A snip at $299 for a single licence or $1790 for a developer licence.
 

Alhakeem1977

Registered User.
Local time
Tomorrow, 02:13
Joined
Jun 24, 2017
Messages
308
Alakheem

The example that June posted definitely works.

It was the result of several hours work by herself and another forum member arnelgp and both based their application on the Excel file which does all the highly complex stuff in the background. If you haven't yet looked at the original Excel file, I suggest you do so. Its horribly complicated



To replicate that Excel functionality in Access would probably take someone tens of hours...possibly hundreds. As there is a working alternative its highly unlikely that anyone is going to take on the job... Unless they want a real challenge.



So with respect, I suggest you check the errors in how you have applied the QR code to your own application. It should take you significantly less time to fix what you have now.



Good luck
Sure I will try it.

Thank you very much.

Sent from my HUAWEI NXT-L29 using Tapatalk
 

Users who are viewing this thread

Top Bottom