OveRRidEMedlem sedan feb. 20018 509 inlägg
Jag försöker den denna SQL-sats hämta lite data ur ett antal databaser som är av formatet dBase:
SQL = "SELECT * FROM kund.dbf k INNER JOIN oof.dbf o ON k.kundnr = o.kundnr INNER JOIN artrad.dbf a ON o.doknr = a.doknr INNER JOIN art.dbf a2 ON a.artnr = a2.artnr WHERE a.benaemn LIKE '%" & srcString & "%'"
Minn connection ser ut sårhär:
conn.Open "Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=U:\VB\search\db;"
Nån som vet varför jag får följande meddelande:?
Syntax error: missing operator
:l :q
LarsGMedlem sedan dec. 200012 465 inlägg
dBase?
Du kan väl testa någon av dessa
SQL = "SELECT * FROM ((kund.dbf k
INNER JOIN oof.dbf o ON k.kundnr = o.kundnr)
INNER JOIN artrad.dbf a ON o.doknr = a.doknr)
INNER JOIN art.dbf a2 ON a.artnr = a2.artnr
WHERE a.benaemn LIKE '%" & srcString & "%'"
eller
sql = "select * from kund.dbf k,oof.dbf o ,arrad.dbf a,art.dbf a2" & _
" where oof.dbf o ON k.kundnr = o.kundnr " & _
" and o.doknr = a.doknr " & _
" and a.artnr = a2.artnr " & _
" and a.benaemn LIKE '%" & srcString & "%'"
OveRRidEMedlem sedan feb. 20018 509 inlägg
Första satsen:
to many fields defined
Andra:
Syntax error: missing operator
Krångligt det här.. :l
OveRRidEMedlem sedan feb. 20018 509 inlägg
Ny sträng, jag hade glömt att a.benaemn skulle vara a2.benaemn.. Men jag får samma fel, too many fields...
SQL = "SELECT * FROM ((kund.dbf k
INNER JOIN oof.dbf o ON k.kundnr = o.kundnr)
INNER JOIN artrad.dbf a ON o.doknr = a.doknr)
INNER JOIN art.dbf a2 ON a.artnr = a2.artnr
WHERE a2.benaemn LIKE '%" & srcString & "%'"
OveRRidEMedlem sedan feb. 20018 509 inlägg
Eh.. förresten.. vad är det här? :q
[b]WHERE[/b] oof.dbf o [b]ON[/b] k.kundnr = o.kundnr
Jag tror din fråga var en aning felskriven... :) Jag testade denna, och då fick jag samma fel som ovan (To many fields defined). Det låter som nåt från dBase och inte som om det är nåt fel på SQL-satsen.. men vad? Skall jag ersätta * och spec:a varje kolumn?
sql = "select * from kund.dbf k, oof.dbf o, artrad.dbf a, art.dbf a2 where k.kundnr = o.kundnr and o.doknr = a.doknr and a.artnr = a2.artnr and a.benaemn LIKE '%" & srcString & "%'"
OveRRidEMedlem sedan feb. 20018 509 inlägg
Många inlägg här nu. :e
Jag tror jag har fixat det:
sql = "select o.doknr, a2.benaemn, k.kundnr, k.namn, o.datum1
from kund.dbf k, oof.dbf o, artrad.dbf a, art.dbf a2
where k.kundnr = o.kundnr
and o.doknr = a.doknr
and a.artnr = a2.artnr
and a2.benaemn
LIKE '%" & srcString & "%'"
LarsGMedlem sedan dec. 200012 465 inlägg
Jag missade en sak i mitt andra försök.
sql = "select * from kund.dbf k,oof.dbf o ,arrad.dbf a,art.dbf a2" & _
" where k.kundnr = o.kundnr " & _
" and o.doknr = a.doknr " & _
" and a.artnr = a2.artnr " & _
" and a.benaemn LIKE '%" & srcString & "%'"
red:
Lite sen, så går det när man glömmer att göra refresh.
Jo, felet med Too many fields låter som en begränsning i dbase.