|
Postada em 02/06/2005 14:19 hs
Estou usando este comando para deletar um registro: cnn.Execute "delete from pedido where nome = '" & Combo1.Text & "' and funcao = '" & Combo2.Text & "' and data = '" & Format(Text1.Text, "mm/dd/yyyy") & "'" porém, ele esté deletando todos os registro que atenda a instrução e eu gostaria de saber como fazer para que ele delete apenas o primeiro registro encontrado caso tenha mais de um o restante fica intacto.
Desde ja agradeço...
|
|
|
|
|
Postada em 02/06/2005 14:50 hs
Olá Mr, boa tarde. Tente da seguinte forma: "DELETE pedido FROM " & _
"(SELECT TOP 1 * FROM pedido where nome = '" & Combo1.Text & "' and " & _ "funcao = '" & Combo2.Text & "' and " & _ "data = '" & Format(Text1.Text, "mm/dd/yyyy") ) AS t1 " & _ "WHERE pedido.nome = t1.nome" Criando uma subquery que contém todas as linhas retornadas pela sua clausula where, limite este retorno para apenas uma linha e execute o seu comando delete normalmente. Espero ter colaborado, boa sorte.
|
|
|
|
Postada em 02/06/2005 15:10 hs
A idéia esta correta, mas como não tenho muita experiência com sql, entaum rodei. Esta aparecendo erro de sintaxe... Até tentei mudar alguma coisa, mas não esta funcionando... Mesmo assim obrigado...
|
|
|
Susana
|
ANGRA DOS REIS RJ - BRASIL
|
|
Postada em 02/06/2005 16:43 hs
Mr, "DELETE FROM Pedido WHERE Nome,funcao,data IN (SELECT TOP 1 Nome,funcao,data from pedido where nome = '" & Combo1.Text & "' and funcao = '" & Combo2.Text & "' and data = '" & Format(Text1.Text, "mm/dd/yyyy") & "' ORDER BY campoquevocedesejaordenar") Susana
|
|
|
|