webForumDet fria alternativet

Missing operator

8 svar · 199 visningar · startad av saw

sawMedlem sedan mars 20011 880 inlägg
#1

Jag försöker mig på en lite annullunda SQL.
Jag har tre tabeller i en ACCESS databas; t_songtitlar, t_album och t_kategori.
I t_songtitlar så liger t_album och t_kategori sparade med ett idNr.
Nu vill jag (i vb) plocka fram, inte id-talen uten vad namnen är och försöker så här:

Set mittRS = minDB.OpenRecordset("SELECT * FROM t_SongTitlar WHERE Album =
(select album  where album =  t_Album.cd_id ) 
AND kategori=(select kategori  where kategori = t_Kategori.Kat_ID)songtitel = '" & List1.Text & "'", dbOpenDynaset)

Jag får följande fel:

Runtime error "3075"

Syntaxerror(missong operator) in querieexpression
'Album=(select album where album = t_album.cd_id) 
AND kategori=(select kategori 
where kategori=t_kategori.kat_id)songtitel=Beautifulls words'

Hur löser jag detta?

Saw: Jag redigerade ditt inlägg för att slippa de långa raderna
/Lars

LarsGMedlem sedan dec. 200012 464 inlägg
#2
q = "SELECT ta.*,tk.* FROM t_SongTitlar ts,t_album ta,t_kategori tk " & _
" WHERE ts.Album = ta.album " & _
" and ts.kategori = tk.kategori " & _
" and songtitel = '" & List1.Text & "'"
Set mittRS = minDB.OpenRecordset(q,dbOpenDynaset)
sawMedlem sedan mars 20011 880 inlägg
#3

Tack LarsG för att du är så snabb, men tyvärr:
Type mismatch in JOIN expression

Vad tror du?

LarsGMedlem sedan dec. 200012 464 inlägg
#4

Hur är tabellera definierade och vilka kolumner är det som är relaterade?

sawMedlem sedan mars 20011 880 inlägg
#5

Så här_

t_songtitlar

titel_id                   räknare
songtitel                text
Album                    tal
Kategori                tal

t_kategori

Kat_ID                  räknare
Kategori               text

t_album

CD_ID                   räknare
Album                   text

Relationer:
t_songtitlar.album  <-------->t_album.CD_ID
t_songtitlar.kategori  <-------->t_kategori.Kat_ID

Jag antar att det var så du ville ha det?

:stud

LarsGMedlem sedan dec. 200012 464 inlägg
#6

Då är jag med

q = "SELECT ta.*,tk.* FROM t_SongTitlar ts,t_album ta,t_kategori tk " & _
" WHERE ts.Album = ta.cd_id" & _
" and ts.kategori = tk.kat_id" & _
" and songtitel = '" & List1.Text & "'"
Set mittRS = minDB.OpenRecordset(q,dbOpenDynaset)
sawMedlem sedan mars 20011 880 inlägg
#7

Helt perfekt, tack så mycket. :e

sawMedlem sedan mars 20011 880 inlägg
#8

Hj'lp, jag såg fel.
På den fina SQL som LarsG hjälpte mig med, så blev det ett fel :(
Vad jag måste ha som data är:
titel_id songtitel album kategori.

vag jag får fram är
cd_id album album kategori.
SQL:en är skriven så jag fattar noöö :l

   q = "SELECT ta.*,tk.* FROM t_SongTitlar ts,t_album ta,t_kategori tk " & _
" WHERE ts.Album = ta.cd_id" & _
" and ts.kategori = tk.kat_id" & _
" and songtitel = '" & List1.Text & "'"

Vore väldigt tacksam för hjälp.

sawMedlem sedan mars 20011 880 inlägg
#9

Det löste sig :birp

128 ms totalt · 3 externa anrop · v20260731065814-full.2b84b982
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)