webForumDet fria alternativet

Frågor i Access?

ASP

6 svar · 185 visningar · startad av PatrikB

Medlem sedan mars 20002 836 inlägg
Frågan#1

Som bekant kan man köra redan skapade frågor i access, ungefär som med storedprocedures i MS-SQL.

Min undran är om man kan skicka med värden från en asp sida till frågan som är skapad i Access?

cya,
PatrikB

------------------
Private Function OutPut(ByRef sString)
OutPut = "Who gives ..." & sString
End Function

Medlem sedan dec. 200012 464 inlägg
#2

Jodå, antingen kan man göra det med ett command object där man skapar en parameteruppsättning eller så kan man skicka med parametrar vid execute.


   Set con = server.CreateObject("ADODB.Connection")
con.Open "en DSN-sträng"

Set CmdObj = server.CreateObject("ADODB.Command")
Set CmdObj.ActiveConnection = con

CmdObj.CommandType = adCmdStoredProc
CmdObj.CommandText = "Pp"

'skapa parameter
set par = cmdObj.CreateParameter("name",adVarChar,adparamInput,10)

CmdObj.Parameters.Append par 

'sätt värde
CmdObj.Parameters("name") = "22"

Set rsTest = CmdObj.Execute

Eller direkt vid execute


   Set con = server.CreateObject("ADODB.Connection")
con.Open "en DSN-sträng"

Set CmdObj = server.CreateObject("ADODB.Command")
Set CmdObj.ActiveConnection = con

CmdObj.CommandType = adCmdStoredProc
CmdObj.CommandText = "Pp"
CmdObj.execute ,array("22"),128

Ungefär så, den senare metoden kan inte hantera outputparametrar (men det kanske inte finns i Access?).

------------------
essentitia preter non sans multiplicandum

Medlem sedan mars 20002 836 inlägg
#3

tackar, tackar!!
ska testa så fort som möjligt.

cya,
PatrikB

Medlem sedan mars 20002 836 inlägg
#4

ok, fick det inte att funka .... :(
Kanske detta inte går i Access.

Det jag vill göra är att lista tex alla artiklar i en viss kategori.

DB Tabeller:
TBL_ART_KAT
-----------
FLD_ART_KAT_ID [PK:Räknare]
FLD_ART_KAT [Text]

TBL_ART
-------
FLD_ART_ID [PK:Räknare]
FLD_KAT_ID [Tal]
FLD_ART [Text]

Relation: FLD_ART_KAT_ID > 1:N > FLD_KAT_ID

För att hämta ut alla artiklar i tabellen TBL_ART för en viss kategori på en vanlig asp sida skulle se ut så här:

intArtKat = 2

strSQL = "SELECT * FROM TBL_ART WHERE FLD_KAT_ID = " & intArtKat

Om jag nu skulle vilja köra frågan q_getArticles i Access (frågan är skapad och sparad i Access), så vill jag ju naturligtvis också få med värdet för vilken artikel kategori som ska listas/visas, men HUR?

Testade koden ovan, men får det inte att funka, det kanske inte funkar att göra så som jag vill i Access?

Någon som vet hur det skulle kunna lösas?

cya,
PatrikB

Medlem sedan feb. 20001 590 inlägg
#5

Jo, så här gör du....

/skapa anslutning till Conn
Conn.Execute "exec q_getArticles intArtKat"

Tänk på att det bara är rena SQL frågor man kan köra på detta sättet.

Det som kan strula är datatypen för intArtKat, så som jag visar är det heltal. Strängar ska vara mellen ' '

Flera argument särskiljs med ,

/T

------------------
"Den som väntar på någon som gått behöver inte vänta längre..."

[Redigerat av Toonster den 16 mar 2001]

Medlem sedan mars 20002 836 inlägg
#6

ok, tackar för detta.

vad menar du med "rena" sql-frågor?

cya,
PatrikB

Medlem sedan feb. 20001 590 inlägg
#7

Med "rena" SQL frågor menar jag en vanlig SQL sträng, alltså ingen kod får finnas typ makro/modul

/T

------------------
"Den som väntar på någon som gått behöver inte vänta längre..."

261 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)