Avatar billede gummisko Nybegynder
05. juli 2005 - 15:46 Der er 18 kommentarer og
1 løsning

SQL-sætning til erstatning af null

Hej og suk!!

Hvad er fejlen i denne sætning:
Recordset1.Source = "SELECT *  FROM indhold, underkategorier IIF(NULLIF(billeder),'no',billeder)  WHERE indhold.kategori <> 7 AND indhold.underkategori = underkategorier.id  ORDER BY dato desc"

Meningen er, at hvis en post i kolonnen billeder er tom/null, skal denne værdi erstattes af no
Men sætningen giver en fejmeldning:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl i FROM-delsætningen.

MVH
Gummisko :-(
Avatar billede 2dbornot2db Nybegynder
05. juli 2005 - 15:52 #1
"SELECT *, IIF([billeder] is null,'no',[billeder]) AS billeder1 FROM underkategorier, indhold WHERE indhold.kategori <> 7
Avatar billede gummisko Nybegynder
05. juli 2005 - 16:03 #2
Recordset1.Source = ""SELECT *, IIF([billeder] is null,'no',[billeder]) AS billeder1 FROM underkategorier, indhold  WHERE indhold.kategori <> 7 AND indhold.underkategori = underkategorier.id  ORDER BY dato desc"
giver fejl:
Slut på sætning var ventet
/foulum/doc/test.asp, line 9, column 22
Recordset1.Source = ""SELECT *, IIF([billeder] is null,'no',[billeder]) AS billeder1 FROM underkategorier, indhold WHERE indhold.kategori <> 7 AND indhold.underkategori = underkategorier.id ORDER BY dato desc"
Avatar billede 2dbornot2db Nybegynder
05. juli 2005 - 16:12 #3
Du har 2 " i starten af sætningen. Kan det være problemet?
Avatar billede gummisko Nybegynder
05. juli 2005 - 16:15 #4
Recordset1.Source = "SELECT *, IIF([billeder] is null,'no',[billeder]) AS billeder1 FROM underkategorier, indhold  WHERE indhold.kategori <> 7 AND indhold.underkategori = underkategorier.id  ORDER BY dato desc"
giver fejlen:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][ODBC Microsoft Access-driver] Der er for få parametre. Der var ventet 1.
Avatar billede 2dbornot2db Nybegynder
05. juli 2005 - 16:24 #5
"...AND indhold.underkategori = underkategorier.id..." giver fejlen. Du har ikke angivet joinforbindelserne mellem tabellerne underkategorier og indhold i FROM-delen
Avatar billede gummisko Nybegynder
05. juli 2005 - 16:27 #6
vil du ikke lige oversætte det??? åh...
Hvad er den korrekte sætning??
TAK beom
Avatar billede gummisko Nybegynder
05. juli 2005 - 16:28 #7
den virker ellers perfekt uden IIF([billeder] is null,'no',[billeder]) AS billeder1
Avatar billede 2dbornot2db Nybegynder
05. juli 2005 - 16:30 #8
Kan du ikke blot sætte den ind i access query-builder?
Avatar billede gummisko Nybegynder
05. juli 2005 - 16:31 #9
nej for jeg ved ikke en disse dette her
Avatar billede terry Ekspert
05. juli 2005 - 19:07 #10
try IIF(IsNull([billeder], 'no',[billeder]) AS billeder1
Avatar billede gummisko Nybegynder
05. juli 2005 - 20:09 #11
hej terry
Recordset1.Source = "SELECT *, IIF(IsNull([billeder], 'no',[billeder]) AS billeder1 FROM underkategorier, indhold  WHERE indhold.kategori <> 7 AND indhold.underkategori = underkategorier.id  ORDER BY dato desc"

så får jeg denne fejl:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl, fordi der mangler en operator. i forespørgselsudtrykket "IIF(IsNull([billeder], 'no',[billeder]) AS billeder1 FROM underkategorier, indhold WHERE indhold.kategori <> 7 AND indhold.underkategori = underkategorier.id ORDER BY dato desc".
Avatar billede terry Ekspert
05. juli 2005 - 21:53 #12
does it work WITHOUT the IIF....?
Avatar billede gummisko Nybegynder
05. juli 2005 - 21:55 #13
do you mean:
Recordset1.Source = "SELECT * FROM underkategorier, indhold  WHERE indhold.kategori <> 7 AND indhold.underkategori = underkategorier.id  ORDER BY dato desc"
then yes
Avatar billede terry Ekspert
05. juli 2005 - 22:00 #14
I am not 100% sure if IIF can be used in a query from ASP!

Can you send me your database and I can make a query in Access for you. You should thenbe able to SELECT from the query instead of the tables

eksperten@NOSPAMsanthell.dk

remove NOSPAM
Avatar billede gummisko Nybegynder
05. juli 2005 - 22:04 #15
have been done
Avatar billede terry Ekspert
05. juli 2005 - 22:27 #16
billeder = billede
Avatar billede terry Ekspert
05. juli 2005 - 22:30 #17
SELECT *, IIf(IsNull([billede]),'no',[billede]) AS billeder1
FROM underkategorier, indhold
WHERE (((indhold.kategori)<>7) AND ((indhold.underkategori)=[underkategorier].[id]))
ORDER BY indhold.dato DESC
Avatar billede gummisko Nybegynder
05. juli 2005 - 22:49 #18
tak for hjælpen
did you use acces query builder or how??
Avatar billede terry Ekspert
06. juli 2005 - 08:17 #19
If you look in the database I sent you, you will see a query in the database.
I used the query builder to help fnd the problem. You should try using it, it can save lots of time getting your queries to work.

and thanks
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