Avatar billede mini41 Nybegynder
13. november 2003 - 15:48 Der er 32 kommentarer og
1 løsning

Fejl ved søgning

Jeg har et prb. med dette script.
Der hentes ikke korrekt.

strSQL = "SELECT * FROM travelmate200,travelmate210 WHERE"

strSQL = strSQL & " (travelmate200.partnummer LIKE '" & strKeyword & "' OR travelmate210.partnummer LIKE '" & strKeyword & "')"
Avatar billede syntax_hh Nybegynder
13. november 2003 - 15:52 #1
strSQL = "SELECT * FROM travelmate200,travelmate210 WHERE"

Der står bare "WHERE", hvad bruger du det til? ;)
Avatar billede keysersoze Ekspert
13. november 2003 - 16:04 #2
hvilken fejl kommer?
Avatar billede mini41 Nybegynder
13. november 2003 - 16:07 #3
Jeg får ikke en fejl men hvis jeg kun søger med en tabel virker det, når jeg så søger med to eller flere tabeller henter den altid værdien af første felt fra første tabel.
Avatar billede mini41 Nybegynder
13. november 2003 - 16:13 #4
Jeg kan se at når jeg ændrer strSQL = "SELECT * FROM travelmate200 WHERE" til strSQL = "SELECT * FROM travelmate200,travelmate210 WHERE"
får jeg fejlen.
Avatar billede keysersoze Ekspert
13. november 2003 - 16:46 #5
så vidt jeg kan se skal du ind og joine de to tabeller så man via SQL'en kan se tilhørsforholdet mellem de to tabeller. Har tabeller ikke noget med hinanden at gøre skal du lave det i to forskellige sql'er
Avatar billede syntax_hh Nybegynder
13. november 2003 - 17:13 #6
Bare en idé:
strSQL = "SELECT * FROM travelmate200 AND travelmate210 WHERE"
Avatar billede keysersoze Ekspert
13. november 2003 - 20:49 #7
en dårlig idé - for det er ikke korrekt SQL-syntaks
Avatar billede mini41 Nybegynder
14. november 2003 - 07:19 #8
Har du en løsning på hvordan jeg gør det ?
Her er koden som den virker idag :

Der søges på tabellen travelmate200 men jeg ønsker der OGSÅ søges på travelmate210 og andre.

Det er det samme felt der skal søges på i alle tabeller.

Som sagt kan jeg godt adskille FROM syntaxen med tegnen , men så søger den kun i den første tabel.

strSQL = "SELECT * FROM travelmate200 WHERE"
strSQL = strSQL & " (partnummer = '" & strKeyword & "')"
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=d:\websider\global\comgrosinfo.dk\comgrosinfo.dk\db\acer.mdb"
Avatar billede syntax_hh Nybegynder
14. november 2003 - 14:58 #9
Endnu en idé:

strSQL = "SELECT * WHERE"
Jeg ved ikke om det virker, men det skader ikke noget at prøve
Avatar billede mini41 Nybegynder
14. november 2003 - 15:05 #10
nope det kan man ikke
Avatar billede keysersoze Ekspert
14. november 2003 - 15:07 #11
læs svaret fra 13/11-2003 16:46:27 - det burde være alt der skal gøres
Avatar billede syntax_hh Nybegynder
14. november 2003 - 15:08 #12
Så prøv
strSQL = "SELECT * From * WHERE"
Avatar billede syntax_hh Nybegynder
14. november 2003 - 15:09 #13
Eller også er det som keysersoze siger... Åben 2 sql'er ;)
Avatar billede keysersoze Ekspert
14. november 2003 - 15:11 #14
det er ikke det jeg siger - enten skal de to tabeller joines så de kan se tilhørsforholdet til hinanden. Kun hvis de ikke har noget med hinanden at gøre skal der laves to sql'er
Avatar billede mini41 Nybegynder
14. november 2003 - 15:19 #15
keysersoze:

