Avatar billede jesperbaldur Nybegynder
14. maj 2002 - 09:36 Der er 21 kommentarer og
3 løsninger

Jeg har lavet en hjemmeside som skal udtage nogle oplysninger fra

Jeg har lavet en hjemmeside som skal udtage nogle oplysninger fra to tabeller. Jeg opretter to forbindelser til hver sin tabel, men skolens server accepterer kun en forbindelse til databasen. Er der ikke en måde hvorved man kan kopiere feltet fra den ene tabel hen til den anden, altså ned i databasen.
det er en access-database
Avatar billede keysersoze Ekspert
14. maj 2002 - 09:39 #1
du behøver vel heller ikke to forbindelser - du burde kunne nøjes med én databaseforbindelse, men to sql-særninger
Avatar billede proaccess Nybegynder
14. maj 2002 - 09:41 #2
Hvis der er en forbindelse mellem dine data, kan du også vælge at lave en query (SQL), som du så laver forbindelsen til...
Avatar billede jesperbaldur Nybegynder
14. maj 2002 - 09:41 #3
hvordan laver man det, det er jo fra to forskellige tabeller. Her er koden:
    set conn = server.CreateObject ("ADODB.Connection")     
    conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath ("../it/db/db1.mdb")
    set rs = server.CreateObject ("ADODB.Recordset")     
rs.Open "SELECT * FROM efterlysninger where gruppe='"& x &"'", conn, 1
kan man udtrække fra flere tabeller?? og i givet fald hvordan??
Avatar billede hansk Nybegynder
14. maj 2002 - 09:54 #4
Du kan udtrække på flere måder. Hvis dine tabeller er ens opbygget kan du sammenkæde to SQL's ved en union. Hvis du har fælled nøgler, kan du sammenkæde tabellerne via en join. Hvordan ser dine tabeller ud?
Avatar billede jesperbaldur Nybegynder
14. maj 2002 - 10:03 #5
den ene har flg felter:
brugernavn, password, fornavn, efternavn, adresse, postnr, by, tlfnr, email
og den anden:
brugernavn, gruppe, genstand, beskrivelse, sidst_set, geografisk_placering

jeg har ikke nogle primær nøgle, men er det muligt at lave det ved disse tabeller??
Avatar billede hansk Nybegynder
14. maj 2002 - 10:06 #6
Umiddelbart ser det ud til at du kan bruge brugernavn som nøgle. I givet fald kan du lave en SQL som flg:

SELECT * from tbl1,tbl2
WHERE tbl1.brugernavn=tbl2.brugernavn
Avatar billede proaccess Nybegynder
14. maj 2002 - 10:08 #7
Du kan om ikke andet så lave et ID-felt af typen autonummer på begge tabeller...

Samtidig kan det betale sig at indexere brugernavn i begge tabeller, og så bruge følgende forespørgsel:

SELECT T1.*, T2.* FROM Brugere AS T1 LEFT JOIN Efterlysninger AS T2 ON T1.Brugernavn=T2.Brugernavn;

Derved får du ALLE data med i een forespørgsel...
Avatar billede hansk Nybegynder
14. maj 2002 - 10:11 #8
Du vil formentlig kun have de rækker ud hvor der er efterlysninger, så derfor skal du iike bruge LEFT JOIN.
Avatar billede proaccess Nybegynder
14. maj 2002 - 10:15 #9
>hansk: Med mindre han også skal bruge navnene på brugere uden efterlysninger... ;0)
Avatar billede hansk Nybegynder
14. maj 2002 - 10:16 #10
nemlig. Hvad betyder ;0) ?
Avatar billede proaccess Nybegynder
14. maj 2002 - 10:18 #11
Jeg smiler bare til dig (med en temmelig stor næse)...
Avatar billede hansk Nybegynder
14. maj 2002 - 10:22 #12
Der er en masse af disse "undocumented character features" rundt omkring på dette site. Findes der en samlet beskrivelse et sted, jeg vil gerne have en der græder?
Avatar billede proaccess Nybegynder
14. maj 2002 - 10:31 #13
>hansk: Nu skal du ikke være så ked af det... *SNØFT* 
Nej, jeg kender ikke lige eet samlet sted for dem alle, men du kan jo prøve at se på diverse SMS-sider...
Avatar billede proaccess Nybegynder
14. maj 2002 - 10:34 #14
Jo, forresten...

    http://smiley.8k.com/index.htm
Avatar billede hansk Nybegynder
14. maj 2002 - 10:46 #15
Mægtigt.  :-7
Avatar billede proaccess Nybegynder
14. maj 2002 - 11:07 #16
blærerøv...
Avatar billede proaccess Nybegynder
14. maj 2002 - 11:14 #17
Kender du så denne:

          \|||/
          (o o)
----ooO-(_)-Ooo--------
Avatar billede hansk Nybegynder
14. maj 2002 - 11:20 #18
Det må give mindst 9 for det kunstneriske indtryk.
Avatar billede jesperbaldur Nybegynder
14. maj 2002 - 11:47 #19
jeg kan ikke få det til at virke. Det jeg vil have er at den skal vælge
felterne brugernavn, gruppe, genstand, beskrivelse, sidst_set, geografisk_placering fra tabellen efterlysninger hvor x = "Fjernsyn" og vælge feltet "email" fra tabellen bruger hvor efterlysninger.brugernavn = bruger.brugernavn. Jeg har forsøgt med flg kode:
dim x
x = Request.Querystring("gruppe")

    set conn = server.CreateObject ("ADODB.Connection")     
    conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath ("../it/db/db1.mdb")
    set rs = server.CreateObject ("ADODB.Recordset")     
rs.Open "SELECT * FROM efterlysninger, bruger where efterlysninger.brugernavn = bruger.brugernavn, conn, 1
og får flg fejl
"Unterminated string constant"
ved denne kode tager jeg heller ikke hensyn til at x = "Fjernsyn"
Avatar billede proaccess Nybegynder
14. maj 2002 - 11:52 #20
rs.Open "SELECT Efterlysninger.*, bruger.email FROM Efterlysninger INNER JOIN Bruger ON Efterlysninger.brugernavn=Bruger.brugernavn WHERE x='Fjernsyn'", conn, 1
Avatar billede hansk Nybegynder
14. maj 2002 - 11:57 #21
Husk at sætte " efter din selektstreng.
Avatar billede terry Ekspert
14. maj 2002 - 12:04 #22
rs.Open "SELECT * FROM efterlysninger, bruger where efterlysninger.brugernavn = '" & bruger.brugernavn & "'", conn, 1

NOT SURE WHAT bruger.brugernavn  is though!
Avatar billede jesperbaldur Nybegynder
14. maj 2002 - 12:27 #23
jeg får stadig samme fejl:
Unterminated string constant
line 91, column 106 (linie 91 er rs.Open....)  hvad gør jeg forkert??? Koden:
set conn = server.CreateObject ("ADODB.Connection")     
    conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath ("../it/db/db1.mdb")
    set rs = server.CreateObject ("ADODB.Recordset")     
rs.Open "SELECT efterlysninger.*, bruger.email FROM efterlysninger INNER JOIN Bruger ON efterlysninger.brugernavn = bruger.brugernavn  WHERE x='Fjernsyn'", conn, 1
Avatar billede hansk Nybegynder
14. maj 2002 - 12:43 #24
Prøv at starte med en simplere streng og så gå ud derfra:

rs.Open "SELECT efterlysninger.*, bruger.email FROM efterlysninger,bruger WHERE efterlysninger.brugernavn = bruger.brugernavn;", conn, 1
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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