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


4 participantes

    [Resolvido]Form no formato de tabela (atualizar)

    carolinesilva115
    carolinesilva115
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 91
    Registrado : 23/12/2019

    [Resolvido]Form no formato de tabela (atualizar) Empty [Resolvido]Form no formato de tabela (atualizar)

    Mensagem  carolinesilva115 20/4/2020, 15:11

    Olá!

    Tenho um formulário no qual uma mesma operação pode possuir vários orçamentos. Gostaria que  na caixa "Status" do menor valor de orçamento aparecesse "Considerar" e no restante aparecesse "Não considerar" para cada alteração no campo "Valor"(isso é para cada operação).

    Coloquei o banco em anexo.

    Veja o exemplo abaixo:

    [Resolvido]Form no formato de tabela (atualizar) Tela10
    Anexos
    [Resolvido]Form no formato de tabela (atualizar) AttachmentDatabase5.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (40 Kb) Baixado 6 vez(es)
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 21/11/2016

    [Resolvido]Form no formato de tabela (atualizar) Empty Re: [Resolvido]Form no formato de tabela (atualizar)

    Mensagem  DamascenoJr. 20/4/2020, 22:48

    Veja.
    Anexos
    [Resolvido]Form no formato de tabela (atualizar) AttachmentDatabase5_Rev.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (23 Kb) Baixado 19 vez(es)


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    carolinesilva115
    carolinesilva115
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 91
    Registrado : 23/12/2019

    [Resolvido]Form no formato de tabela (atualizar) Empty Re: [Resolvido]Form no formato de tabela (atualizar)

    Mensagem  carolinesilva115 4/5/2020, 19:29

    Obg!!

    Não tem como passar o texto do campo "Status" pra tabela??
    carolinesilva115
    carolinesilva115
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 91
    Registrado : 23/12/2019

    [Resolvido]Form no formato de tabela (atualizar) Empty Código não roda corretamente

    Mensagem  carolinesilva115 4/5/2020, 20:28

    Olá! Tenho um formulário no qual temos o Nº das operações e os valores de orçamentos.
    Fiz um código para o Access calcular o menor orçamento de cada operação e retornar o texto "Considerar" no campo "Status", os demais valores ficam "Não considerar".

    Obs: Para cada operação deve ter um 'Considerar' que, no caso, seriam os valores do menores orçamentos.

    Entretanto, esse código está dando erro ("Conflito de gravação")  ou nem chega a funcionar ao alterarmos os valores. Alguém saberia dizer pq? vou colocar o código e o arquivo.

    Código:
    Private Sub txtValor_AfterUpdate()

    Dim db As dao.Database
    Dim tabela, tabmin As String
    Dim rs, rs2 As dao.Recordset

    'Utilizei comandos do SQL no VBA para que conseguisse separar o menor orçamento de cada operação
    tabela = "SELECT Operacao,Valor, Status FROM TabOrcamentos" 'operação e valores
    tabmin = "SELECT Operacao, Min(Valor)as minimo FROM TabOrcamentos GROUP BY Operacao" 'consulta com todos os valores mínimo de cada operação

    Set db = CurrentDb
    Set rs = db.OpenRecordset(tabela)
    Set rs2 = db.OpenRecordset(tabmin)

    With rs

        rs.MoveFirst ' Ir para a primeira linha da Tab3Orcamentos

        Do Until rs.EOF 'O comando funcionará até chegar na última linha da Tab3Orcamentos. Obs: EOF = true  se você está no fim do recordset(depois do último registro) .
            Do Until rs!Operacao > rs2!Operacao 'Critério para "tabmin" ir para próxima linha
        
                If rs!Operacao & rs!Valor = rs2!Operacao & rs2!minimo Then
                 rs.Edit
                 rs!Status = "Considerar"
                ElseIf rs!Operacao = rs!Operacao Then
                 rs.Edit
                 rs!Status = "Não considerar"
                End If
                rs.Update
                rs.MoveNext 'ir para próxima linha da tabela
                If rs.EOF = True Then
                    Exit Sub 'se o código chegar na última linha da tabela, a sub será encerrada
                End If
            Loop
            rs2.MoveNext 'ir para próxima linha de tabmin
        Loop
    End With
    End Sub


    Anexos
    [Resolvido]Form no formato de tabela (atualizar) AttachmentDatabase5_Rev - Copia.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (32 Kb) Baixado 4 vez(es)
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 21/11/2016

    [Resolvido]Form no formato de tabela (atualizar) Empty Re: [Resolvido]Form no formato de tabela (atualizar)

    Mensagem  DamascenoJr. 4/5/2020, 20:42

    Tópico fundido.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 21/11/2016

    [Resolvido]Form no formato de tabela (atualizar) Empty Re: [Resolvido]Form no formato de tabela (atualizar)

    Mensagem  DamascenoJr. 4/5/2020, 20:55

    Caroline, eu vejo esse comportamento buscado por você como um comportamento característico do Excel. Típico de planilha eletrônica. Alterar um registro e ao mesmo tempo seguir alterando todos os demais registros do banco implicam no conflito de gravação que você está se deparando.

    No Access o ideal seria lançar as propostas em uma tabela, solicitar a execução de uma macro que classifique as propostas e após isso fazer abertura de um relatório listando o resultado.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    carolinesilva115
    carolinesilva115
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 91
    Registrado : 23/12/2019

    [Resolvido]Form no formato de tabela (atualizar) Empty Re: [Resolvido]Form no formato de tabela (atualizar)

    Mensagem  carolinesilva115 4/5/2020, 21:14

    Não foi isso que eu fiz?
    carolinesilva115
    carolinesilva115
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 91
    Registrado : 23/12/2019

    [Resolvido]Form no formato de tabela (atualizar) Empty Re: [Resolvido]Form no formato de tabela (atualizar)

    Mensagem  carolinesilva115 4/5/2020, 21:15

    Não pode separar minhas duas perguntas novamente?
    Ninguém irá me responder aqui pq o post é antigo e as peguntas são diferentes...
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 21/11/2016

    [Resolvido]Form no formato de tabela (atualizar) Empty Re: [Resolvido]Form no formato de tabela (atualizar)

    Mensagem  DamascenoJr. 4/5/2020, 21:26

    Eu fundi os tópicos pois se trata da mesma ideia. É importante que os membros que participarem vejam o início do assunto e o objetivo a ser alcançado.

    Sempre que o seu tópico descer, basta adicionar um "UP" para ser listado no topo da sala novamente.

    carolinesilva115 escreveu:Não foi isso que eu fiz?
    Não, não foi. Você está usando um formulário para o pretendido e não um relatório.
    Farei uma adaptação para o resultado ser listado em relatório.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    avatar
    Ismael Silva
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 827
    Registrado : 11/12/2017

    [Resolvido]Form no formato de tabela (atualizar) Empty Re: [Resolvido]Form no formato de tabela (atualizar)

    Mensagem  Ismael Silva 4/5/2020, 21:41

    Só pra acompanhar, pois tenho algo semelhante aqui, e talvez consiga adaptar alguma coisa.
    carolinesilva115
    carolinesilva115
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 91
    Registrado : 23/12/2019

    [Resolvido]Form no formato de tabela (atualizar) Empty Re: [Resolvido]Form no formato de tabela (atualizar)

    Mensagem  carolinesilva115 5/5/2020, 11:18

    Se puder me ajudar com esse relatório, ficarei mt grata!
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 21/11/2016

    [Resolvido]Form no formato de tabela (atualizar) Empty Re: [Resolvido]Form no formato de tabela (atualizar)

    Mensagem  DamascenoJr. 5/5/2020, 15:07

    Uma tabela para armazenar informações.
    Um formulário para inserir informações.
    Um relatório para exibir as informações.

    Assim é o MS Access.
    Anexos
    [Resolvido]Form no formato de tabela (atualizar) AttachmentDatabase5_Rev2.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (56 Kb) Baixado 15 vez(es)


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    Celso Roberto
    Celso Roberto
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1076
    Registrado : 01/03/2014

    [Resolvido]Form no formato de tabela (atualizar) Empty Re: [Resolvido]Form no formato de tabela (atualizar)

    Mensagem  Celso Roberto 5/5/2020, 17:33

    Olá..

    Com a licença do querido Amigo DamascenoJr.

    Só para compensar o meu tempinho de dedicação a este tópico, deixo um exemplo executando a tarefa em formulário.

    Espero que também possa ser aproveitado.

    Abraços e sucesso a todos
    Anexos
    [Resolvido]Form no formato de tabela (atualizar) AttachmentDatabase5Novo.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (89 Kb) Baixado 18 vez(es)


    Última edição por Celso Roberto em 6/5/2020, 18:15, editado 1 vez(es)


    .................................................................................


    Você fica satisfeito ao ter sua dúvida solucionada?.
    Quem te ajuda também fica quando você da o tópico por "Resolvido".
    Veja como neste Link: https://www.maximoaccess.com/t860-resolucao-de-topicos



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 21/11/2016

    [Resolvido]Form no formato de tabela (atualizar) Empty Re: [Resolvido]Form no formato de tabela (atualizar)

    Mensagem  DamascenoJr. 5/5/2020, 18:21

    Grande Celso, obrigado por participar.

    Espero que resolva a questão.

    Aguardemos.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    carolinesilva115
    carolinesilva115
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 91
    Registrado : 23/12/2019

    [Resolvido]Form no formato de tabela (atualizar) Empty Re: [Resolvido]Form no formato de tabela (atualizar)

    Mensagem  carolinesilva115 5/5/2020, 21:57

    O Celso fez oq eu queria!!

    Mas mt obrigada a ambos!!

    Vcs são gênios!!
    Celso Roberto
    Celso Roberto
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1076
    Registrado : 01/03/2014

    [Resolvido]Form no formato de tabela (atualizar) Empty Re: [Resolvido]Form no formato de tabela (atualizar)

    Mensagem  Celso Roberto 5/5/2020, 22:24

    Olá..

    Ficamos felizes por ter ajudado cheers cheers cheers

    O fórum agradece o seu retorno

    Abraços e sucesso


    .................................................................................


    Você fica satisfeito ao ter sua dúvida solucionada?.
    Quem te ajuda também fica quando você da o tópico por "Resolvido".
    Veja como neste Link: https://www.maximoaccess.com/t860-resolucao-de-topicos



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 21/11/2016

    [Resolvido]Form no formato de tabela (atualizar) Empty Re: [Resolvido]Form no formato de tabela (atualizar)

    Mensagem  DamascenoJr. 5/5/2020, 22:27

    lol!


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    Celso Roberto
    Celso Roberto
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1076
    Registrado : 01/03/2014

    [Resolvido]Form no formato de tabela (atualizar) Empty Re: [Resolvido]Form no formato de tabela (atualizar)

    Mensagem  Celso Roberto 6/5/2020, 17:14

    Olá..

    No exemplo que anexei na mensagem 13, deixei o código com alguma sujeiras.
    Deixo abaixo o código mais limpo, por favor substitua no seu projeto.

    Código:
    Public Sub Atualizar()
       
        Dim Rs As DAO.Recordset
        Dim ValorMin As Integer
        Dim VarOperacao As Variant
       
        Set Rs = Me.Recordset
                 
            Rs.MoveFirst
            VarOperacao = Me.txtOperacao 'Guarda a operação atual
            ValorMin = DMin("Valor", "TabOrcamentos", "Operacao=" & Me.txtOperacao)  'Guarda o menor valor ref. a operação
                   
            Do While Not Rs.EOF
           
            With Rs
            If VarOperacao = Me.txtOperacao Then 'Se valor da variavel for igual a caixa de texto do formulário..
                .Edit
                    If Me.txtValor = ValorMin Then 'Se caixa de texto for igual a variavel
                        Me.Status = "Considerar"
                    Else 'Caso contrário (Senão)
                        Me.Status = "Não Considerar"
                    End If
                   
                .Update
                .MoveNext 'Move para próximo registro
               
            Else '(Senão)
               
                'Se valor da variável do próximo registro, for diferente da caixa de texto do formulário,
                'atualiza variável para nova operação encontrada
                VarOperacao = Me.txtOperacao
               
                'Atualiza valor minimo ref. a nova operação encontrada
                ValorMin = DMin("Valor", "TabOrcamentos", "Operacao=" & Me.txtOperacao)  'Busca o maior valor de abastc.
            End If
           
            End With
            Loop
            Me.Refresh
            'Rs.Close
            Set Rs = Nothing
       
    End Sub

    Abraços e sucesso


    .................................................................................


    Você fica satisfeito ao ter sua dúvida solucionada?.
    Quem te ajuda também fica quando você da o tópico por "Resolvido".
    Veja como neste Link: https://www.maximoaccess.com/t860-resolucao-de-topicos



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 21/11/2016

    [Resolvido]Form no formato de tabela (atualizar) Empty Re: [Resolvido]Form no formato de tabela (atualizar)

    Mensagem  DamascenoJr. 6/5/2020, 19:05

    Celso, tentei e não consegui. Consegue fazer o foco ficar no registro atual?


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    Celso Roberto
    Celso Roberto
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1076
    Registrado : 01/03/2014

    [Resolvido]Form no formato de tabela (atualizar) Empty Re: [Resolvido]Form no formato de tabela (atualizar)

    Mensagem  Celso Roberto 6/5/2020, 19:45

    Olá DamascenoJr.

    Faça o seguinte:

    Acrescente o campo Id no formulario e de o nome de txtId

    Comente o Me.Refresh no Public Sub Atualizar()

    No Após atualizar do txtValor, altere para código abaixo

    Código:
    Private Sub txtValor_AfterUpdate()
        Dim RegAtual As Integer
        RegAtual = Me.txtId 'Grava registro atual na Variável RegAtual

        Call Atualizar
        Me.Requery
        DoCmd.SearchForRecord , "", acFirst, "[Id] =" & RegAtual 'Vai para Registro definida na Variável RegAtual
        Me.txtValor.SetFocus

    End Sub


    Abraços e sucesso


    .................................................................................


    Você fica satisfeito ao ter sua dúvida solucionada?.
    Quem te ajuda também fica quando você da o tópico por "Resolvido".
    Veja como neste Link: https://www.maximoaccess.com/t860-resolucao-de-topicos



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 21/11/2016

    [Resolvido]Form no formato de tabela (atualizar) Empty Re: [Resolvido]Form no formato de tabela (atualizar)

    Mensagem  DamascenoJr. 6/5/2020, 19:54

    lol!


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    carolinesilva115
    carolinesilva115
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 91
    Registrado : 23/12/2019

    [Resolvido]Form no formato de tabela (atualizar) Empty Re: [Resolvido]Form no formato de tabela (atualizar)

    Mensagem  carolinesilva115 13/5/2020, 21:07

    Me tirem mais uma dúvida?

    Pq em alguns casos a gente tem que colocar as aspas no nome do campo em expressões como o do amigo que comentou aí acima?

    Ex:
    "[Id] =" & RegAtual

    Celso Roberto
    Celso Roberto
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1076
    Registrado : 01/03/2014

    [Resolvido]Form no formato de tabela (atualizar) Empty Re: [Resolvido]Form no formato de tabela (atualizar)

    Mensagem  Celso Roberto 14/5/2020, 15:46

    Olá..

    As aspas são chamados com delimitadores de caracteres, para entender melhor leia este artigo


    Copie e cole no seu navegador
    docs.microsoft.com/pt-br/office/vba/access/concepts/criteria-expressions/include-quotation-marks-in-string-expressions

    Abraços e sucesso


    .................................................................................


    Você fica satisfeito ao ter sua dúvida solucionada?.
    Quem te ajuda também fica quando você da o tópico por "Resolvido".
    Veja como neste Link: https://www.maximoaccess.com/t860-resolucao-de-topicos



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....

    Conteúdo patrocinado


    [Resolvido]Form no formato de tabela (atualizar) Empty Re: [Resolvido]Form no formato de tabela (atualizar)

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 19/4/2024, 06:19