EclipseMedlem sedan juli 20003 825 inlägg 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.
LarsGMedlem sedan dec. 200012 464 inlägg 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 ...
EclipseMedlem sedan juli 20003 825 inlägg 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 & " );"
@ndersMedlem sedan juni 200032 969 inlägg 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
EclipseMedlem sedan juli 20003 825 inlägg 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!
@ndersMedlem sedan juni 200032 969 inlägg Se till att WHERE-satsen är sist i din select så bör ditt sista försök fungera.
Mvh,
EclipseMedlem sedan juli 20003 825 inlägg 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!
LarsGMedlem sedan dec. 200012 464 inlägg SQL = "INSERT INTO [" & myTable & "] " _
& "(strName, dteCreated, dteViewFrom, dteViewTo, intSortfield, intVersionID) " _
& " SELECT " _
& "'" & strName & "', " _
& "#" & dteCreated & "#, " _
& "#" & dteViewFrom & "#, " _
& "#" & dteViewTo & "#, " _
& " COUNT(*) + 1, " _
& intVersionID & _
" FROM [" & myTable & "] WHERE [intVersionID] = " & intVersionID