Har inte detta varit uppe tidigare? Då kom vi väl fram till att det inte går med en select på det sätte utan att du får skriva
insert into ... select date(),date(),date(), count(*) + 1 ...
7 svar · 245 visningar · startad av Eclipse
SQL = "INSERT INTO [" & myTable & "] " _
& "(dteCreated, dteViewFrom, dteViewTo, intSortfield, intVersionID) VALUES (" _
& " #" & date() & "#, #" & date() & "#, #" & date() & "#, " _
& " (SELECT (COUNT(*)+1) FROM [" & myTable & "] WHERE " _
& " intVersionID = " & intVersionID & " ), " & intVersionID & " );"
response.write sql
34. --> Conn.Execute(SQL)
INSERT INTO [webadmin] (dteCreated, dteViewFrom, dteViewTo, intSortfield, intVersionID) VALUES ( #2003-04-04#, #2003-04-04#, #2003-04-04#, (SELECT (COUNT(*)+1) FROM [webadmin] WHERE intVersionID = 3 ), 3 );
Microsoft JET Database Engine error '80004005'
Unspecified error
/admin/webadmin/confirm.asp, line 34
***
Gud vad trött jag blir på detta! Vad menas med "Unspecified error"??
Databasen heter Access men jag vet inte om det är en SQL eller ASP tråd.
Har inte detta varit uppe tidigare? Då kom vi väl fram till att det inte går med en select på det sätte utan att du får skriva
insert into ... select date(),date(),date(), count(*) + 1 ...
Jo jag trodde det och jag trodde också att det var den koden jag hade kopierat.
Nu har jag trixat en timme med detta och det fungerar fortfarande inte. Detta vill jag uppnå: (response.write ger...)
INSERT INTO [webadmin]
(strName, strRollOver, dteCreated, dteViewFrom, dteViewTo, intSortfield , intVersionID)
VALUES
('', '', #2003-04-06#, #2003-04-06#, #2003-04-06#,
(SELECT COUNT(*)+1 FROM [webadmin] WHERE intVersionID = 1), 1 );
Här är ett kodexempel:
SQL = "INSERT INTO [" & myTable & "] " _
& " (strName, strRollOver, dteCreated, dteViewFrom, dteViewTo, intSortfield , intVersionID) VALUES " _
& "('" & strName & "', '" & strRollOver & "', #" _
& dteCreated & "#, #" & dteViewFrom & "#, #" & dteViewTo & "#, " _
& " ((SELECT COUNT(*) FROM [" & myTable & "] " _
& " WHERE intVersionID = " & intVersionID & ")+1), " & intVersionID & " );"
Testa detta:
SQL = "INSERT INTO [" & myTable & "] " _
& " (strName, strRollOver, dteCreated, dteViewFrom, dteViewTo, intSortfield , intVersionID) VALUES " _
& " SELECT '" & strName & "', '" & strRollOver & "', #" _
& dteCreated & "#, #" & dteViewFrom & "#, #" & dteViewTo & "#, " _
& " COUNT(*)+1, " & intVersionID & " FROM [" & myTable & "] " _
& " WHERE intVersionID = " & intVersionID
Mvh
Här är ett annat exempel på samma tema...
Fungerande originalkod:
SQL = "INSERT INTO [" & myTable & "] " _
& "(strName, dteCreated, dteViewFrom, dteViewTo, intSortfield) " _
& " SELECT " _
& "'" & strName & "', " _
& "#" & dteCreated & "#, " _
& "#" & dteViewFrom & "#, " _
& "#" & dteViewTo & "#, " _
& " COUNT(*)+1 FROM [" & myTable & "];"
Här i består problemet:
("Number of query values and destination fields are not the same.")
SQL = "INSERT INTO [" & myTable & "] " _
& "(strName, dteCreated, dteViewFrom, dteViewTo, intSortfield, intVersionID) " _
& " SELECT " _
& "'" & strName & "', " _
& "#" & dteCreated & "#, " _
& "#" & dteViewFrom & "#, " _
& "#" & dteViewTo & "#, " _
& [b]" COUNT(*) + 1 FROM [" & myTable & "] WHERE [intVersionID] = " & intVersionID [/b] _
& ", " & intVersionID & ";"
[r] Oups! Jag var inte snabb nog där!
Ja, det fungerade! Jag förstod det av ditt inlägg.
Skönt... Sånt här är ju helt omöjligt att komma på själv!
SQL = "INSERT INTO [" & myTable & "] " _
& "(strName, dteCreated, dteViewFrom, dteViewTo, intSortfield, intVersionID) " _
& " SELECT " _
& "'" & strName & "', " _
& "#" & dteCreated & "#, " _
& "#" & dteViewFrom & "#, " _
& "#" & dteViewTo & "#, " _
& " COUNT(*) + 1, " _
& intVersionID & _
" FROM [" & myTable & "] WHERE [intVersionID] = " & intVersionID