MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Excluir itens de uma tabela

    Compartilhe
    avatar
    fazerbem
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 327
    Registrado : 05/03/2017

    [Resolvido]Excluir itens de uma tabela

    Mensagem  fazerbem em 22/6/2018, 17:45

    Ola, possuo uma Tabela "TblBaixaVendas_Site" que é destinada somente a receber Itens que foram vendidos. Estes serao dado baixa no Banco de dados de meu site, ao qual ja possuo uma macro com esse objetivo.
    Desta forma digamos que nesta tabela exista 3 linhas com o cod e a QNt que serao lancadas no site, sendo assim 3 itens e suas respectivas QNT vendidas.
    Na macro que uso preciso inserir, na 1º fase, um loop , pois ao final de fazer o primeiro envio de baixa no site, va fazendo os demais até que o terceiro item, neste caso do exemplo, seja cumprido.

    Preciso entao que seja adicionado na primeira fase da Macro, que está abaixo, esse loop. Vai rodar o Loop ate que todos os Cod da Tabela sejam enviados ao site.
    No final irei por outra acao que limpe toda a Tabela.

    Código:

    Private Sub Comando8_Click()
    '1º fase

    'Inicio do Loop que estou precisando

      AtualizarDadosSite (LinhaAtual)

    'Loop

    End Sub




    Public Function AtualizarDadosSite(loopAtual As Integer)

    '2º Fase

    Dim sku, QNT, active, passwd, stringCompleta As String
    sku = Me.IdProduto
    QNT = Me.QNTVendido
    active = 3 '3 e uma referencia que sera usada no BD do Word Press para atender uma finalidade
    passwd = "MINHA SENHA"
    stringCompleta = "sku=" & sku & "&qnt=" & QNT & "&active=" & active & "&passwd=" & passwd
    EnviarParaWebsite (stringCompleta)
    End Function



    Public Function EnviarParaWebsite(stringCompleta As String)

    '3º Fase
        
    Set objHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
    URL = "http://MEU SITE/iosWoocommerceRestApi.php"
    objHTTP.Open "POST", URL, False
    objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
    objHTTP.setRequestHeader "Content-type", "application/x-www-form-urlencoded"
    objHTTP.Send (stringCompleta)

    End Function
    avatar
    fazerbem
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 327
    Registrado : 05/03/2017

    Re: [Resolvido]Excluir itens de uma tabela

    Mensagem  fazerbem em 22/6/2018, 18:38

    acrescentando: esta Tabela é apenas composta de 2 campos , Cod produto e QNT, e nao tem um ID de numeracao automatica.
    caso tenha 3 baixas a fazer no site a tabela ficaria assim:

    COD QNT
    34 1
    3 2
    45 1

    livio.sfranca
    livio.sfranca
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 149
    Registrado : 09/01/2018

    Re: [Resolvido]Excluir itens de uma tabela

    Mensagem  livio.sfranca em 23/6/2018, 00:50

    Tente isso:

    Código:

    Private Sub Comando8_Click()
    '1º fase

    Dim rst As DAO.Recordset
    Set rst = CurrentDb.OpenRecordset("SELECT * FROM TblBaixaVendas_Site;")

    Do While rst.EOF

      AtualizarDadosSite rst("CampoCodigo"), rst("CampoQNT") 'Alterar "CampoCodigo" e "CampoQNT" com respectivos nomes da sua tabela mantendo as aspas

    Loop

    End Sub

    Public Function AtualizarDadosSite(sku As Long, QNT As Integer)
    '2º Fase
        Dim active, passwd, stringCompleta As String

        active = 3 '3 e uma referencia que sera usada no BD do Word Press para atender uma finalidade
        passwd = "MINHA SENHA"
        stringCompleta = "sku=" & sku & "&qnt=" & QNT & "&active=" & active & "&passwd=" & passwd
        EnviarParaWebsite (stringCompleta)
    End Function



    Public Function EnviarParaWebsite(stringCompleta As String)
      
        
        Set objHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
        url = "http://MEU SITE/iosWoocommerceRestApi.php"
        objHTTP.Open "POST", url, False
        objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
        objHTTP.setRequestHeader "Content-type", "application/x-www-form-urlencoded"
        objHTTP.send (stringCompleta)

    End Function
    avatar
    fazerbem
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 327
    Registrado : 05/03/2017

    Re: [Resolvido]Excluir itens de uma tabela

    Mensagem  fazerbem em 26/6/2018, 17:23

    Obrigado, vou testar assim que possivel e te falo.
    avatar
    fazerbem
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 327
    Registrado : 05/03/2017

    Re: [Resolvido]Excluir itens de uma tabela

    Mensagem  fazerbem em 26/6/2018, 21:39

    Da erro e trava, porem se eu manter apenas : AtualizarDadosSite (LinhaAtual), ai nao da problema.

    Parece que falta algo aqui: AtualizarDadosSite (LinhaAtual) rst("txtProduto"), rst("txtQNT"), pois o erro esta nesta linha , apos : (LinhaAtual)

    segue

    Código:


    Private Sub Comando8_Click()

    Dim rst As DAO.Recordset
    Set rst = CurrentDb.OpenRecordset("SELECT * FROM A10_Site_produtosVendidos;")

    Do While rst.EOF
    AtualizarDadosSite (LinhaAtual) rst("txtProduto"), rst("txtQNT")
    Loop

    '  AtualizarDadosSite (LinhaAtual)

        MsgBox ("O Site foi Atualizado com Sucesso !")
    End Sub



    Grato
    livio.sfranca
    livio.sfranca
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 149
    Registrado : 09/01/2018

    Re: [Resolvido]Excluir itens de uma tabela

    Mensagem  livio.sfranca em 26/6/2018, 22:54

    Desculpe, faltou um not no código que enviei.

    Altere "Do While rst.EOF" para "Do While Not rst.EOF" que deve dar certo.
    avatar
    fazerbem
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 327
    Registrado : 05/03/2017

    Re: [Resolvido]Excluir itens de uma tabela

    Mensagem  fazerbem em 26/6/2018, 23:02

    oi, podia ate ter erro, mas a falha nao e ai que esta impedindo a macro de rodar e sim aqui:

    AtualizarDadosSite (LinhaAtual) rst("txtProduto"), rst("txtQNT"), pois o erro esta nesta linha , apos : (LinhaAtual)

    Se eu por assim entao a macro roda , "AtualizarDadosSite (LinhaAtual)"

    Se por da forma que vc passou, ao rodar a nacro nem passa daqui: Private Sub Comando8_Click()

    Grato
    livio.sfranca
    livio.sfranca
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 149
    Registrado : 09/01/2018

    Re: [Resolvido]Excluir itens de uma tabela

    Mensagem  livio.sfranca em 26/6/2018, 23:20

    Qual a mensagem de erro que aparece?
    avatar
    fazerbem
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 327
    Registrado : 05/03/2017

    Re: [Resolvido]Excluir itens de uma tabela

    Mensagem  fazerbem em 26/6/2018, 23:31

    entao ao iniciar a macro ela ja trava aqui e nem segue

    Private Sub Comando8_Click()

    dai fica marcado : AtualizarDadosSite (LinhaAtual) rst("txtProduto"), rst("txtQNT")

    Se eu fizer : AtualizarDadosSite (LinhaAtual) ' rst("txtProduto"), rst("txtQNT"), dai segue

    avatar
    fazerbem
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 327
    Registrado : 05/03/2017

    Re: [Resolvido]Excluir itens de uma tabela

    Mensagem  fazerbem em 26/6/2018, 23:40

    Note que a linha esta toda vermelha:






    livio.sfranca
    livio.sfranca
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 149
    Registrado : 09/01/2018

    Re: [Resolvido]Excluir itens de uma tabela

    Mensagem  livio.sfranca em 26/6/2018, 23:46

    Essa variável "LinhaAtual" no final das contas serve para que? Ela está definida como?

    no Caso você ajustou a função "AtualizarDadosSite" como indiquei? Nela tinha feito algumas mudanças também.


    Public Function AtualizarDadosSite(sku As Long, QNT As Integer)
    '2º Fase
    Dim active, passwd, stringCompleta As String

    active = 3 '3 e uma referencia que sera usada no BD do Word Press para atender uma finalidade
    passwd = "MINHA SENHA"
    stringCompleta = "sku=" & sku & "&qnt=" & QNT & "&active=" & active & "&passwd=" & passwd
    EnviarParaWebsite (stringCompleta)
    End Function
    avatar
    fazerbem
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 327
    Registrado : 05/03/2017

    Re: [Resolvido]Excluir itens de uma tabela

    Mensagem  fazerbem em 27/6/2018, 00:07

    nem vi que tinha feito atualizacoes em outro lugar.
    Mas deixa te falar, eu usso essa 3 macros normalmente conforme estava sem vc mexer. Apenas que que faca o looping enquanto tiver produtos a serem enviados ao site.
    Se eu fizer um a um o codigo envia normalmente, eu quero fazer todos numa tacada so, por isso o loop.

    A segunda e terceira fase nem precisa mexer porque estao funcionando correto. problema e so acertar a primeira faze, pois ali que e feito o loop
    avatar
    fazerbem
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 327
    Registrado : 05/03/2017

    Re: [Resolvido]Excluir itens de uma tabela

    Mensagem  fazerbem em 27/6/2018, 00:13

    ssa variável "LinhaAtual" no final das contas serve para que? Ela está definida como?

    É um argumento e nao é opcional, removi aqui e ele pede pra por., se nao da erro e trava a macro tb.
    Na verdade meu filho que fez o codigo , que antes eu usava em excel e agora normalmente em Access,

    Problema e no que vc colocou depois de LinhaAtual, tanto e que esta deixando a linha com as letras toda em vermelho, , se nao a linha ficaria em preto
    livio.sfranca
    livio.sfranca
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 149
    Registrado : 09/01/2018

    Re: [Resolvido]Excluir itens de uma tabela

    Mensagem  livio.sfranca em 27/6/2018, 13:11

    Olha só, nesse caso essa variável LinhaAtual não vai lhe servir para nada. Pode eliminar ela.

    Só para você entender:

    Na 1ª fase, declarei e defini outra variável (rst). rst nesse caso, faz consulta linha por linha da sua tabela (Quando há dados) dentro do loop.

    Ao colocar rst("txtProduto"), o valor retornado será o código do produto. Onde você mudou para "txtProduto", deve estar o nome da coluna/campo da sua tabela que contém o código do produto;

    Ao colocar rst("txtQNT"), o valor retornado será a quantidade do produto. Onde você mudou para "txtQNT", deve estar o nome da coluna/campo da sua tabela que contém o código do produto;

    A função AtualizarDadosSite(sku As Long, QNT As Integer) tem 2 argumentos, sku e QNT.

    sku seria o código do produto, nesse caso seria definido como rst("txtProduto");
    QNT seria a quantidade, nesse caso seria definido como rst("txtQNT").

    Logo a chamada da função deveria ficar assim:

    AtualizarDadosSite rst("txtProduto"), rst("txtQNT")

    Lembrando que para tudo isso funcionar funcionar, deverá ter dados na tabela "TblBaixaVendas_Site".

    Caso não consiga entender, tente mandar seu BD (ou pelo menos parte dele) aqui para vermos o que está acontecendo.

    avatar
    fazerbem
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 327
    Registrado : 05/03/2017

    Re: [Resolvido]Excluir itens de uma tabela

    Mensagem  fazerbem em 27/6/2018, 13:38

    Desculpe Silvio, mas o problema estava porque nao alterei os itens na fase 2. Na minha ignorancia, como ainda nao tinha entrado na fase 2 e parava logo no inicio da fase 1, nao achei que influenciava as coisas. foi so eu mudar a fase 2 e funcionou tudo certinho.
    Obrigado mesmo por essa ajuda. Alias todos aqui que responderam todos os meus topicos me ajudaram muito. Sei que alguns topicos eu mesmo acabei resolvendo sozinho, mas na grande maioria houve intervencao aqui de vcs positivamente.
    Segue como ficou aqui as fases 1 e 2. A fase 3 nao mudou nada.

    Vao surgir outras duvidas em outros pontos , e espero sempre contar com seu apoio.

    Código:

    Private Sub Comando8_Click()
    Dim rst As DAO.Recordset
    Set rst = CurrentDb.OpenRecordset("SELECT * FROM TblSalvarBaixa_Site;")
    Do While Not rst.EOF
     AtualizarDadosSite rst("IdProduto"), rst("QNT")
    Loop
    End Sub

    Public Function AtualizarDadosSite(sku As Long, QNT As Integer)
    Dim active, passwd, stringCompleta As String
    active = 3
    passwd = "Minha Senha"
    stringCompleta = "sku=" & sku & "&qnt=" & QNT & "&active=" & active & "&passwd=" & passwd
    EnviarParaWebsite (stringCompleta)
    End Function


    Grato

    Andre
    avatar
    fazerbem
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 327
    Registrado : 05/03/2017

    Re: [Resolvido]Excluir itens de uma tabela

    Mensagem  fazerbem em 27/6/2018, 13:51

    So teve um probleminha que vi agora, na tabela eu coloquei 3 itens pra testar, porem o loop nao parou ficou direto , como fazer pra no final do ultimo produto o loop parar.

    Obs : Acrescentei depois do loop as linhas, lembrando que nesta tabela so existem dois campos, e nao uso chave primaria

    Código:

    Private Sub Comando8_Click()
    Dim rst As DAO.Recordset
    Set rst = CurrentDb.OpenRecordset("SELECT * FROM TblSalvarBaixa_Site;")
    Do While Not rst.EOF
      AtualizarDadosSite rst("IdProduto"), rst("QNT")
    Loop


    CurrentDb.Execute "DELETE * FROM TblSalvarBaixa_Site"
    MsgBox('Dados do Site Atualizados com exito")


    End Sub
    avatar
    fazerbem
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 327
    Registrado : 05/03/2017

    Re: [Resolvido]Excluir itens de uma tabela

    Mensagem  fazerbem em 27/6/2018, 13:56


    livio.sfranca
    livio.sfranca
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 149
    Registrado : 09/01/2018

    Re: [Resolvido]Excluir itens de uma tabela

    Mensagem  livio.sfranca em 27/6/2018, 14:05

    Vish, agora que vi, ficou faltando uma instrução antes do fim do loop:

    Coloque assim:

    Do While Not rst.EOF
    AtualizarDadosSite rst("IdProduto"), rst("QNT")
    rst.MoveNext
    Loop

    Assim vai resolver.
    avatar
    fazerbem
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 327
    Registrado : 05/03/2017

    Re: [Resolvido]Excluir itens de uma tabela

    Mensagem  fazerbem em 27/6/2018, 14:26

    Agora sim resolveu, valeu mesmo !!

    Andre
    livio.sfranca
    livio.sfranca
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 149
    Registrado : 09/01/2018

    Re: [Resolvido]Excluir itens de uma tabela

    Mensagem  livio.sfranca em 27/6/2018, 15:56

    André, só para complementar, coloque essas duas instruções no final do Private Sub Comando8_Click()

    rst.Close
    Set rst = Nothing

    End Sub

    avatar
    fazerbem
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 327
    Registrado : 05/03/2017

    Re: [Resolvido]Excluir itens de uma tabela

    Mensagem  fazerbem em 27/6/2018, 16:08

    feito aqui, grato, se puder dar uma olhada em meu outro topico. em Formularios.

    Andre
    avatar
    fazerbem
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 327
    Registrado : 05/03/2017

    Re: [Resolvido]Excluir itens de uma tabela

    Mensagem  fazerbem em 27/6/2018, 16:08

    em Movimento do dia

      Data/hora atual: 23/3/2019, 13:28