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?/SubscriberRepor ts/Active+Copy+Cou nt+By+
Copy+Count&rs:F ormat=pdf&argLi stNo=24&argList Sub=UD&argBegin Date=01/01/8
0&argEndDate= 12/31/20&argPaidStatu s=*"
The strings calls the Report server:
http://companyweb/ReportServer?/
and the directory where the report resides:
SubscriberRepor ts/
then the report name:
Active+Copy+Cou nt+By+Copy+Coun t
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=p df
and then the argument list:
&argListNo=24&a rgListSub=UD&ar gBeginDate=01/01/80&argEndDate=1 2/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.dl l" _
Alias "ShellExecu teA" _
(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_ME M = 0&
Private Const ERROR_FILE_NOT_ FOUND = 2&
Private Const ERROR_PATH_NOT_ FOUND = 3&
Private Const ERROR_BAD_FORMA T = 11&
'************** *Usage Examples******* *************** *
'Open a folder: ?fHandleFile("C :\TEMP\",WIN_NO RMAL)
'Call Email app: ?fHandleFile("m ailto:da****@ho tmail.com",WIN_ NORMAL)
'Open URL: ?fHandleFile("h ttp://home.att.net/~dashish",
WIN_NORMAL)
'Handle Unknown extensions (call Open With Dialog):
' ?fHandleFile("C :\TEMP\TestThis ",Win_Norma l)
'Start Access instance:
' ?fHandleFile("I :\mdbs\CodeNStu ff.mdb", Win_NORMAL)
'************** *************** *************** ********
Function fHandleFile(stF ile 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,Ope nAs_RunDLL " _
& stFile, WIN_NORMAL)
lRet = (varTaskID <0)
Case ERROR_OUT_OF_ME M:
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_FORMA T:
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
*** Sent via Developersdex
http://www.developersdex.com ***