sqlString = "Select p.projektID, p.projektStart, p.projektSlut, projektStandardPris, iif(len(p.projektNamn) > 35,Trim(left(p.projektNamn, 32))&'...',p.projektNamn) as projektNamn, iif(len(pk.projektKundForetag) > 35,Trim(left(pk.projektKundForetag, 32))&'...',pk.projektKundForetag) as projektKund " &_
"From projekt as p, projektLankning as pl, projektKund as pk " &_
"Where pl.projektID = p.projektID " &_
"And pl.projektanvandareID = "& Session("projektanvandareID") &" " &_
"And p.projektKundForetagID = pk.projektKundID " &_
"Order By p.projektNamn"
Set projektRS = Server.Createobject("Adodb.Recordset")
projektRS.cursorlocation = 3
projektRS.open sqlString, con
Funkar i access men inte i MS SQL
6 svar · 284 visningar · startad av Addeladde
De gamla vanliga frågorna:
Vad funkar inte?
Felmeddelande?
Hur ser den färdiga SQL-frågan ut?
- - - - -
I SQL Server använder man inte IIF, utan CASE. Sök här i forumet för användningsexempel.
Sorry!
Select p.projektID, p.projektStart, p.projektSlut, projektStandardPris, iif(len(p.projektNamn) > 35,Trim(left(p.projektNamn, 32))&'...',p.projektNamn) as projektNamn, iif(len(pk.projektKundForetag) > 35,Trim(left(pk.projektKundForetag, 32))&'...',pk.projektKundForetag) as projektKund From projekt as p, projektLankning as pl, projektKund as pk Where pl.projektID = p.projektID And pl.projektanvandareID = 3 And p.projektKundForetagID = pk.projektKundID Order By p.projektNamn
Det är if satsen som ställer till det.
Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC SQL Server Driver][SQL Server]Line 1: Incorrect syntax near '>'.
Du får gärna dela upp SQL-frågan på några rader också, så man får lite överblick.
@nders skrev:
I SQL Server använder man inte IIF, utan CASE. Sök här i forumet för användningsexempel.
Select p.projektID, p.projektStart, p.projektSlut, projektStandardPris, Case When len(p.projektNamn) > 35 then Ltrim(left(p.projektNamn, 32))&'...' else p.projektNamn end as projektNamn, Case When len(pk.projektKundForetag) > 35 Then Ltrim(left(pk.projektKundForetag, 32))&'...' else pk.projektKundForetag end as projektKund From projekt as p, projektLankning as pl, projektKund as pk Where pl.projektID = p.projektID And pl.projektanvandareID = 3 And p.projektKundForetagID = pk.projektKundID Order By p.projektNamn
Har jag förstått hur case fungerar?
Nu får jag:
Microsoft][ODBC SQL Server Driver][SQL Server]Invalid operator for data type. Operator equals boolean AND, type equals nvarchar.
/audionode/start.asp, line 46
Konkatenera inte med &, utan med +.
Jag får också en känsla av att du inte läser allt jag skriver...
@nders skrev:
Du får gärna dela upp SQL-frågan på några rader också, så man får lite överblick.
Hej @nders
Nä lite snabb i blicken var jag nog :) är dock väldigt tacksam för all hjälp.
Nu verkar det fungera med den här frågan.