webForumDet fria alternativet

Öppna Access-rapport i VB

.NETur .NET

1 svar · 436 visningar · startad av d_jonsson

d_jonssonMedlem sedan mars 200113 inlägg
#1

Jag har ett Accessprojekt med en rapport som vi kan kalla rptEtt. Denna rapport bygger på en lagrad procedur som finns på en SQL-server. Den lagrade proceduren tar en inparameter (av typen int).
Jag vill komma åt denna rapport och visa den i en snapview-kontroll i VB.

Det stora problemet är att jag inte vet hur jag ska skicka med inparametern (som krävs för den lagrade procedur som rapporten bygger på) till Access. För att kunna visa rapporten i snapshot-viewer-ocx:en krävs det att jag först skapar en snapshot-version av rapporten.

Min kod är som följer:

' Skapa anslutning till Access
Private appAccess As Access.Application ' Variable for instance of Access
Set appAccess = New Access.Application
appAccess.Visible = False

' Specificera vad den skapade snapshot-filen ska heta
strFile = "a:\snapshot1.snp"

' Öppna databasen, rapporten och skapa den i snapshot-format
appAccess.OpenCurrentDatabase "G:\DD\jönsson\Senaste Säljstöd.adp"
With appAccess.DoCmd
' open i preview mode
.OpenReport "rptEtt", acViewDesign, "", ""
' nu kan rapporten sparas i snapshot-format
.OutputTo acOutputReport, , "Snapshot Format", strFile
.Close
End With

' Stäng kopplingen till Access
appAccess.Quit acQuitSaveNone
Set appAccess = Nothing

Problemet är som sagt att jag, innan jag skapar snapshot-filen, vill ange vilken inparameter som rapporten ska ha. Hur göres detta? Rapporter i Access har en egenskap som heter "Record Source", vilket i mitt fall är en lagrad procedur. Rapporter har även en egenskap som heter "Input parameters", vilket i mitt fall är inparametern till den lagrade proceduren. Hur kan jag i VB, ändra denna input parameter till önskat värde innan snapshotfilen skapas?

Mvh

Daniel

fredrikMedlem sedan dec. 19991 072 inlägg
#2

Hmmm..kan du inte skapa en fråga som i sin tur frågar SQL-servern?

i så fall så borde du kunna skicka med namnet på den frågan i metod-anropet vid "openReport", och då borde du även kunna skicka med din inparameter.

------------------
Fredrik Klarqvist
f.klarqvist@spray.se
http://server.webwerkstaden.se/fredde/

129 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)