By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
440,159 Members | 1,880 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 440,159 IT Pros & Developers. It's quick & easy.

Need Help to Create Object

P: n/a
Access 2000

I have a check scanner from Magtek, (MicrImage) This is like a "point
of sale" check scanner/credit card reader. Magtek furnished 2 ocx's
(MTMicrImage.ocx & SaxComm8.ocx). They also give example VB code.

I need to make this work in Access. I know the following code will
require a lot of modification for VBA.

My Problem is getting started - I have copied the ocx's to the
system32 folder and registered them. I also have a reference to them
in Access.

How do I create the "Object" so I can use the methods of the ocx?

Here is the VB code Example -

************************************************** ************

Private Sub LogStatus(ByVal InfoToLog As String)

txtStatus.Text = txtStatus.Text & InfoToLog & vbCrLf

txtStatus.SelLength = 0

txtStatus.SelStart = Len(txtStatus.Text)

End Sub


Private Sub cmdClear_Click()

txtStatus.Text = ""

txtMagStripeData.Text = ""

txtFirstName.Text = ""

txtLastName.Text = ""

txtMonth.Text = ""

txtYear.Text = ""

txtTrack1.Text = ""

txtTrack2.Text = ""

txtTrack3.Text = ""

txtAccountNum.Text = ""

txtMicrData.Text = ""

txtMicrAccountNum.Text = ""

txtCheckNum.Text = ""

txtTransit.Text = ""
txtFileName.Text = ""

txtIFD.Text = ""

txtTagNum.Text = ""

txtTagOutput.Text = ""

cmdGetTagByNum.Enabled = False

cmdGetAllTags.Enabled = False
End Sub


Private Sub cmdExit_Click()

Unload Me


End Sub


Private Sub cmdGetAllTags_Click()

Dim ReturnVal As Variant

Dim FieldCount As Integer

Dim i As Integer

Dim TagNum As Long


LogStatus "Getting All Tags in file " & txtFileName.Text & ": "

ReturnVal = MicrImage.EnumTiffTags(txtFileName.Text, txtIFD.Text)



If IsArray(ReturnVal) Then

FieldCount = UBound(ReturnVal)

LogStatus "There are " & FieldCount & " Tags"


For i = 1 To FieldCount

TagNum = MicrImage.GetTiffTagNumByIndex(txtFileName.Text, i,
txtIFD.Text)

LogStatus " Tag # " & TagNum & "= " &
MicrImage.GetTiffTagByNumber(txtFileName.Text, TagNum, txtIFD.Text)

Next

Else

LogStatus "There are No Tags in IFD " & txtIFD.Text & " in file " &
txtFileName.Text

End If


End Sub


Private Sub cmdGetTagByNum_Click()

LogStatus "Getting Tag By Tag Number:"

txtTagOutput.Text = MicrImage.GetTiffTagByNumber(txtFileName.Text,
txtTagNum.Text, txtIFD.Text)

End Sub


Private Sub cmdPortOpen_Click()


If Not (MicrImage.PortOpen) Then

MicrImage.CommPort = txtCommPort.Text

MicrImage.Settings = txtSettings.Text

End If

MicrImage.PortOpen = Not MicrImage.PortOpen


If MicrImage.PortOpen Then
LogStatus "Port Opened"

cmdPortOpen.Caption = "Close Port"

If MicrImage.DSRHolding Then

LogStatus "Device Attached"

'Displays Current Switch Settings

'If you use the MicrImage.Save command then these do not need to be
sent

'every time you open the device
MicrImage.MicrTimeOut = 1

LogStatus "These are the Current Switch Settings"

LogStatus " Switch A: " & MicrImage.MicrCommand("SWA", True)

LogStatus " Switch B: " & MicrImage.MicrCommand("SWB", True)

LogStatus " Switch C: " & MicrImage.MicrCommand("SWC", True)

LogStatus " Switch D: " & MicrImage.MicrCommand("SWD", True)

LogStatus " Switch E: " & MicrImage.MicrCommand("SWE", True)

LogStatus " Switch I: " & MicrImage.MicrCommand("SWI", True)

LogStatus " Switch HW: " & MicrImage.MicrCommand("HW", True)


'Sets Switch Settings

'If you use the MicrImage.Save command then these do not need to be
sent

'every time you open the device
MicrImage.MicrCommand "SWA 00100010", False

MicrImage.MicrCommand "SWB 00100010", False

MicrImage.MicrCommand "SWC 00100000", False

MicrImage.MicrCommand "HW 00111100", False

MicrImage.MicrCommand "SWE 00000010", False

MicrImage.MicrCommand "SWI 00000000", False

'MicrImage.Save

'Displays New Settings

'If you use the MicrImage.Save command then these do not need to be
sent

'every time you open the device

LogStatus "These are the New Switch Settings:"

