Avatar billede raf Nybegynder
17. juli 2001 - 13:48 Der er 21 kommentarer og
1 løsning

Visning af bestemte records

Hvordan kan jeg opsætte en side de viser ca. 8 records fra en access database. Det skal være 8
records som jeg vælger og ikke efter et tilfældgit princip
Avatar billede nordclc Nybegynder
17. juli 2001 - 13:50 #1
Avatar billede nordclc Nybegynder
17. juli 2001 - 13:51 #2
Hvis du stadig er i tvivl så spørg bare løs.
Avatar billede jacobve Nybegynder
17. juli 2001 - 13:57 #3
skal det være de seneste 8 eller hvordan skal udvælgelsen foregår?
Avatar billede erikjacobsen Ekspert
17. juli 2001 - 13:58 #4
Hvis du har et id felt kan du

  select * from tabelnavn where id=7 or id=8 or id=116 or id=16 or id=2 or id=1023
Avatar billede runesoft Nybegynder
17. juli 2001 - 14:24 #5
erikjacobsen...  Så foretrækker jeg nu:

SELECT * FROM tabelnavn WHERE id IN (1,2,6,1023)
Avatar billede erikjacobsen Ekspert
17. juli 2001 - 14:35 #6
er det muligt i Access er det meget bedre. I MySql bliver der lavet binær søgning
på tallene, og det er hurtigere end en masse OR
Avatar billede runesoft Nybegynder
17. juli 2001 - 14:37 #7
Jeg har lige været inde og teste det i access. Den er helt i vinkel :-)
Avatar billede erikjacobsen Ekspert
17. juli 2001 - 14:41 #8
Så lærte jeg det ;)  Også i Access 97 ? (ja, nu strammer vi den ....)
Avatar billede runesoft Nybegynder
17. juli 2001 - 14:45 #9
Det har jeg desværre ikke lige mulighed for at teste :-(
Avatar billede raf Nybegynder
17. juli 2001 - 17:55 #10
Jeg får denne fejl
select * from PRODUKTER where ID in (1,2,3)
-------^
Avatar billede nordclc Nybegynder
17. juli 2001 - 23:26 #11
Følgende er taget og rettet fra: http://www.html.dk/tutorials/asp/lektion19.asp

Kopier alt under stregen ind i et dokument, og gem det som f.eks. hent_produktnavn.asp

Husk at rettet din_database.mdb til navnet på din database. Ligeledes skal du rette Produktnavn til et feltnavn fra din tabel produkter.

//Claus
-------------------------------------------------

<html>
<title>Hente data fra database</title>
<head>
</head>
<body>
<%
\' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject(\"ADODB.Connection\")
DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; \"
DSN = DSN & \"DBQ=\" & Server.MapPath (\"din_database.mdb\")
Conn.Open DSN

\' SQL forespørgsel, hent alle kolonner fra tabellen
strSQL = \"select * from PRODUKTER where ID in (1,2,3)\"
\' Udfør forespørgsel (rs indeholder nu resultatet)
Set rs = Conn.Execute(strSQL)

\' Gennemløb Recordset (rs) med en løkke
Do

  \' Udskriv værdien af kolonnen Produktnavn
  Response.Write rs(\"Produktnavn\") & \"<br>\"

  \' Gå til næste Record i rs
  rs.MoveNext

\' Fortsæt indtil rs er gennemløbet (EOF = End Of File)
Loop While Not rs.EOF

\' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>
</body>
</html>
Avatar billede runesoft Nybegynder
18. juli 2001 - 09:37 #12
Her ser jeg umiddelbart ét problem. Du looper før du ved om der er noget i recordsettet. Sæt hellere klausulen ind oppe hvor du skriver do.

Do While Not rs.EOF
  Response.Write rs(\"Produktnavn\") & \"<br>\"
  rs.MoveNext
Loop

Det er ikke nogen fejl, men det er en god måde at gøre det på :-)
Avatar billede nordclc Nybegynder
18. juli 2001 - 09:41 #13
runesoft>> Du har da ret - tak :o)
Avatar billede raf Nybegynder
18. juli 2001 - 15:10 #14
Jeg fik samme fejl men når jeg fjernede \"where ID in (3010,3011,3012)\" lavede siden en lang liste.
Hvordan kan det være at den ikke kan når det er skrevet i linien.
Jeg har tjekket ID numrene og de er ok
Avatar billede nordclc Nybegynder
18. juli 2001 - 15:15 #15
ID er numerisk i basen ikke?
Avatar billede raf Nybegynder
18. juli 2001 - 15:39 #16
I ID rækken er tale om hele tal uden automatisk nummerering og uden dubletter
Avatar billede runesoft Nybegynder
18. juli 2001 - 15:40 #17
paster du ikke lidt af din kode?
Avatar billede raf Nybegynder
18. juli 2001 - 15:45 #18
<%
\' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject(\"ADODB.Connection\")
DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; \"
DSN = DSN & \"DBQ=\" & Server.MapPath (\"../Log/Produkter.mdb\")
Conn.Open DSN

\' SQL forespørgsel, hent alle kolonner fra tabellen
strSQL = \"select * from produkter \"
\' where ID in (3110,3111,3112) ...Der er ingen fejl når dette er fjernet
\' Udfør forespørgsel (rs indeholder nu resultatet)
Set rs = Conn.Execute(strSQL)

\' Gennemløb Recordset (rs) med en løkke
Do While Not rs.EOF
  Response.Write rs(\"Nr\") & \"<br>\" \'Nr er rækkens navn
  rs.MoveNext
Loop

\' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>
Avatar billede runesoft Nybegynder
18. juli 2001 - 15:53 #19
Så prøv da erikjakobsens svar
Avatar billede raf Nybegynder
18. juli 2001 - 17:03 #20
Jge får denne fejl. Kan det være fordi denne opstilling af ID\'s ikke understøttes?

Microsoft OLE DB Provider for ODBC Drivers error \'80040e10\'

[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

/new_version/Tilbud1.asp, line 39
Avatar billede raf Nybegynder
18. juli 2001 - 17:11 #21
Jeg fik det til at virke og har valgt at give nordclc de 30 points da han kom med lektion Nr 19 og viste hvordan tingene hang sammen. Runesoft burde dog også have lidt da han kom med gode rettelser
Hilsen RAF
Avatar billede runesoft Nybegynder
19. juli 2001 - 09:18 #22
Hvad fik det til at virke?
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