Avatar billede simsen Mester
16. juli 2003 - 16:17 Der er 25 kommentarer og
1 løsning

Tage id med over til ny asp side og så checke på den

Hejsa alle
Jeg har 2 asp sider.

Den første henter jeg fra tabel 1, hvor jeg henter Hovedmenunavne. Det gør jeg sådan:

<A HREF="mellemmenu.asp?ID=<% Response.Write(rs.fields("Hovedmenunavn").value) %>"><% Response.WRite(RS.Fields("Hovedmenunavn").value) %></a>

Når jeg så lader musen falde hen over den - kan  jeg se den skriver mellemmenu.asp?ID=Hatte

Nu vil jeg så på den næste side (mellemmenu.asp) gerne have det ID med over altså Hatte, hvor jeg har lavet et link til tabel 2, der indeholder netop også et felt der hedder Hovedmenunavne (og selvfølgelig under den er der flere Hatte og andre ting).

Dette gør jeg sådan her:

call ChooseTableWhereSort ("Mellemmenu", "Hovedmenunavn", "ID", "mellemmenunavn asc")

<%
do While Not rs.eof
%>
<tr>
<td class=h4><A HREF="mellemmenu.asp?ID=<% Response.Write(rs.fields("Mellemmenunavn").value) %>"><% Response.WRite(RS.Fields("Mellemmenunavn").value) %></a></td>

Men jeg kan ikke få det til at lykkes - den skriver en fejlmedd. hver gang der siger:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

Hvordan får jeg det til at lykkes - at når jeg trykker på et a href - så skal den tage den id medover så jeg kan søge på den i en anden tabel?
Avatar billede thesurfer Nybegynder
16. juli 2003 - 16:40 #1
er det sql linien den melder fejl ved?
Avatar billede simsen Mester
16. juli 2003 - 16:54 #2
thesurfer

Ja det er så - når jeg bruger den samme linie - sådan her:

call ChooseTableWhereSort ("undermenu", "mellemmenuID", "15", "undermenuID asc")

fejler den ikke. Men er jo ikke lige den tabel jeg har brug for - Tror det har noget at gøre med at det er en tekst???
Avatar billede thesurfer Nybegynder
16. juli 2003 - 17:00 #3
jeg synes ikke rigtigt at have set "ChooseTableWhereSort" før.. er det en funktion du selv har lavet/sat ind?
Avatar billede simsen Mester
16. juli 2003 - 17:02 #4
Yeps - den ser sådan her ud - og fungerer også godt nok - har brugt den med call ChooseTableWhereSort ("undermenu", "mellemmenuID", "15", "undermenuID asc")

Den ser sådan her ud:

'Vælger tabel med Where og Like i sorteret rækkefølge
Sub ChooseTableWhereSort(sTable,sWhere,sLike,sSortBy)
set rs=Server.CreateObject("ADODB.recordset")
sqlstmt = "SELECT * FROM " & stable & " Where " & sWhere & " Like '" & sLike & "' order by " & sSortBy
rs.open sqlstmt, connectme, adOpenStatic, adLockOptimistic
End Sub
Avatar billede thesurfer Nybegynder
16. juli 2003 - 17:04 #5
prøv at skrive: response.write sqlstmt
.. og kontrollere at der ikke er et felt der er tomt el.lign..
Avatar billede simsen Mester
16. juli 2003 - 17:09 #6
Har prøvet at skrive response.write sqlstmt både før og efter selve sqlstmt men den skriver ingenting ud - andet end den først omtalte fejlmedd.
Avatar billede thesurfer Nybegynder
16. juli 2003 - 17:14 #7
du skulle jo gerne få udskrevet de værdier du giver CTWS..

der skulle vel stå:

SELECT * FROM undermenu where mellemmenuID Like '15' order by undermenuID asc

hvis ikke, prøv selv at skrive linien..

burde der ikke stå Like '%" &sLike & "%'" ?
Avatar billede simsen Mester
16. juli 2003 - 17:28 #8
thesurfer

Der skal ikke stå '%" &sLike & "%' - det var endnu flovere - havde stavet forkert :-(

Nu fremkommer den ikke med en fejl - men skriver heller intet ud - det er som om den ikke aner hvad ID er - som jeg har fra side 1 af???
Avatar billede thesurfer Nybegynder
16. juli 2003 - 17:33 #9
hahaha :) ahem.. sorry mate.

1) bruger du ikke Option Explicit?

2) i stedet for at bruge den første side (den med linket), prøv først at få denne side til at virke, ved selv at indtaste værdierne UDEN brug af CTWS.. hvis det virker, prøv med CTWS..
hvis det så ikke virker, er det CTWS der er noget galt med.. hvis det virker, må du nærlæse din kode der henter querystringen fra den anden side + hvordan siden sender ID..
Avatar billede simsen Mester
16. juli 2003 - 17:36 #10
Hmmmmmmmmm - nu kører du rundt med en lille forsagt blondine......sådan føler jeg mig ihvertfald med de udtryk du kommer med *LOL*

