Using the TAL Bar Code ActiveX Control with Crystal Reports
Background:
Unlike Active Reports by Data
Dynamics, Crystal Reports (at least Versions 8.5 and earlier)
by Crystal
Decisions (formally Seagate Software) does not support the use of
ActiveX controls directly. While it is possible to insert the TAL Bar
Code ActiveX control into Crystal Reports as an OLE Object, there seems
to be no way to set it's properties through code. (If anyone knows how
to do this please contact us!)
which means all you can do with it is print out the default bar code.
Solution:
Either use Active Reports and save youself a lot of programming
time, or use the ActiveX control in a Visual Basic Application that saves
the barcodes as images and then inserts them into your report. Unfortunately
there are no Crystal Reports Gurus here at TALtech, but we have
played with Crystal Reports 7.0 and a demo version of 8.5. One of the
Visual Basic Project demos that ships with the Crystal Reports 8.5 Report
Designer Component shows how to load a picture at Runtime using the "onFormat
event" of a section in the report:
' Using the FormattedPicture
property of the OLEObject object,
' the VB LoadPicture Method can be used to change a picture image
' at runtime. This example changes the coupon depending on the
' customer's last year's sales
'
Private Sub Section12_Format(ByVal pFormattingInfo As Object)
Select Case fldLastYearsSales.Value
Case Is < 10000
Set picCoupon.FormattedPicture = LoadPicture(App.Path & "\Coup20.bmp")
Case 10001 To 20000
Set picCoupon.FormattedPicture = LoadPicture(App.Path & "\Coup30.bmp")
Case 20001 To 30000
Set picCoupon.FormattedPicture = LoadPicture(App.Path & "\Coup40.bmp")
Case Is > 30000
Set picCoupon.FormattedPicture = LoadPicture(App.Path & "\Coup50.bmp")
End Select
End Sub
Thus, it seems entirely possible that one could bind the ActiveX Control
to a field in a database using Visual Basic's Database tools, then loop
through a field in the database, save a bar code as an image file, and
generate a report using Crystal Reports that uses the LoadPicture
method technique above to insert the barcodes. It may also be possible to insert the bar codes as image files into an OLE field in your table and bind a picture field on the report to that field.
If anyone out there knows of a better way or has a working example that
you would be willing to share with others please contact
us!
Related Links:
Using the TAL Bar Code ActiveX Control with
a VB Data Report
|