Avatar billede killstun Nybegynder
21. januar 2005 - 09:12 Der er 16 kommentarer og
1 løsning

Visning af kolonne af samme værdi

Hvorledes kan jeg lave nedenstående linie om til at den kun skal vise de poster som har den samme værdi i kolonne "forbogstav"? Fx hvis kolonnen har 2 poster med værdien A, skal den kun vise disse to og ikke andre poster med fx værdien B.

Sådan som scriptet er herunder, viser den alle poster i kolonnen "forbogstav", uanset hvilken værdier de har. Dvs. både de poster med værdien A, B, C osv.

strSQL = "SELECT * FROM ordbog WHERE forbogstav = forbogstav"
Avatar billede fennec Nybegynder
21. januar 2005 - 09:26 #1
Jeg er ikke helt med på hvad du mener.... Kan du forklare det anderledes??
Og hvad nu hvis en kolonne har 2 poster mad A og 2 med B??
Avatar billede lorentsnv Nybegynder
21. januar 2005 - 09:26 #2
Det du vel ønsker, er at resultatet af SQL-sætningen skal blive f.eks.
"SELECT * FROM ordbog WHERE forbogstav = 'A'"

I din asp kan du have en variabel, der indeholder en bogstav:

Dim sForbogstav
sForbogstav = 'A'
strSQL = "SELECT * FROM ordbog WHERE forbogstav = '" & sForbogstav & "'"
Avatar billede lorentsnv Nybegynder
21. januar 2005 - 09:29 #3
Ud fra hvad du skriver, vil jeg tro at du har et felt som heder forbogstav, og kun indeholder første bogstav i et ord. Eller, hvis du kun f.eks. har et felt der heder 'Tekst' kan du søge frem alle med en bestemt forbogstav på føgende måde:

Dim sForbogstav
sForbogstav = 'A'
strSQL = "SELECT * FROM ordbog WHERE Left(Tekst,1) = '" & sForbogstav & "'"
Avatar billede fennec Nybegynder
21. januar 2005 - 09:32 #4
lorentsnv >>
Ahhh ja, måske er det det killstun mener. Det kan jeg da godt se nu :o)
Avatar billede killstun Nybegynder
21. januar 2005 - 09:33 #5
lorentsnv, hvordan indføres resten af bogstaverne så i scriptet? Det går ikke at jeg skal lave en side til hvert bogstav i alfabetet nemlig. Kan du lave et eksempel med fx bogstaverne A & B, for så ville jeg blive rigtig glad.
Avatar billede fennec Nybegynder
21. januar 2005 - 09:39 #6
Du kan gøre det på linket:
<a herf="ordbog.asp?show=A">A</a>
<a herf="ordbog.asp?show=B">B</a>

i koden:
show = request.querystring("show")
if trim(show) = "" then show = "A" '<-- Default A
set rs = conn.execute("select * from ordbog WHERE forbogstav = '" & show & "'")
Avatar billede killstun Nybegynder
21. januar 2005 - 10:35 #7
Det dutter ikke rigtig, da siden er en include fil i venstre side, og adresse feltet bliver anvendt til at vise ID (autonummerering). What to do?
Avatar billede fennec Nybegynder
21. januar 2005 - 10:43 #8
Du bliver jo nød til at bestemme hvilke bogstav der skal vises. Hvor skal det komme fra???
Avatar billede killstun Nybegynder
21. januar 2005 - 10:49 #9
I den post der bliver vist, har jeg en kolonne der hedder forbogstav. Lad os sige at der står "A" i denne. Kunne man ikke indlæse denne værdi fra kolonnen via rs("forbogstav") og derfra vise andre poster som har samme værdi i denne kolonne?
Avatar billede fennec Nybegynder
21. januar 2005 - 10:53 #10
Det kan man godt. Du skal bare have et recordset til:

set rs = conn.execute("select ....") '<-- Din normale select
if not rs.eof then
  set rs2 = conn.execute("select * from ordbog WHERE forbogstav = '" & rs("forbogstav") & "'")
  ...
  ...
end if
Avatar billede killstun Nybegynder
21. januar 2005 - 11:12 #11
Oki thx, afprøver det lige om vender tilbage indenfor ½ time.
Avatar billede killstun Nybegynder
21. januar 2005 - 11:33 #12
Så fik jeg afprøvet det, men jeg er meget usikker på hvordan det skal opsættes. Kan du prøve at rette nedenstående script for mig, så det kommer til at passe med dit forslag?

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/vti_log/ordbog.mdb")
Conn.Open DSN
sql = "SELECT * FROM ordbog WHERE forbogstav = forbogstav"
Set rs = Conn.Execute(strSQL)
Do While Not rs.EOF
Response.write "<a href='beskrivelse.asp?id=" & rs("ID") & "'>"
Response.write rs("overskrift")
Response.write "</a>"
rs.MoveNext
Loop
Conn.Close
Set Conn = Nothing
%>
Avatar billede lorentsnv Nybegynder
21. januar 2005 - 11:42 #13
Jeg kigger fortsat lidt med, men er lidt usikker på hvad du vil lave. Med mindre fennec har det klart for sig, skulle du måske forsøge at give en lidt mere udfyldende beskrivels af hvad du vil lave.

Vil du vise alle bogstaver, med tilhørende ord fra ordbogen samlet, men grupperet på bogstav?
Avatar billede killstun Nybegynder
21. januar 2005 - 11:52 #14
Nej, jeg vil kun vise de bogstaver, som det pågældende emne omhandler. Jeg giver et eksempel:

Jeg har en ordbog. Øverst i toppen har jeg alfabetet. Jeg klikker på A, og derefter fremkommer en boks i venstre side via request.querystring("forbogstav") med alle ord der starter med A. Så langt så godt. Jeg vil gerne læse lidt om fx ADSL, så det klikker jeg på. Jeg føres videre via request.querystring("ID"), og ude i venstre side vil jeg gerne beholde alle de andre ord som stater med A. Men dette sker ikke da jeg ikke længere kan anvende querystring, da den anvendes til ID for at fremkalde det pågældende emne (i dette tilfælde ADSL).
Avatar billede fennec Nybegynder
21. januar 2005 - 12:09 #15
Jeg er lidt mere med nu. Tror bare du skal sende forbogstav med:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/vti_log/ordbog.mdb")
Conn.Open DSN
sql = "SELECT * FROM ordbog WHERE forbogstav = '"& request.querystring("forbogstav") &"'"
Set rs = Conn.Execute(strSQL)
Do While Not rs.EOF
Response.write "<a href='beskrivelse.asp?forbogstav="& request.querystring("forbogstav") &"&id=" & rs("ID") & "'>"
Response.write rs("overskrift")
Response.write "</a>"
rs.MoveNext
Loop
Conn.Close
Set Conn = Nothing
%>
Avatar billede killstun Nybegynder
22. januar 2005 - 14:03 #16
Takker for hjælpen. Har fået det til at virke nu.
Avatar billede lorentsnv Nybegynder
23. januar 2005 - 12:02 #17
>>fennec
Lad os dele poengene her. Du har i lige stor grad været med til løsningen.
Jeg har oprættet http://www.eksperten.dk/spm/583779.
Smid et svar her, og du får 100 points.
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