Avatar billede harlequin Nybegynder
20. august 2001 - 11:37 Der er 10 kommentarer og
1 løsning

åben forespørgsel i Access

Jeg bruger følgende kode til at åbne en forespørgsel i Access 2000:

objRS.open \"qlp\", objConn, 2, 2

Jeg skal have en WHERE SQL betingelse puttet ind i overstående linie er det muligt ? hvis hvordan så ?

Forespørgsel er rimelig stor så den ville fylde en del linier, hvis det hele skulle stå på asp siden, så det er ikke en løsning jeg vil bruge.




Avatar billede webbe Nybegynder
20. august 2001 - 12:00 #1
Normalt bruger man følgende

objRS.Open \"SELECT * FROM table_name WHERE field_name=\'string\'\"
Avatar billede harlequin Nybegynder
20. august 2001 - 12:09 #2
ja men det gør jeg jo ikke her, da jeg har lavet SELECT i forespørgsel i Access

det er i linien jeg åbner denne forespørgsel hvor jeg gerne vil have en WHERE betingelse med!
Avatar billede webbe Nybegynder
20. august 2001 - 12:15 #3
Kan du ikke lave en betingelse i din forespørgsel i Access så???

Vil dog umiddelbart mene at det er bedre at åbne din Connection via ASP og lave en sql-forespørgsel ned i din Access-DB!
Avatar billede tmceu Praktikant
20. august 2001 - 12:16 #4
Hvis du bruger en parameter forespørgsel i Access, kan du prøve at kigge på Command objektet (hvor du kan anvende parametre) i stedet for blot at åbne en tabel. Du kan ikke kombinere den lette åbning af en forespørgsel, ved blot at skrive navnet, med parametre. Det er enten simpel åbning af en tabel/forespørgsel, en fuld SQL sætning i ASP koden eller command objektet.
Avatar billede harlequin Nybegynder
20. august 2001 - 12:18 #5
det har jeg prøvet med uden held, hvorfor er det bedre at skrive SQL på ASP siderne end i Access ?
Avatar billede tmceu Praktikant
20. august 2001 - 12:20 #6
Fordi du ofte først kender parametrene til WHERE delen på ASP siden, ellers er det jo bare en statisk forespørgsel, ikke ?
Avatar billede tmceu Praktikant
20. august 2001 - 12:24 #7
Du kan evt. også kigge på recordsetobject.Filter egenskaben. Hvis din forespørgsel eks. er 80% statisk og du derfor gerne vil have din select i Access, kan du returnere hele recordsetet og derefter smide et filter på det. Dette vil du give noget overhead, hvor meget kan jeg ikke vurdere.
Avatar billede webbe Nybegynder
20. august 2001 - 12:27 #8
Kan du ikke vise noget kode???
Det gør det noget lettere at hjælpe dig!
Avatar billede harlequin Nybegynder
20. august 2001 - 12:28 #9
tmceu> tak for svaret, det er ikke fordi at jeg vil bruge den helt store løsning på dette, så det er nok lettest hvis jeg laver min SQL forespørgelse på ASP siderne.

Men ved du om hvad der er bedst, at lave SQL forespørgelsen i Access eller på ASP siderne ?
Avatar billede tmceu Praktikant
20. august 2001 - 12:35 #10
Generelt kan man sige at det er bedst at lave selektering af data så tæt på datakilden som muligt. Men det er principielt det samme der sker, om du kører en SQL forespørgsel når du åbner dit recordset, eller direkte på Access forespørgslen.

Jeg mener årsagen til at du oftest bør gøre det i ASP koden er som jeg skrev før, at du ofte først kender dine parametre til forespørgslen i ASP koden. Dette kan eks. være en bruger der udfylder et felt i en formular, som så er en parameter til forespørgslen. Denne kan du af gode grunde ikke ligge ind i Access forespørgslen.

På \"rigtige\" databaser, anvender man ofte stored procedures, som eks. kan være en SQL select, der kører igen og igen, som man så bare sender forskellige parametre til.
Avatar billede harlequin Nybegynder
20. august 2001 - 12:41 #11
OK takker
:)

harleqin
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester