MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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


3 participantes

    [Resolvido]Localizar registro na tabela e alterar devido a determinada condição.

    MadMax
    MadMax
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 21
    Registrado : 20/04/2021

    [Resolvido]Localizar registro na tabela e alterar devido a determinada condição. Empty [Resolvido]Localizar registro na tabela e alterar devido a determinada condição.

    Mensagem  MadMax 10/5/2021, 15:52

    Olá Pessoal sou novo aqui no fórum e não sei muito de VBA mas gostaria de saber como faço, através de cod. VBA, para encontrar e alterar todos os registros em uma determinada tabela de acordo com uma determinada condição de um campo de formulário.
    Exemplo:

    Tabela1:

    PlantaNumero|Status|RegistroNumero|


    Formulario1:

    Campo1: PlantaNumero
    Campo2: RegistroNumero

    Então eu gostaria de uma ajuda para criar um código, que de acordo com o Campo1, alterasse os dados da Tabela1 coluna RegistroNumero, com valor "VAZIO" para o valor inputado no Formulario1(Campo2), e alterasse também a Coluna da Tabela1 [Status] de "Aguardando" para "Registrado".

    Cod. VBA: (Que eu tentei sem sucesso)

    Código:
    Public Sub Registro()
       
    Dim strSQL As String
    Dim strSQL2 As String

    strSQL = "UPDATE [Tabela1] " & _
     "SET [Status] = Replace(Status,""Aguardando"",""Registrado"") " & _
     "WHERE InStr([PlantaNumero], "Form![Formulario1]!Campo1") > 0 "

    strSQL2 = "UPDATE [Tabela1] " & _
    "SET [RegistroNumero] = Replace(RegistroNumero,"""",""Form![Formulario1]!Campo2"") " & _
     "WHERE InStr([PlantaNumero], "Form![Formulario1]!Campo1") > 0 "

    CurrentDb.Execute strSQL, dbFailOnError

    End Sub

    Observação: Todos os Campos da Tabela1 são TEXTO.

    Obrigado a todos pelo suporte... Very Happy


    Última edição por MadMax em 10/5/2021, 19:29, editado 1 vez(es)

    MadMax gosta desta mensagem

    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3873
    Registrado : 21/04/2011

    [Resolvido]Localizar registro na tabela e alterar devido a determinada condição. Empty Re: [Resolvido]Localizar registro na tabela e alterar devido a determinada condição.

    Mensagem  Marcelo David 10/5/2021, 16:00

    Tópico movido para sala mais apropriada.

    observe sua dúvida e onde abrir os tópicos das próximas vezes.

    Leia as regras do fórum aqui.

    Seja bem vindo a nossa comunidade de amantes do Access. cheers Very Happy

    Estou um tanto quanto atarefado agora. Vamos aguardar algum
    colega te auxiliar. Se quando eu desocupar um pouco aqui ainda
    não houver respostas, tentaremos algo.

    Boa sorte.


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Conheça meu canal no Youtube e se inscreva.
    [Resolvido]Localizar registro na tabela e alterar devido a determinada condição. Marcel11

    MadMax gosta desta mensagem

    MadMax
    MadMax
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 21
    Registrado : 20/04/2021

    [Resolvido]Localizar registro na tabela e alterar devido a determinada condição. Empty Localizar registro na tabela e alterar devido a determinada condição.

    Mensagem  MadMax 11/5/2021, 15:39

    Pessoal meu problema está na parte do código abaixo, eu não consigo trazer o valor do campo do formulário, pois quando eu digito o valor entre ""_"" ele funciona.

    Código:
    "WHERE InStr([PlantaNumero], "Form![Formulario1]!Campo1") > 0 "

    Na parte do código "Form![Formulario1]!Campo1" se eu trocar por ""A123"" (que é o valor do Campo1 do form) funciona.

    Então alguém sabe como posso trazer esse valor de string para essa parte do código ("Form![Formulario1]!Campo1")?

    Obs.: O Formulário está aberto e o Campo1 não está associado.

    MadMax gosta desta mensagem

    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3218
    Registrado : 13/12/2016

    [Resolvido]Localizar registro na tabela e alterar devido a determinada condição. Empty Re: [Resolvido]Localizar registro na tabela e alterar devido a determinada condição.

    Mensagem  Alexandre Fim 11/5/2021, 17:03

    Olá MadMax,

    Seu código está equivocado, e do jeito que está, não irá funcionar.

    Tente isso:

    Código:


    Dim strSQL      As String
    Dim strSQL2    As String

        strSQL = "UPDATE Tabela1 SET"
        strSQL = strSQL & " Status = 'Registrado' "
        strSQL = strSQL & " WHERE PlantaNumero LIKE '*" & Form![Formulario1]!Campo1 & "*'"
        strSQL = strSQL & " AND Status = 'Aguardando'"
        strSQL = strSQL & " AND PlantaNumero <> '0'"
       
       
        strSQL2 = "UPDATE Tabela1 SET RegistroNumero = '" & Form![Formulario1]!Campo2 & "'"
        strSQL2 = strSQL2 & " WHERE PlantaNumero LIKE '*" & Form![Formulario1]!Campo1 & "*'"
       
        CurrentDb.Execute strSQL, dbFailOnError
        CurrentDb.Execute strSQL2, dbFailOnError




    Boa sorte

    []'s

    FIM


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Localizar registro na tabela e alterar devido a determinada condição. Setinf11
    Sistemas e Tecnologia Ltda

    MadMax gosta desta mensagem

    MadMax
    MadMax
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 21
    Registrado : 20/04/2021

    [Resolvido]Localizar registro na tabela e alterar devido a determinada condição. Empty Re: [Resolvido]Localizar registro na tabela e alterar devido a determinada condição.

    Mensagem  MadMax 11/5/2021, 20:50

    Olá Alexandre Fim, obrigado pelo retorno.


    Não funcionou, "mensagem de erro '424' O objeto é obrigatório"

    No Depurador ele marca a linha abaixo em amarelo.

    strSQL = strSQL & " WHERE PlantaNumero LIKE '*" & Form![Formulario1]!Campo1 & "*'"


    Obrigado.

    MadMax gosta desta mensagem

    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3218
    Registrado : 13/12/2016

    [Resolvido]Localizar registro na tabela e alterar devido a determinada condição. Empty Re: [Resolvido]Localizar registro na tabela e alterar devido a determinada condição.

    Mensagem  Alexandre Fim 11/5/2021, 22:42

    Entendi.

    Ou não existe o campo "PlantaNumero" na tabela ou não existe o campo "Campo1" do formulário.

    Verifique.

    Se for o caso, disponibilize seu banco de dados (somente os objetos envolvidos do teu problema) para analisarmos.

    []'s

    FIM


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Localizar registro na tabela e alterar devido a determinada condição. Setinf11
    Sistemas e Tecnologia Ltda

    MadMax gosta desta mensagem

    MadMax
    MadMax
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 21
    Registrado : 20/04/2021

    [Resolvido]Localizar registro na tabela e alterar devido a determinada condição. Empty Re: [Resolvido]Localizar registro na tabela e alterar devido a determinada condição.

    Mensagem  MadMax 12/5/2021, 14:40

    Caro, Alexandre Fim.

    Troquei tudo que tinha Form![Formulario1]! por Me. e funcionou.
    Só tem um problema quando eu rodo o código, invés de alterar somente os registros em que a PlantaNumero = Campo1 e Status = "Aguardando", ele altera tudo em [Tabela1][RegistroNumero] que PlantaNumero = Campo1 independente do Status.
    Imagino ser algo simples, eu tentei varias alternativas baseado nas outras instruções, mas sem sucesso.

    Segue abaixo o BD anexo.
    Anexos
    [Resolvido]Localizar registro na tabela e alterar devido a determinada condição. AttachmentDatabase8.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (47 Kb) Baixado 5 vez(es)

    MadMax gosta desta mensagem

    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3218
    Registrado : 13/12/2016

    [Resolvido]Localizar registro na tabela e alterar devido a determinada condição. Empty Re: [Resolvido]Localizar registro na tabela e alterar devido a determinada condição.

    Mensagem  Alexandre Fim 12/5/2021, 15:20

    MadMax,

    O que precisa alterar o status é somente a Planta informada no campo1, correto?

    Vou ajustar e já te mando.

    []'s

    FIM


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Localizar registro na tabela e alterar devido a determinada condição. Setinf11
    Sistemas e Tecnologia Ltda

    MadMax gosta desta mensagem

    MadMax
    MadMax
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 21
    Registrado : 20/04/2021

    [Resolvido]Localizar registro na tabela e alterar devido a determinada condição. Empty Re: [Resolvido]Localizar registro na tabela e alterar devido a determinada condição.

    Mensagem  MadMax 12/5/2021, 15:44

    Alexandre
    Eu preciso que seja alterado o Status e RegistroNumero dos registros, desde que 2 condições sejam satisfeitas.

    1- PlantaNumero seja igual Campo1
    2- Status seja igual "Aguardando"

    Quando as condições acima forem satisfeitas ele deve alterar o registro conforme abaixo.

    1- Status fica com valor igual "Registrado"
    2- RegistroNumero fica Igual ao Campo2

    Obrigado pelo seu tempo dedicado...

    MadMax gosta desta mensagem

    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3218
    Registrado : 13/12/2016

    [Resolvido]Localizar registro na tabela e alterar devido a determinada condição. Empty Re: [Resolvido]Localizar registro na tabela e alterar devido a determinada condição.

    Mensagem  Alexandre Fim 12/5/2021, 16:11

    Olá MadMax,

    O formulário ficou assim:

    [Resolvido]Localizar registro na tabela e alterar devido a determinada condição. Planta10

    Todos os campos devem ser preenchidos.
    O sistema já faz esta validação

    Deixei os comentários no código informando o que cada linha executa.

    OBS: Procure nomear os objetos do form conforme sua característica, pois a manutenção fica mais fácil na hora de encontrar os controles
    Não utilize assim: Campo1, Comando792, Combinação35, Formulario1, Tabela1 e etc.

    Espero ter ajudado

    []'s

    FIM
    Anexos
    [Resolvido]Localizar registro na tabela e alterar devido a determinada condição. AttachmentDatabase8_v2.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (60 Kb) Baixado 15 vez(es)


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Localizar registro na tabela e alterar devido a determinada condição. Setinf11
    Sistemas e Tecnologia Ltda

    MadMax gosta desta mensagem

    MadMax
    MadMax
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 21
    Registrado : 20/04/2021

    [Resolvido]Localizar registro na tabela e alterar devido a determinada condição. Empty Re: [Resolvido]Localizar registro na tabela e alterar devido a determinada condição.

    Mensagem  MadMax 12/5/2021, 22:00

    Alexandre, muito obrigado.

    Além de dar certo, obrigado pelo design do formulário, rsrsrs.

    Só fiz uma alteração para ele só alterar o campo onde a PlantaNumero e o Status fossem o mesmo valor do formulário.

    Código:
    strSQL = strSQL & " WHERE (PlantaNumero = '" & Trim(Me.cboPlanta) & "' AND Status  = ""Aguardando"")"

    Vlw.

    Alexandre Fim gosta desta mensagem

    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3218
    Registrado : 13/12/2016

    [Resolvido]Localizar registro na tabela e alterar devido a determinada condição. Empty Re: [Resolvido]Localizar registro na tabela e alterar devido a determinada condição.

    Mensagem  Alexandre Fim 12/5/2021, 23:09

    Blz MadMax..
    Boa sorte e sucesso !!!


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Localizar registro na tabela e alterar devido a determinada condição. Setinf11
    Sistemas e Tecnologia Ltda

    MadMax gosta desta mensagem


    Conteúdo patrocinado


    [Resolvido]Localizar registro na tabela e alterar devido a determinada condição. Empty Re: [Resolvido]Localizar registro na tabela e alterar devido a determinada condição.

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 2/5/2024, 09:54