Om man vill köra en fråga i access (inte genom att köra en sql-sats utan en "riktig" namngiven fråga), kan man då i anropet på frågan skicka med vad t.ex. kolumnen STOCK CODE ska vara lika med vid den körningen? Vet inte om jag fattat din fråga riktigt men, här kommer ett förslag: ja, du kan använda frårna i Access som du använder Stored Procedures i MS-SQL Server. Detta går alldeles utmärkt att skapa i Access, här är ett exempel som fungerar bra för mig: Svar nej. Du kan inte programtiskt sätta parametrana för en parameter fråga om du skall skicka den till DoCmd.TransferSpreadsheet. Det går utmärkt att använda en sparad parameterfråga med Sendkeys:Kan man skicka med en parameter i ett frågeanrop?
Jag loopar nämligen igenom ett recordset och vid varje post ska frågan köras med olika värden.
Varför jag inte kan använda en sql-sats är för att jag ska använda mig av funktionen Docmd.transferSpreadsheet så att en excelfil skapas. Den måste dock skapas av en fråga eller tabell.
Jag kan givetvis lösa detta mha en temp-tabell men vill gärna kolla om någon vet svaret på min fråga.
Tack!Sv: Kan man skicka med en parameter i ett frågeanrop?
<code>
Function SetParam(paramValue)
Dim db As Database
Dim rs As Recordset
Dim qdf As QueryDef
Dim par As Parameter
Set db = CurrentDb
Set qdf = db.QueryDefs("ParamQuery")
Set par = qdf.Parameters!StockCode
par = paramValue
Set rs = qdf.OpenRecordset()
'............
End Function
</code>Sv: Kan man skicka med en parameter i ett frågeanrop?
Enda nackdelen är att dessa frågor INTE kan skapas i access utan du måste använda dig av tex en webbsida i ASP, ett clientprogram m.m
Skapa fråga:
strSQLcq = "CREATE PROCEDURE proc_MyQuery @Myparam char(50) AS SELECT somefield, myparamfield FROM mytable WHERE myparamfield = @Myparam GO"
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\myfolder\mydbfile.mdb"
objConn.Execute(strSQLcq)
har för mig att du även måste använda dig av OLEDB providern för att "hämta" ut oxå:
Set objRS = objConn.Execute("proc_MyQuery " & strMyParamVariable)
cya,
PatrikBSv: Kan man skicka med en parameter i ett frågeanrop?
PARAMETERS AdrID Long;
SELECT tblSupport.*, [tblUsers].[strInit]
FROM tblUsers RIGHT JOIN tblSupport ON [tblUsers].[ID]=[tblSupport].[lngUserID]
WHERE (([tblSupport].[lngAdrID])=AdrID)
ORDER BY [dteDatum] DESC;
/JohanSv: Kan man skicka med en parameter i ett frågeanrop?
Kommer i så falla att visa parameter dialogen för användaren tror jag.
Så en temporär tabell låter bra tycker jag.Sv: Kan man skicka med en parameter i ett frågeanrop?
...
sub CrXls(Art, MinDest)
SendKeys Art & "{enter}", false
DoCmd.TransferSpreadsheet acExport, 8,"Q_Param_ArtNr", MinDest & Art & ".xls", True
End sub
...
Q_Param_ArtNr är namnet på den sparade parameterfrågan. Art är den aktuella radens data i ditt kriteriefält . MinDest är förstås sökvägen till min destinationsmapp. I detta exempel får du också ett namn på xl-filen som överensstämmer med din parameter.
Johnny Lindulf