Jeg har forsøgt med din løsning men uden held
Måske du kan uddybe din forklaring
Avatar billede keysersoze Ekspert
14. november 2003 - 15:21 #16
ok - de to tabeller du arbejder med, hænger de sammen på nogen som helst måde eller er det to vidt forskellige der intet har med hinanden at gøre?
Avatar billede mini41 Nybegynder
14. november 2003 - 15:52 #17
Tabellerne er 100% ens bortset fra indholdet.
Tabellerne hedder travelmate200, travelmate210 osv.
De indeholder felterne beskrivelse, partnummer samt beskrivelse1

Jeg kan godt søge i dem enkeltvis men ønsker at søge i den alle.
Avatar billede syntax_hh Nybegynder
14. november 2003 - 15:53 #18
Jeg tror keyser mener om de ligger i samme database
Avatar billede keysersoze Ekspert
14. november 2003 - 15:58 #19
du siger at de er ens - men hører de sammen på nogen måde? altså er der en evt anden tabel der er med til at binde dem sammen eller noget? eller arbejder de helt uafhængigt af hinanden?
Avatar billede keysersoze Ekspert
14. november 2003 - 15:58 #20
syntax >> nej - det mener jeg ikke
Avatar billede mini41 Nybegynder
14. november 2003 - 16:00 #21
De ligger i samme db.
Avatar billede mini41 Nybegynder
14. november 2003 - 16:00 #22
Og de arbejder uafhængig af hinanden
Avatar billede keysersoze Ekspert
14. november 2003 - 16:26 #23
hvis de arbejder uafhængigt af hinanden vil jeg mene at du skal lave to sql'er for at få det bedste resultat både perfomance-mæssigt og set i forhold til det recordset der kommer tilbage.

med den sql som du har nu vil den mangedoble dine data - faktisk antal rækker i tabel 1 gange antan rækker i tabel to... og så vil resultatet også være derefter
Avatar billede mini41 Nybegynder
14. november 2003 - 17:56 #24
keysersoze:

Kan du stille et prøve script op så jeg kan se hvordan ?
Jeg er ikke så stiv i asp :=)


Hvis du kan lave med to tabeller kaldet: tab1 og tab2 samt feltet part.
Avatar billede keysersoze Ekspert
14. november 2003 - 18:12 #25
hvad vil du have eksempel på? to sql'er?
Avatar billede mini41 Nybegynder
14. november 2003 - 20:51 #26
keysersoze:

Jeg vil gerne have et eksempel på hvordan jeg henter date fra to tabeller i samme database på en gang.
Avatar billede keysersoze Ekspert
14. november 2003 - 23:00 #27
det kan du kun hvis de to tabeller kan joines - dvs hvis at de hænger sammen. Kan de ikke joines - altså hvis de på ingen måde hænger sammen - vil du ikke kunne få et resultat der matcher overens med hvad der er faktum i databasen...
Avatar billede keysersoze Ekspert
15. november 2003 - 08:57 #28
og det er vist aligevel ikke helt rigtigt hvis jeg tænker mig om... man burde vha UNION kunne lave den søgning du ønsker. Noget a la

SELECT psert FROM tab1 WHERE beskrivelse = 'bla' UNION part FROM tab2 WHERE beskrivelse = 'bla' ORDER BY 2 ASC
Avatar billede mini41 Nybegynder
15. november 2003 - 13:36 #29
Jeg kan ikke få syntaxen til at passe:

SELECT partnummer FROM travelmate200 WHERE partnummer = '" & strKeyword & "' UNION partnummer FROM travelmate210 WHERE partnummer = '" & strKeyword & "' ORDER BY 2 ASC
Avatar billede keysersoze Ekspert
15. november 2003 - 17:30 #30
hvad går galt?

hvis resultatet ikke skal sorteres eller det skal sorteres efter noget andet skal din order by enten fjernes eller ændres
Avatar billede mini41 Nybegynder
17. november 2003 - 14:40 #31
jeg opgiver dette og fletter mine tabeller :)
keysersoze svar og du får point for din hjælp
Avatar billede keysersoze Ekspert
17. november 2003 - 15:25 #32
javel - men du skulle nu ellers være velkommen til at spørge mere :)
Avatar billede mini41 Nybegynder
17. november 2003 - 15:31 #33
jeg har et åbent spg. fra idag på eksperten, måske du gider kikke på det ?

Det er ca. 1 time gammelt.
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