LogStatus " Switch A: " & MicrImage.MicrCommand("SWA", True)

LogStatus " Switch B: " & MicrImage.MicrCommand("SWB", True)

LogStatus " Switch C: " & MicrImage.MicrCommand("SWC", True)

LogStatus " Switch D: " & MicrImage.MicrCommand("SWD", True)

LogStatus " Switch E: " & MicrImage.MicrCommand("SWE", True)

LogStatus " Switch I: " & MicrImage.MicrCommand("SWI", True)

LogStatus " Switch HW: " & MicrImage.MicrCommand("HW", True)
'The OCX will work with any Micr Format. You just need to know which

'format is being used to parse it using the FindElement Method

LogStatus "Changing Format to 6200 for this Demo"

MicrImage.FormatChange "6200"

LogStatus "Version: " & MicrImage.Version

MicrImage.MicrTimeOut = 2

Else

LogStatus "Device Not Attached"

End If

Else

LogStatus "Port Closed"

cmdPortOpen.Caption = "Open Port"

End If




End Sub


Private Sub Form_Load()

txtCommPort.Text = MicrImage.GetDefSetting("CommPort", "1")

txtSettings.Text = MicrImage.GetDefSetting("Settings", "115200,N,8,1")

lblCaption(0).Caption = App.ProductName

lblCaption(1).Caption = App.ProductName

End Sub


Private Sub MicrImage1_MicrDataReceived()

Dim ImagePath As String

Dim ImageFileName As String

Dim ImageIndex As String

Dim Status As Long

Dim StatusMsg As String

Dim bOpStatus As Boolean


If MicrImage.GetTrack(1) & MicrImage.GetTrack(2) &
MicrImage.GetTrack(3) <"" Then

LogStatus "Event Fired: MagStripe Data"

txtMagStripeData.Text = MicrImage.MicrData

txtFirstName.Text = MicrImage.GetFName()

txtLastName.Text = MicrImage.GetLName()

txtMonth.Text = MicrImage.FindElement(2, "=", 2, "2", False)

txtYear.Text = MicrImage.FindElement(2, "=", 0, "2", False)

txtTrack1.Text = MicrImage.GetTrack(1)

txtTrack2.Text = MicrImage.GetTrack(2)

txtTrack3.Text = MicrImage.GetTrack(3)

txtAccountNum.Text = MicrImage.FindElement(2, ";", 0, "=", False)

Else

LogStatus "Event Fired: Micr Data"

txtMicrData.Text = MicrImage.MicrData

txtMicrAccountNum.Text = MicrImage.FindElement(0, "TT", 0, "A", False)

txtCheckNum.Text = MicrImage.FindElement(0, "A", 0, "12", False)

txtTransit.Text = MicrImage.FindElement(0, "T", 0, "TT", False)


ImagePath = MicrImage.GetDefSetting("ImagePath", "C:\")


'This sets up and index number so that we can deal with same check
being

'inserted over and over. The TransmitCurrentImage Method with fail if
the file

'already exists. This is to ensure that no check image is overwritten.
By keeping

'an ImageIndex and incrementing it we ensure that the same file name
will not be

'generated below. You are free to name the file anything that is
considered to be

'a valid file name.

ImageIndex = MicrImage.GetDefSetting("ImageIndex", "0")
ImageIndex = CStr(CInt(ImageIndex) + 1)

MicrImage.SaveDefSetting "ImageIndex", ImageIndex

ImageFileName = ImagePath & "MI" & txtTransit.Text &
txtMicrAccountNum.Text & txtCheckNum.Text & ImageIndex & ".TIF"
LogStatus "Acquiring File: " & ImageFileName & " ..."
'Adding a tiff tag.

MicrImage.AddTag ("T32768=This was added by the Demo Program")
'Transmitting current image

Status = MicrImage.TransmitCurrentImage(ImageFileName, StatusMsg)
'Logging status of TransmitCurrentImage

LogStatus "TransmitCurrentImage: " & Status


If Status = "0" Then

bOpStatus = ShellEx(ImageFileName, , , , , Me.hWnd)

If bOpStatus = True Then

LogStatus "Shell Successful"
'setting up the Image Info

txtFileName.Text = ImageFileName

txtIFD.Text = "1"

txtTagNum.Text = "270"

cmdGetTagByNum.Enabled = True

cmdGetAllTags.Enabled = True

Else

LogStatus "Shell Failed"

cmdGetTagByNum.Enabled = False

cmdGetAllTags.Enabled = False

End If

End If

End If


MicrImage.ClearBuffer

End Sub


Private Sub mnuAbout_Click()

frmAbout.Show vbModal


End Sub


Private Sub mnuExit_Click()

Unload Me

End Sub

************************************************** ****

Thanks
Dale

Jun 27 '08 #1
Share this question for a faster answer!
Share on Google+

This discussion thread is closed

Replies have been disabled for this discussion.