Avatar billede the-lion Nybegynder
16. august 2001 - 08:30 Der er 7 kommentarer og
1 løsning

Udtrækning af kolonne navne fra access database...

Hejsa :-)

Jeg mangler lidt hjælp til dette :

Hvordan får man den til at trække kolonne overskrifterne ud automatisk, og så tilføje en tekst lige efter, som den så skal tage fra databasen også?

Her er noget af den nuværende kode :
strSQL = \"SELECT * FROM fabrikat INNER JOIN \" & Request.QueryString(\"varetype\") & \" ON fabrikat.fabrikatnr = \" & Request.QueryString(\"varetype\") & \".fabrikat WHERE \" & Request.QueryString(\"varetype\") & \".varenr = \'\" & Request.QueryString(\"varenrX\") & \"\' \"
Set database = con.Execute(strSQL)

Som laver sql strengen og samler 2 tabeller....

Så er det meningen at den selv skal finde overskrifterne der findes i en tabel som har navn efter en variabel, som den har fået med ind, da den gik ind på siden.... disse 2 variabler, får den på forhånd i(I dette eksempel... kommer an på hvad brugeren har klikket på inden)

varetype = koeleskab
varenr = kb214

Med andre ord, skal den gå ned i databasen og finde den tabel der har samme navn som variablen varetype, og derefter tage alle felter som den tabel har og skrive dem som overskrifter og uder dem, skal den så udskrive oplysningerne om det varenr, som er = den anden variabel..... 


På forhånd tak for hjælpen :-)

HJÆÆÆÆÆLLLLLPPPPPP..........
Avatar billede nuno Nybegynder
16. august 2001 - 08:49 #1
bare lige til information:

ifølge http://www.eksperten.dk/info_regler.phtml


så må man ikke oprette det samme spm 2 gange - bare fordi man ikke fik svar første gang!
http://www.eksperten.dk/spm/98232 :)


jeg vil dog anbefale dig at bruge adox til dit forehavende

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/admscadoapireference.asp



med adox kan du nemt hente oplysninger ud om tabeller - fx tabelnavne

/nuno

Avatar billede the-lion Nybegynder
16. august 2001 - 12:22 #2
eEn lille ekstra forklaring : Hvordan får man ASP til at udtrække data fra en access database, når den først skal tage titlerne i en bestemt tabel og derefter de data som er i en bestemt række

jeg har variablerne, som definer hvilken tabel den skal hente data fra, og den første kolonne i tabellerne hedder altid varenr, og der er så også en variabel, som forklarer hvilket varenr, det er den skla hente data om...
Avatar billede nuno Nybegynder
16. august 2001 - 12:45 #3
så laver du et recordset med tabelnavne fra din tabel med titler. Derefter udtrækker du data i en bestemt række i en bestemt tabel med det navn fra dit recordset som du lige har åbnet.

fx

Set database = con.Execute(strSQL)

Do while not database.eof
    response.write \"<b>\" & database(\"varetype\") & \"</b><br>\"
    strSQL2 = \"SELECT * FROM \" & database(\"varetype\")
    Set Data = con.Execute(strSQL2)
    Do while not Data.eof
        response.write \"&nbsp;&nbsp;\" & Data(0) & \"&nbsp;&nbsp;-&nbsp;&nbsp;\" & Data(1) & \"<br>\" \' osv. alt efter hvor mange felter du har
        Data.movenext
    Loop
    database.movenext
Loop



Jeg vil tro det er noget i den retning du søger.

Første loop gennemløber det udtræk du har hvor du får tabelnavnene ud - andet loop gennemløber data i disse tabeller.



/nuno
Avatar billede the-lion Nybegynder
16. august 2001 - 13:09 #4
ja, det tager så alle data fra første vare, og går så vidre til næste varer, men den skal kun tage fra 1 vare , men skal også tage kolonne overskrifterne med, og det gør den ikke her, der tager den kun hvad der står i felterne...
Avatar billede the-lion Nybegynder
16. august 2001 - 13:56 #5
de over skrifter jeg tænker på er :

DB eksempel :

varenr  - maal  - beskrivelse  - pris
kb123    60*12  Lille smart    2.187
mv342    12*5    Hurtig        3.546

Og det den så skal gøre, er dette

Hvis den har fået variabel : varenr = mv342

så skal den selv fange dette :
varenr : mv342
maal : 12*5   
beskrivelse : Hurtig
pris : 3.546

Men nu kan den fange hvad der står i felterne om varen, men den tager ikke kolonne overskrifterne med og det er det spørgsmålet går ud på HVORDAN? :-)
Avatar billede nuno Nybegynder
16. august 2001 - 16:34 #6
hmm fx sådan her

\'den kode du allerede har
strSQL = \"SELECT * FROM fabrikat INNER JOIN \" & Request.QueryString(\"varetype\") & \" ON fabrikat.fabrikatnr = \" & Request.QueryString(\"varetype\") & \".fabrikat WHERE \" & Request.QueryString(\"varetype\") & \".varenr = \'\" & Request.QueryString(\"varenrX\") & \"\' \"
Set database = con.Execute(strSQL)

\'her tæller jeg hvor mange felter der er udtrukket i recordsettet
iFieldCount = database.Fields.Count


if not database.eof then
    \' her gennemløber jeg de felter der er udtrukket
    for i = 0 to iFieldCount
        response.write database(i).name & \": \" & database(i) & \"<br>\"
    next
end if




Hvis du nu får for mange felter med - så skal du i stedet for SELECT *  bruge SELECT fabrikat.felt1, fabrikat.felt2, \" & Request.QueryString(\"varetype\") & \".felt1, \" &  Request.QueryString(\"varetype\") & \".felt2 INNER JOIN......... osv. osv.)

altså så du kun får de felter med du vil vise.

/nuno

 
Avatar billede the-lion Nybegynder
16. august 2001 - 17:03 #7
Tak for hjælpen :-)
Avatar billede nuno Nybegynder
16. august 2001 - 17:08 #8
np - tak for point :)
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