Apagando registro no banco de dados

Pessoal,
Estou tendo um problema para apagar mais de 1 registro no banco de dados, realizo a consulta conforme o exemplo abaixo. Porém dentro do SQL ele consegue deletar todos os registros do BD agora na aplicação não (mesmo erro acontece para o UPDATE do banco de dados).

Agradeço a ajuda

DELETE FROM (função utilizada) NOMEDATABELA (tabela utilizada)
WHERE NOMEDOCAMPO (campo da variável utilizada como filtro) = VALORDOCAMPO

Ex.
Sub CommandButton5_Click()
Set Consulta = Screen.Item(“E3Browser1”).Item(“delete”)
Consulta.SetVariableValue “deletecampo”, Screen.Item(“Texto9”).Value
Consulta.Execute()
End Sub

SQL

DELETE * FROM cadastro
WHERE tag = <%deletecampo%>

@edy_bahia, bom dia.

Chegou a verificar se o tipo do Item “Texto9” é igual ao do filtro SQL?

Segundo o teu filtro (‘deletecampo’), o mesmo deve ser do tipo numérico. Isto confere?

Abraço.

Sim, olha no Histórico

Esse erros acontece de vez em quando comigo, funciona dentro da consulta do sql, mais quando utilizo a parte do ELipse E3, não funciona.

Entendo.

O Item ‘Texto9’ é do mesmo tipo deste campo do Histórico? A propriedade Value dele é Integer também?

@Fernando, Sim acabei de revisar novamente todos os itens… Afim de exemplo o script para deletar está correto ?.. Acredito que sim…

@edy_bahia, sim, está correto.

Teria como mandar a app para o meu e-mail (fernando@elipse.com.br)?

Obrigado.

@Fernando Acabei resolvendo modificando a forma de realizar o script para deletar / Update. Seguir o Webinar.

Bom dia.
Estou tendo o mesmo problema, so consegui deletar usando como referencia E3TimeStamp, mas qd mudo para outra variavel não esta deletando, banco de dados utilizado Access.
Segue Dados.

set deleta = Screen.Item(“Deletar”)

if msgbox ("Você deseja realmente excluir o arquivo " & Screen.Item(“NumeroOrdem”).Value , vbYesNoCancel) = vbYes then

deleta.SetVariableValue "data", Screen.Item("NumeroOrdem").Value
deleta.Execute(true)

end if

End Sub

image
image



image

Bruno,

O nome do campo deve estar entre colchetes porque possui um espaço. Além disso, se o campo é do tipo String (texto), a sintaxe da variável está errada (mais detalhes no link abaixo). Tenta assim:

DELETE FROM bd
WHERE [NUMERO ORDEM] = '<%ordem%>'

Obrigado, vou mexer aq.