MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]excluir com condição de campo data e hora

    Compartilhe

    mathusalmeida
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 263
    Registrado : 30/08/2011

    [Resolvido]excluir com condição de campo data e hora

    Mensagem  mathusalmeida em Dom 06 Dez 2015, 14:11

    Olá a todos do fórum.
    Estou tentando excluir dados de uma tabela baseado em condições de data e hora executando o código abaixo:

    Código:
    CurrentDb.Execute "delete FROM TBSAIDAPRODUTO WHERE CPCODIGO=""" & Me.cpCodProduto & """ and CPDTSAIDA=#" & Me.cpdata & "# and CPHRSAIDA = #" & Me.cphora & "#;"
    onde:
    CPCODIGO = tipo número
    CPDTSAIDA= tipo data/hora
    CPHRSAIDA= tipo data/hora

    Não está dando erro mais não está funcionando.

    Alguém enxerga o problema?

    Obrigado desde já.

    formiga10x
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 11/09/2013

    Re: [Resolvido]excluir com condição de campo data e hora

    Mensagem  formiga10x em Dom 06 Dez 2015, 17:40

    "delete " Oque? "FROM


    .................................................................................
    Abraço
    Formiga10x

    Sempre que possível poste o bd ou parte dele, com uma explicação bem clara e objetiva do que quer.
    “Um homem não está acabado quando enfrenta a derrota. Ele está acabado quando desiste - Richard Nixon”
    Formiga10x

    "Lembro do exato momento em que me dei conta que boa parte de minha vida foi dedicada a localizar erros em meus próprios programas."
    - Maurice Vicent Wilkes

    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3347
    Registrado : 04/04/2010

    Re: [Resolvido]excluir com condição de campo data e hora

    Mensagem  Avelino Sampaio em Dom 06 Dez 2015, 18:42

    Olá!

    Experimente:

    Dim strFiltro$
    strFiltro = "CPCODIGO=""" & Me.cpCodProduto & """ and CPDTSAIDA=#" & format(Me.cpdata,"mm/dd/yyyy") & "# and CPHRSAIDA = #" & format(Me.cphora,"mm/dd/yyyy") & "#;"
    CurrentDb.Execute "delete FROM TBSAIDAPRODUTO WHERE " & strFiltro


    Nota: backup antes dos testes.

    Aguardamos


    .................................................................................
    ============ Quer aprender Access em alta velocidade ? ============

    || [Você precisa estar registrado e conectado para ver esta imagem.] Acesse o site UsandoAccess.com.br e veja um ótimo kit de ensino que tenho para você.

    ===========================================================

    mathusalmeida
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 263
    Registrado : 30/08/2011

    Re: [Resolvido]excluir com condição de campo data e hora

    Mensagem  mathusalmeida em Seg 07 Dez 2015, 10:16

    Obrigado aos colegas.

    Não funcionou mestre Avelino.

    Chamei o código como função, assim:
    Código:
    Private Sub cmdEXCLUIR_Click()
    If IsNull(Me.cpcodigo) Then
    MsgBox "Escolha um item a ser excluído", vbOKOnly, "Excluir item..."
    Exit Sub
    End If
    If MsgBox("Excluir o item " & Me.cpPesquisa & " ?", vbQuestion + vbYesNo, "Excluir item ...") = vbYes Then

    Call excluir

    Me.ListaCliente.Requery
    Call AplicarCalculos
    Else
    Exit Sub
    End If
    End Sub

    Chamando a função:
    Código:
    Public Function excluirSaidaProduto2()
    Dim strFiltro$
    strFiltro = "CPCODIGO=""" & Me.cpCodProduto & """ and CPDTSAIDA=#" & Format(Me.cpdata, "mm/dd/yyyy") & "# and CPHRSAIDA = #" & Format(Me.cphora, "mm/dd/yyyy") & "#;"
    CurrentDb.Execute "delete FROM TBSAIDAPRODUTO WHERE " & strFiltro
    End Function

    E chamei o código direto, assim:
    Código:
    Private Sub cmdEXCLUIR_Click()
    If IsNull(Me.cpcodigo) Then
    MsgBox "Escolha um item a ser excluído", vbOKOnly, "Excluir item..."
    Exit Sub
    End If
    If MsgBox("Excluir o item " & Me.cpPesquisa & " ?", vbQuestion + vbYesNo, "Excluir item ...") = vbYes Then

    Dim strFiltro$
    strFiltro = "CPCODIGO=""" & Me.cpCodProduto & """ and CPDTSAIDA=#" & Format(Me.cpdata, "mm/dd/yyyy") & "# and CPHRSAIDA = #" & Format(Me.cphora, "mm/dd/yyyy") & "#"
    CurrentDb.Execute "delete FROM TBSAIDAPRODUTO WHERE " & strFiltro

    Me.ListaCliente.Requery
    Call AplicarCalculos
    Else
    Exit Sub
    End If
    End Sub

    Formiga 10x, tentei também o "Delete * FROM ....". não funcionou.

    mathusalmeida
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 263
    Registrado : 30/08/2011

    Re: [Resolvido]excluir com condição de campo data e hora

    Mensagem  mathusalmeida em Seg 07 Dez 2015, 10:20

    Só observando que apesar do nome da função, excluir e excluirProdutoSaida2, estarem diferente, no código os nomes estão iguais, excluir.

    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3347
    Registrado : 04/04/2010

    Re: [Resolvido]excluir com condição de campo data e hora

    Mensagem  Avelino Sampaio em Seg 07 Dez 2015, 10:36

    Desculpa, não prestei atenção que Me.cpCodProduto é número. Tire as aspas

    strFiltro = "CPCODIGO=" & Me.cpCodProduto & " and CPDTSAIDA=#" & format(Me.cpdata,"mm/dd/yyyy") & "# and CPHRSAIDA = #" & format(Me.cphora,"mm/dd/yyyy") & "#;"

    Aguardamos


    .................................................................................
    ============ Quer aprender Access em alta velocidade ? ============

    || [Você precisa estar registrado e conectado para ver esta imagem.] Acesse o site UsandoAccess.com.br e veja um ótimo kit de ensino que tenho para você.

    ===========================================================

    mathusalmeida
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 263
    Registrado : 30/08/2011

    Re: [Resolvido]excluir com condição de campo data e hora

    Mensagem  mathusalmeida em Seg 07 Dez 2015, 11:16

    Bom dia mestre Avelino e obrigado pela atenção.

    Não funcionou.

    O tipo de dados dos campos são aqueles que citei no primeiro post.

    Quando executo o delete assim:

    Código:
    CurrentDb.Execute "delete FROM TBSAIDAPRODUTO WHERE CPCODIGO =" Me.cpCodProduto

    Funciona perfeitamente.

    É como se o critério de data e hora estivessem errados?!

    O que será?


    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3347
    Registrado : 04/04/2010

    Re: [Resolvido]excluir com condição de campo data e hora

    Mensagem  Avelino Sampaio em Seg 07 Dez 2015, 14:34

    Mais uma vez papei mosca.  O seu último campo é hora e coloquei como formato de data.

    Experimente só com a data e veja se funciona. Se funcionar acrescentaremos a hora

    strFiltro = "CPCODIGO=" & Me.cpCodProduto & " and CPDTSAIDA=#" & format(Me.cpdata,"mm/dd/yyyy") & "#;"

    Aguardamos


    .................................................................................
    ============ Quer aprender Access em alta velocidade ? ============

    || [Você precisa estar registrado e conectado para ver esta imagem.] Acesse o site UsandoAccess.com.br e veja um ótimo kit de ensino que tenho para você.

    ===========================================================

    mathusalmeida
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 263
    Registrado : 30/08/2011

    Re: [Resolvido]excluir com condição de campo data e hora

    Mensagem  mathusalmeida em Seg 07 Dez 2015, 17:09

    Funcionou perfeitamente mestre Avelino. Mas necessito da condição Hora também.

    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3347
    Registrado : 04/04/2010

    Re: [Resolvido]excluir com condição de campo data e hora

    Mensagem  Avelino Sampaio em Seg 07 Dez 2015, 19:55

    Experimente:

    strFiltro = "CPCODIGO=" & Me.cpCodProduto & " and CPDTSAIDA=#" & format(Me.cpdata,"mm/dd/yyyy") & "# and CPHRSAIDA = #" & format(Me.cphora,"hh:mm:ss") & "#;"

    Aguardamos



    .................................................................................
    ============ Quer aprender Access em alta velocidade ? ============

    || [Você precisa estar registrado e conectado para ver esta imagem.] Acesse o site UsandoAccess.com.br e veja um ótimo kit de ensino que tenho para você.

    ===========================================================

    mathusalmeida
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 263
    Registrado : 30/08/2011

    Re: [Resolvido]excluir com condição de campo data e hora

    Mensagem  mathusalmeida em Ter 08 Dez 2015, 11:11

    Funcionou na perfeição grande mestre Avelino.

    Agora compartilhe um puco mais dos seus conhecimento me dizendo o seguinte:

    O mestre passou toda a condição da SQL em uma variável e depois chamou ela. Ok?!

    Se é isso mesmo, quais as vantagens de se trabalhar assim em relação a isso:
    Código:
    CurrentDb.Execute "delete FROM TBSAIDAPRODUTO WHERE CPCODIGOMOVIMENTO=" & Me.cpcodigo & " CPDTSAIDA=#" & Me.cpdata & "# and CPHRSAIDA = #" & Me.cphora & "#;"

    Se o mestre puder enriquecer nosso aprendizado, agradeço ainda mais.

    Sucesso grande mestre.

      Data/hora atual: Sab 03 Dez 2016, 04:32