Aner ikke hvad Option Explicit er - men prøver jeg at køre siden - hvor jeg f.eks. skriver hatte istedet for at hente ID fra forrige side af - så kører siden perfekt ud.

Og så aner jeg heller nada hvad CTWS er?
Avatar billede thesurfer Nybegynder
16. juli 2003 - 17:48 #11
LOL :) det var ikke sådan ment! :)

med Option Explicit SKAL du definiere din variabler INDEN du kan bruge dem.. når du skriver et bogstav/ord kontrollerer den om bogstavet/ordet er en kommando, hvis det ikke er kontrollerer den om det er en variable.. hvis det så hverken er en kommando eller an variable, tja, så har du lavet en stavefejl som skal rettes :)

mht til dit CTWS.. jeg gider ikke at skrive ChooseTableWhereSort hver eneste gang.. og selvom det er nået man selv har lavet, kan der jo godt være alligevel.. det er altid godt at dobbelchecke hvis man er i tvivl (også selvom man ikke er) :)

har du dobbelchecket?
Avatar billede thesurfer Nybegynder
16. juli 2003 - 17:49 #12
rettelse: kan der jo godt være fejl alligevel..
Avatar billede thesurfer Nybegynder
16. juli 2003 - 18:31 #13
her er et svar, hvis du kan bruge det jeg har skrevet..
Avatar billede simsen Mester
16. juli 2003 - 19:02 #14
Sorry - har lige været smidt af nettet - derfor jeg ikke har reageret.

Ved godt det ikke var sådan ment - var jo også bare min egen følelse ;-)

Hmmmmmm - er vist ikke mig der har har udtrykt mig godt nok - jeg har ingen kode der henter noget fra side 1 af - jeg tager bare det den viser nede i (kan ikke huske hvad den kaldes rigtigt) kommandolinien. at den siger den tager :
mellemmenu.asp?ID=Hatte - når jeg lader musen køre hen over <a href> tagget på side 1 - og nu er det så jeg skal bruge den ID til at spørge på noget på side 2.

Gav det mening?

Mht. CTWS - så fungerer den perfekt skriver jeg:

call ChooseTableWhereSort ("Mellemmenu", "Hovedemenunavn", "Hatte", "mellemmenunavn asc"

Men istedet for teksten Hatte er det så, jeg gerne vil have den ID skrevet fra side 1
Avatar billede thesurfer Nybegynder
16. juli 2003 - 19:04 #15
du vil altså selve id nummeret, og ikke den tekst der hører til id'en?
hvis det er det, prøv med response.write rs("id")
Avatar billede thesurfer Nybegynder
16. juli 2003 - 19:05 #16
rettelse: "vil altså have selve nummeret..".. stavefejl og manglede ord er gratis.. :)
Avatar billede thesurfer Nybegynder
16. juli 2003 - 19:09 #17
input:
<a href="mellemmenu.asp?ID=<%response.write rs("id") %>">Hatte</a>

ouput:
<a href="mellemmenu.asp?ID=15">Hatte</a>

(15 i stedet for hatte i <a href>)
Avatar billede simsen Mester
16. juli 2003 - 19:09 #18
Nej jeg vil ikke have id nummeret - der er ikke noget i dette tilfælde - der er kun en tekst - men jeg vil have selve Hatte teksten med over og så vil jeg have at vide, hvordan jeg får den ned og stå, hvor der nu står "Hatte",
Avatar billede thesurfer Nybegynder
16. juli 2003 - 19:12 #19
nu håber jeg at jeg har fat i det du vil ha'..

du bruger response.write request.querystring("id") (krydser fingre) :)
Avatar billede simsen Mester
16. juli 2003 - 19:16 #20
Skal den ind og stå på side 1 eller skal den stå på side 2?
Avatar billede thesurfer Nybegynder
16. juli 2003 - 19:20 #21
side 1 sender ID "op i urlen" og går videre til side 2
side 2 henter ID "ned fra urlen" og putter den i din <a> tag (eller hvor du nu vil ha' den..)
Avatar billede thesurfer Nybegynder
16. juli 2003 - 19:20 #22
..dvs side 2 :)
Avatar billede simsen Mester
16. juli 2003 - 19:42 #23
Det jeg skulle, var at skrive

stringID=request.querystring("ID")

og så bruge den variabel istedet for Hatte - men takker dig mange gange for at ville hjælpe :-)
Avatar billede thesurfer Nybegynder
16. juli 2003 - 19:44 #24
virker det nu?
Avatar billede simsen Mester
16. juli 2003 - 19:57 #25
Yeps - det går som en drøm :-)
Avatar billede simsen Mester
16. juli 2003 - 19:58 #26
Men det der manglede var at jeg erklærede en variabel til den ID, jeg hentede med over :-)
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