Scanning images with MS Access form using VSTwain ActiveX by VintaSoft

Hello All,

Is it possible to preview the scanned document in the image1.Picture before saving? I've been successful at scanning and saving to a folder on the server. When I navigate record to record the images do load correctly.

I would like to scan the image, display it before saving on the form, and then have the user continue by clicking "Save" or cancel.

Here is what I have so far:
'Scan Button

Private Sub BAcquire_Click()

Dim User As String
Dim Email As String
Dim RegCode As String
Dim Result As Long

   
    User = "xxxxxxxx"
    Email = "jheilman@xxxxxxxxx.com"
    RegCode = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    Result = VSTwain1.Register(User, Email, RegCode)

    VSTwain1.StartDevice
         If VSTwain1.SelectSource = 1 Then
            VSTwain1.autoCleanBuffer = 1
            VSTwain1.maxImages = 1
            VSTwain1.showUI = 1
            VSTwain1.Acquire
        End If

'Set Image1.Picture = VSTwain1.GetCurrentImage <<<<< I haven't been able to get this to work.  I get an "Invalid Use of Property" error.
           
 End Sub

'Save Button

Private Sub SaveScan_Click()
Dim flag As Long
Dim strFileName As String

 strFileName = Me.txtstrFileName

    If flag <> 0 Then
        If VSTwain1.errorCode <> 0 Then
            MsgBox VSTwain1.ErrorString
        End If
    Else
               
          VSTwain1.TiffCompression = 1
          If (VSTwain1.SaveImage(0, "q:\Downstream\" & strFileName) = 1) Then
          MsgBox VSTwain1.ErrorString
          End If
            
      '      Dim fName As String
       '     fName = "Q:\Downstream\" + Me!strFileName
        '    VSTwain1.SaveImage 0, fName
                    
         '  If VSTwain1.errorCode <> 0 Then
          '      MsgBox VSTwain1.ErrorString
           ' Else
            '    Me![Link] = fName
             '   Me![Image1].Picture = fName
            End If
        'End If
    'End If
    Me.Image1.Requery
    
End Sub

Open in new window


ScanDocumentForm.jpg
jeff-hAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
Jeffrey CoachmanConnect With a Mentor MIS LiasonCommented:
sorry for the typo, ...the first code should be:

Me.YourImageControl.Picture="C:\YourFolder\YourFile.jpg"
0
 
Jeffrey CoachmanMIS LiasonCommented:
Clearly define what you mean by "saving" the image?
Saving the image to an OLE field? an Attachment field, ...Save just the Path...
(I would save the path)

On overall concept wold be to:
Scan it and save it to a disk file. (this is the easiest way to "View" the image)
Store the path to the image as a variable
Then display the image file based on the path variable.
If it appears the way you like, *Then* save the path variable to he record

I am not familiar with your code, ...but from what you posted, I am sure you can get something going based on my suggestion.

FWIW, Did you look into this product:
http://www.ammara.com/dbpix/access.html

JeffCoachman
0
 
Jeffrey CoachmanMIS LiasonCommented:
...oh and if the image is not what you wanted,...then you can delete the file with code like this:
 Kill "c:\YourFlder\YourFile.jpg"

Or
Kill strTempImagePath
...If you saved the path to a variable named: strTempImagePath

If you get errors using"Kill", then you will have to use the windows scripting library to issue a Delete file command.
0
Easily Design & Build Your Next Website

Squarespace’s all-in-one platform gives you everything you need to express yourself creatively online, whether it is with a domain, website, or online store. Get started with your free trial today, and when ready, take 10% off your first purchase with offer code 'EXPERTS'.

 
jeff-hAuthor Commented:
Hi Jeff!  I'm saving the images to a share on our network as .tif files and writing the path to each .tif in a table.

How would I go about saving the scanned image to a local temp file, loading that into the Image1 control, and then if satisfied save it to the network share?

Thanks for your time,
Jeff
0
 
jeff-hAuthor Commented:
OK, I'll do the kill thing, I've used it before.  Great idea!  I still can't get the image just scanned to load after saving though.  I don't work with images a whole lot.
0
 
Jeffrey CoachmanMIS LiasonCommented:
What does the code you posted do currently?
0
 
Jeffrey CoachmanMIS LiasonCommented:
I am sure another Expert can chime in with how to save an image to a disk file.
But, as for me, I use the utility I posted the link to:
http://www.ammara.com/dbpix/access.html
0
 
jeff-hAuthor Commented:
Right now the code fires up the scanner, scans the image, and saves it as a .tif to a folder on the network.  I've gotten the KillFile procedure you suggested working.  All I have to do now is have the image load into the Image1 control after it is saved.
0
 
Jeffrey CoachmanMIS LiasonCommented:
Saddly Tif/tiff images cannot be displayed in a standard Access image control(s)
...Can you use the .jpg or .png formats instead?

Then the code would be something like this:
Me.YourImageControl.Picturel="C:\YourFolder\YourFile.jpg"

...or if you store the path as a variable:
Me.YourImageControl.Picture=strImagePath
0
 
jeff-hAuthor Commented:
Thanks for your help Jeff, you managed to get the wheels in my brain turning again.
0
 
Jeffrey CoachmanMIS LiasonCommented:
Jeffs helping Jeffs...
;-)
0
 
jeff-hAuthor Commented:
LOL, that made me think of organizing a big "JeffAid" concert to benefit hack developers like myself.  I want ZZ Top and Motorhead to headline.  Thanks again, it's been fun.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.