Results 1 to 3 of 3
  1. #1
    manic is offline Advanced Beginner
    Windows 7 64bit Access 2010 64bit
    Join Date
    Jan 2012
    Posts
    63

    Code help

    Hello all, I was trying to find a code to generate bar codes 39 on MS access and i came across a very nice code and it works great, but the problem that I have is that I can't figure out how to make this code to apply to the 6 text boxes on my report, it currently handles one text box called "Barcode" but i have barcode2,3,4,5 and 6 that i would this code to be applied to here is the code to see if someone can guide me on the correct path. also there is a sample file.


    Option Compare Database 'Use database order for string comparisons 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 = MD_Barcode39(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 MD_Barcode39(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
    Attached Files Attached Files

  2. #2
    ssanfu is offline Master of Nothing
    Windows 2K Access 2000
    Join Date
    Sep 2010
    Location
    Anchorage, Alaska, USA
    Posts
    9,664
    Here is the link to the page with the barcode code:

    http://mc-computing.com/databases/ms...tor_Code39.txt


    In looking at the comments of the code, I saw:
    ' TO USE THIS CODE:


    ' 4 - NOTE: The name of the section is "Detail1" for example only!
    ' Your section might show a different name. Ditto for "Barcode".
    You named one of your controls the same as the example.... a little confusing

    So for the other controls, I would try:
    Code:
    Sub Detail1_Print (Cancel As Integer, PrintCount As Integer)
    
          Result = MD_Barcode39(Barcode, Me)
          Result = MD_Barcode39(Barcode2, Me)
          Result = MD_Barcode39(Barcode3, Me)
          Result = MD_Barcode39(Barcode4, Me)
          Result = MD_Barcode39(Barcode5, Me)
          Result = MD_Barcode39(Barcode6, Me)
    
      End Sub
    This is what I would try. (aka... this is a guess)
    Don't know what will happen if a control is NULL or empty........
    Last edited by ssanfu; 02-24-2012 at 12:00 PM. Reason: missing word

  3. #3
    manic is offline Advanced Beginner
    Windows 7 64bit Access 2010 64bit
    Join Date
    Jan 2012
    Posts
    63
    Quote Originally Posted by ssanfu View Post
    Here is the link to the page with the barcode code:

    http://mc-computing.com/databases/ms...tor_Code39.txt


    In looking at the comments of the code, I saw:


    You named one of your controls the same as the example.... a little confusing

    So for the other controls, I would try:
    Code:
    Sub Detail1_Print (Cancel As Integer, PrintCount As Integer)
    
          Result = MD_Barcode39(Barcode, Me)
          Result = MD_Barcode39(Barcode2, Me)
          Result = MD_Barcode39(Barcode3, Me)
          Result = MD_Barcode39(Barcode4, Me)
          Result = MD_Barcode39(Barcode5, Me)
          Result = MD_Barcode39(Barcode6, Me)
    
      End Sub
    This is what I would try. (aka... this is a guess)
    Don't know what will happen if a control is NULL or empty........
    I did a different approach, similar but it required more typing and it works, which it was
    Result = MD_Barcode39(TxtBarcode1, Me)
    Result = MD_Barcode39_2(TxtBarcode2, Me)
    Result = MD_Barcode39_3(TxtBarcode3, Me)
    Result = MD_Barcode39_4(TxtBarcode4, Me)
    Result = MD_Barcode39_5(TxtBarcode5, Me)
    Result = MD_Barcode39_6(TxtBarcode6, Me)
    and i just tried yours and it works well too.
    thanks for all the help I'm very pleased with the results.

Please reply to this thread with any new information or opinions.

Similar Threads

  1. VBA Code Help Please
    By jo15765 in forum Programming
    Replies: 8
    Last Post: 01-15-2011, 01:00 PM
  2. VBA Code Help
    By jo15765 in forum Programming
    Replies: 3
    Last Post: 12-21-2010, 08:34 PM
  3. Word code in Access - How to modify my current code
    By Alexandre Cote in forum Programming
    Replies: 0
    Last Post: 11-15-2010, 08:26 AM
  4. Code in combobox, code in text box
    By float in forum Forms
    Replies: 3
    Last Post: 09-29-2010, 07:12 AM
  5. Access 2003 code vs Access 2007 Code
    By ralphjramirez in forum Access
    Replies: 5
    Last Post: 11-23-2009, 12:33 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Other Forums: Microsoft Office Forums