Search the Community
Showing results for tags 'crystal reports'.
-
Hi, i'm trying to use an alternative to FileOpenDialog, FileOpen would work for me, but i can't get it work in this script. #include <GUIConstants.au3> AutoItSetOption("WinTitleMatchMode", 2) Dim $sReportName Dim $objCRApp Dim $objCRReport Dim $objCRViewer Dim $CrystalExportOptions Dim $ExportFileName Dim $ExportType ;~$sReportName = FileOpenDialog("C:\test\zNC\engine\Vinhos\VinhosTotal", "", "RPT (*.rpt)", 3);Filter "." means all $sReportName = FileOpen("C:\test\zNC\engine\Vinhos\VinhosTotal.rpt", "0") $objCRApp = ObjCreate("CrystalRuntime.Application.11") If $objCRApp = 0 Then MsgBox(0, "Error", "Could not create CrystalRuntime Application Object") Exit EndIf $objCRReport = $objCRApp.OpenReport($sReportName) If $objCRReport = 0 Then MsgBox(0, "Error", "Could not open report: " & $sReportName) Exit EndIf $objCRViewer = ObjCreate("CrystalReports11.ActiveXReportViewer.1") ; Create a simple GUI for our output ;~ $hndReportViewer = GUICreate ( "Embedded Crystal Reports Export test", 640, 580,(@DesktopWidth-640)/2, (@DesktopHeight-580)/2 , $WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS) ;~ If $hndReportViewer = 0 Then ;~ MsgBox(0, "Error", "Could not create Window to display Crystal Reports control") ;~ Exit ;~ EndIf ;Creates an ActiveX control in the GUI. ;~ $GUIActiveX = GUICtrlCreateObj ( $objCRViewer, -1, -1, 640, 580) ;~ If $GUIActiveX = 0 Then ;~ MsgBox(0, "Error", "Could not create ActiveX Control in GUI") ;~ Exit ;~ EndIf ;~ GUICtrlSetResizing ( $GUIActiveX, $GUI_DOCKAUTO) ; Show GUI ;~ GUISetState () $objCRViewer.ReportSource = $objCRReport ; Display the Report to watch automation $objCRViewer.ViewReport ; The report displays a "0" in control 20005 while the report is loading While ControlGetText("Embedded Crystal Reports printing test", "", 20005) = "0" Sleep(250) WEnd $CrystalExportOptions = $objCRReport.ExportOptions $ExportFileName = "C:\ERPSystem\zNC\engine\Vinhos\ExportedReport.PDF" $ExportType = 31 $CrystalExportOptions.DiskFileName = $ExportFileName $CrystalExportOptions.FormatType = $ExportType $CrystalExportOptions.DestinationType = 1 $objCRReport.Export ( False ) Sleep(500) WinWaitClose("Export", "", 30) GUIDelete() To solve my problem i just remove the "FileOpen" like that: $sReportName = "C:\test\zNC\engine\Vinhos\VinhosTotal.rpt" That way it will not prompt me to select the file.
-
EDIT: Just realized I posted in the wrong section. Can a moderator move this, please? Hello. I've search the forums and internet many times and can't find a solution to my problem. I started on a UDF to use Crystal Reports and want to be able to export a report multiple times during one run. The problem lies in the record selection command. It will work the first time, but randomly fails after that. The error I get states "Basic syntax is not supported on a record or group selection formula". The issue is i'm not using basic syntax and my formula doesn't change, just the string within the quotes. The report will still export, but if the record selection fails then it will use the string saved in the report and not the one I tried to pass. Below is the main program and I attached two of the include files. I've considered using a parameter instead, but none of the code I've found online works when I try to pass a parameter. Global $vSaveFilePath = "C:\Users\public\desktop\test", _ $vReportFilePath = "C:\Program Files\Chameleon Software\Chameleon\Crystal", _ $aReportFileName = ["MedHist.rpt","Receipt.rpt","Vacc_Cert.rpt"], _ $aSelect[3] _Run() Func _Run() Local $aData = _DataQuery("query string") ;_ArrayDisplay($aData) If Not IsArray($aData) Then Exit MsgBox(0,"","Returned no records") For $x = 1 To UBound($aData) - 1 $aSelect[0] = "{KENNEL.IMPOUND_NO} = """ & $aData[$x][4] & """" $aSelect[1] = "{RECEIPT.RECEIPT_NO} = """ & $aData[$x][5] & """" $aSelect[2] = "{V_Rabies_Vac.tag_no} = """ & $aData[$x][6] & """" For $y = 0 To 2 ConsoleWrite($aSelect[$y] & @CRLF) If $aData[$x][$y + 4] <> "" Then _CrystalReportsExport($vReportFilePath & "\" & $aReportFileName[$y],"username","password", $aSelect[$y], $vSaveFilePath & "\" & $aData[$x][3] & "." & StringTrimRight($aReportFileName[$y],4) & "." & $aData[$x][4] & ".pdf") Next Next EndFunc _ComErrorHandler.au3 _CrystalReports.au3