Avatar billede ddobbeltv Nybegynder
08. april 2003 - 15:23 Der er 3 kommentarer og
1 løsning

Hentning af bynavn når man har postnummer : har desværre kun 15 p

Hej hej, jeg er alt for grøn i asp, og har rodet mig ud i noget I måske kunne hjælpe med..

Jeg har lavet et spørgeskema online, hvor jeg har fået 500 besvarelser, jeg valgte kun at spørge om post nummer, da jeg trode jeg sagtens kunne hente bynavnet i en database hvis jeg havde postnummere... måske kender i det hvor man tror lidt for meget om sig selv, men det var i hvert fald tilfældet her

Jeg ved ikke om jeg skal poste alt koden eller bare forklare hvad problemet er, hvis i skal bruge alt koden skal i bare lige sige til..

Jeg laver min tabel, og siger den skal "while not svar.eof " hente alle dataene fra felt "sp4" det gør den også fint nok, men når jeg så tilføjer en colonne mere hvor jeg beder den om at:

set posttilby = Server.CreateObject("ADODB.Recordset")
posttilby.open "select * from postnr where Postnr ='" & hentetpostnummer & "'", database
hentetpostnummer = answer.fields("sp4")
response.write (posttilby.fields("Bynavn"))%>

hopper den frem og siger :

Tekniske oplysninger (for supportteknikere)

Fejltype:
ADODB.Field (0x80020009)
Enten er BOF eller EOF sand, eller den aktuelle post er blevet slettet. Den anmodede handling kræver en aktuel post.
/agger/admin/resultat/TMPjxldqcu0m9.asp


Jeg har sat overnævnte kode nede i "while not" løkken er det forkert ? hvis jeg sætter den højere oppe, skriver den bare det første resultat igen og igen

Håber på der lige er en der måske kan give mig et lille råd.. Måske det er vigtigt at nævne det er en ms access database...

Håber på et svar..

Jacob Jensen
Avatar billede christian Nybegynder
08. april 2003 - 16:02 #1
det er fordi dit sql kald ikke retunere noget...

du skal ændrer det til:
set posttilby = Server.CreateObject("ADODB.Recordset")
posttilby.open "select * from postnr where Postnr ='" & hentetpostnummer & "'", database
hentetpostnummer = answer.fields("sp4")
if not posttilby.eof then
response.write (posttilby.fields("Bynavn"))
else
response.write "Bynavn blev ikke fundet for postnummer: " & hentetpostnummer
end if
%>

Det ville desuden være bedre hvis du lavede en sql join, men det skal måske vente til du er blevet mere hard-core til asp :-)
Avatar billede ddobbeltv Nybegynder
09. april 2003 - 15:15 #2
nu skriver den sådan set bare "Bynavn blev ikke fundet for postnummer: 9990" og ¨så videre... jeg har brugt følgende kode :

i head :

<%
Set database = Server.CreateObject("ADODB.Connection")
database.Open ("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\inetpub\wwwroot\agger\list\besvarelser.mdb")


set answer = Server.CreateObject("ADODB.Recordset")
answer.open "select * from svar ORDER BY sp4 DESC", database

set posttilby = Server.CreateObject("ADODB.Recordset")
posttilby.open "select * from postnr2 where Postnr ='" & hentetpostnummer & "'", database
%>

og så nede i while not løkken står der inde i den colonne jeg gerne vil have den til at skrive navnet :

<%
    hentetpostnummer = answer.fields("sp4")
    if not posttilby.eof then
    response.write (posttilby.fields("Bynavn"))
    else
    response.write "Bynavn blev ikke fundet for postnummer: " & hentetpostnummer
    end if%>

nogen der kan se fejlen ?
Avatar billede ddobbeltv Nybegynder
09. april 2003 - 15:16 #3
Avatar billede ddobbeltv Nybegynder
09. april 2003 - 15:18 #4
Hov.. nu virker det.. mange tak !!!
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