Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion GroupsFormsForms ProgrammingQueriesModules / DAO / VBAReports / PrintingMacrosDatabase DesignSecurityConversionImporting / LinkingSQL Server / ADPMultiuser / NetworkingReplicationSetup / ConfigurationDeveloper ToolkitsActiveX ControlsNew UsersGeneral 1General 2
Access DirectoryToolsTutorialsUser Groups
Related Topics
SQL ServerOther DB ProductsMS OfficeMore Topics ...

MS Access Forum / General 1 / March 2007

Tip: Looking for answers? Try searching our database.

Open SSRS Reports in an ADP

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
BillCo - 28 Mar 2007 11:34 GMT
Does anyone know if it is possible to integrate SQL Server Reporting
Services Reports in an ADP? Is there a plugin or anything that can do
this? I have a hunch that the Web Viewer Active-X componant wont be up
to the job. I've googled it but it seems to be slim pickings!

I need to keep this ap as easy to ".NET-ise" as possible, so I'm
trying to stay away from Access Reporting - as great as it actually
is.

Worst case I'll just shell to the SSRS report viewer - but it would be
nice to keep it all together in the ap, like the users hare used to.

Cheers,

Bill
Rich P - 29 Mar 2007 20:10 GMT
Hi Bill,

Here is a sample URL string for calling a Report from Sql Sel Server
reporting services (sql server 2000).  This URL includes arguments, if
the report takes arguments

Dim url As String

url=
"http://companyweb/ReportServer?/SubscriberReports/Active+Copy+Count+By+
Copy+Count&rs:Format=pdf&argListNo=24&argListSub=UD&argBeginDate=01/01/8
0&argEndDate=12/31/20&argPaidStatus=*"

The strings calls the Report server:
http://companyweb/ReportServer?/

and the directory where the report resides:
SubscriberReports/

then the report name:
Active+Copy+Count+By+Copy+Count

Note:  the + symbol is a space. Report name is
Active Copy Count By Copy Count

Then the format for the report to come out in
&rs:Format=pdf

and then the argument list:
&argListNo=24&argListSub=UD&argBeginDate=01/01/80&argEndDate=12/31/20&ar
gPaidStatus=*

Note that the arg list does not delimit the arguments.  And in the
actual RDL (the sql server report) I convert the * to a % (for Tsql
wildcards) using Replace.

Here is how you call reporting services from Access:

fHandleFile url, WIN_NORMAL

And here is the API code for fHandleFile (this is from one of the Access
MVP's)

Option Compare Database

'************ Code Start **********
' This code was originally written by Dev Ashish.
' It is not to be altered or distributed,
' except as part of an application.
' You are free to use it in any application,
' provided the copyright notice is left unchanged.
'
' Code Courtesy of
' Dev Ashish
'
Private Declare Function apiShellExecute Lib "shell32.dll" _
   Alias "ShellExecuteA" _
   (ByVal hwnd As Long, _
   ByVal lpOperation As String, _
   ByVal lpFile As String, _
   ByVal lpParameters As String, _
   ByVal lpDirectory As String, _
   ByVal nShowCmd As Long) _
   As Long

'***App Window Constants***
Public Const WIN_NORMAL = 1         'Open Normal
Public Const WIN_MAX = 3            'Open Maximized
Public Const WIN_MIN = 2            'Open Minimized

'***Error Codes***
Private Const ERROR_SUCCESS = 32&
Private Const ERROR_NO_ASSOC = 31&
Private Const ERROR_OUT_OF_MEM = 0&
Private Const ERROR_FILE_NOT_FOUND = 2&
Private Const ERROR_PATH_NOT_FOUND = 3&
Private Const ERROR_BAD_FORMAT = 11&

'***************Usage Examples***********************
'Open a folder:     ?fHandleFile("C:\TEMP\",WIN_NORMAL)
'Call Email app:    ?fHandleFile("mailto:dash10@hotmail.com",WIN_NORMAL)
'Open URL:          ?fHandleFile("http://home.att.net/~dashish",
WIN_NORMAL)
'Handle Unknown extensions (call Open With Dialog):
'                   ?fHandleFile("C:\TEMP\TestThis",Win_Normal)
'Start Access instance:
'                   ?fHandleFile("I:\mdbs\CodeNStuff.mdb", Win_NORMAL)
'****************************************************

Function fHandleFile(stFile As String, lShowHow As Long)
Dim lRet As Long, varTaskID As Variant
Dim stRet As String
   'First try ShellExecute
   lRet = apiShellExecute(hWndAccessApp, vbNullString, _
           stFile, vbNullString, vbNullString, lShowHow)
           
   If lRet > ERROR_SUCCESS Then
       stRet = vbNullString
       lRet = -1
   Else
       Select Case lRet
           Case ERROR_NO_ASSOC:
               'Try the OpenWith dialog
               varTaskID = Shell("rundll32.exe
shell32.dll,OpenAs_RunDLL " _
                       & stFile, WIN_NORMAL)
               lRet = (varTaskID <> 0)
           Case ERROR_OUT_OF_MEM:
               stRet = "Error: Out of Memory/Resources. Couldn't
Execute!"
           Case ERROR_FILE_NOT_FOUND:
               stRet = "Error: File not found.  Couldn't Execute!"
           Case ERROR_PATH_NOT_FOUND:
               stRet = "Error: Path not found. Couldn't Execute!"
           Case ERROR_BAD_FORMAT:
               stRet = "Error:  Bad File Format. Couldn't Execute!"
           Case Else:
       End Select
   End If
   fHandleFile = lRet & _
               IIf(stRet = "", vbNullString, ", " & stRet)
End Function
'************ Code End **********

Rich
BillCo - 30 Mar 2007 09:31 GMT
Cheers - I'll look into using that!

Bill
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.