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


    [Resolvido]Edição de dados através de formularios

    avatar
    vailson
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 160
    Registrado : 08/05/2015

    [Resolvido]Edição de dados através de formularios Empty [Resolvido]Edição de dados através de formularios

    Mensagem  vailson Ter 16 maio 2017, 09:30

    Olá amigos,

    Estou emperrado em uma dúvida cruel aqui. Tenho um formulário que, ao pressionar um botão, preciso que ele abra um outro formulário em branco para preenchimento CASO DOIS CRITÉRIOS NÃO SEJAM ATENDIDOS: um critério é um número em um texbox e outro critério é a segunda coluna de um combobox. Caso esses critérios sejam atendidos, significa que informações já foram preenchidas anteriormente e eu preciso editá-las, então deveria abrir um outro formulário com as informações já preenchidas. O outro formulário eu fiz idêntico ao anterior e utilizei o Dpesquisa para preencher os campos com os dados da tabela referente a linha. Aí eu usei o seguinte código:
    Código:
    Private Sub bt_produtividade_Click()

    If DCount("codserv", "produtividade", "codserv= " & Me.txtCodDia) & DCount("codposto", "produtividade", "codposto= " & Me.cbPostoServico) = 0 Then
    MsgBox "Ainda não existe dados de produtividade. Favor inserir."
    DoCmd.OpenForm "produtividade"
    Else
    DoCmd.OpenForm "produtividade_edita", acNormal, , "[codposto] = " & Me.cbPostoServico, acFormEdit
    End If
    End Sub

    Só que não funciona. Alguém poderia me dar uma luz?
    Obrigado
    avatar
    vailson
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 160
    Registrado : 08/05/2015

    [Resolvido]Edição de dados através de formularios Empty Re: [Resolvido]Edição de dados através de formularios

    Mensagem  vailson Qua 17 maio 2017, 09:32

    Bom, avançando aqui, descobri que o problema era LÓGICA DE PROGRAMAÇÃO.

    Cheguei a esse código:
    Código:
    ' Caso não encontre nenhum coordenador e nenhum posto, insere novo
    If DCount("codserv", "produtividade", "codserv= " & Me.txtCodDia) = 0 And DCount("codposto", "produtividade", "codposto= " & Me.cbPostoServico.Column(1)) = 0 Then
    MsgBox "Ainda não existe dados de produtividade. Favor inserir."
    DoCmd.OpenForm "produtividade"

    ' Caso não encontre coordenador e encontre posto, insere novo
    ElseIf DCount("codserv", "produtividade", "codserv= " & Me.txtCodDia) = 0 And DCount("codposto", "produtividade", "codposto= " & Me.cbPostoServico.Column(1)) > 0 Then
    MsgBox "Ainda não existe dados de produtividade. Favor inserir."
    DoCmd.OpenForm "produtividade"

    ' Caso encontre coordenador e não encontre posto, insere novo
    ElseIf DCount("codserv", "produtividade", "codserv= " & Me.txtCodDia) > 0 And DCount("codposto", "produtividade", "codposto= " & Me.cbPostoServico.Column(1)) = 0 Then
    MsgBox "Ainda não existe dados de produtividade. Favor inserir."
    DoCmd.OpenForm "produtividade"


    Else
    DoCmd.OpenForm "produtividade_edita"
    End If

    Mas aí surgiu outro problema: Esse código conta toda a tabela, ou seja, é ineficaz, pois vai achar resultados em linhas diferentes da tabela, e eu preciso que eles coincidam na mesma linha.
    Como fazer para que coincidam os resultados apenas da mesma linha?

    Abaixo, a tabela:
    Código:
    codServ codPosto
    16 18
    16 15
    17 18

    O Dcount vai achar codServ 17 e codPosto 15 como existentes e validar a função, mas estão em linhas diferentes, ou seja, não é verdadeiro. Como corrigir isso?
    Abçs
    avatar
    vailson
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 160
    Registrado : 08/05/2015

    [Resolvido]Edição de dados através de formularios Empty Re: [Resolvido]Edição de dados através de formularios

    Mensagem  vailson Qua 17 maio 2017, 10:19

    Primeira parte do problema solucionado:
    Inseri uma nova coluna na tabela concatenando os valores cosServ e codPosto, criando dessa forma um valor que nunca se repetirá, como se fosse uma chave primária.

    Falta agora resolver como editar os dados.
    avatar
    vailson
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 160
    Registrado : 08/05/2015

    [Resolvido]Edição de dados através de formularios Empty Re: [Resolvido]Edição de dados através de formularios

    Mensagem  vailson Qua 17 maio 2017, 14:09

    Pessoal, preciso dar um update na tabela e não tô conseguindo.
    Código:
    Dim DB As dao.Database
    Set DB = CurrentDb()
    DB.Execute "UPDATE produtividade SET pessoas=" & Me.pessoas

    Preciso encaixar um where aí, para atualizar apenas a linha correspondente na tabela. Do jeito que tá aí, tá atualizando toda a tabela.
    avatar
    vailson
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 160
    Registrado : 08/05/2015

    [Resolvido]Edição de dados através de formularios Empty Re: [Resolvido]Edição de dados através de formularios

    Mensagem  vailson Qua 17 maio 2017, 14:35

    Bom.
    Problema solucionado.

    Código:
    Dim DB As dao.Database
    Set DB = CurrentDb()
    DB.Execute "UPDATE produtividade SET pessoas= " & Me.pessoas & " where produtividade.codproduti= " & Me.codProduti & ""

    Obrigado!
    avatar
    vailson
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 160
    Registrado : 08/05/2015

    [Resolvido]Edição de dados através de formularios Empty Re: [Resolvido]Edição de dados através de formularios

    Mensagem  vailson Qua 17 maio 2017, 14:36

    .

    Conteúdo patrocinado


    [Resolvido]Edição de dados através de formularios Empty Re: [Resolvido]Edição de dados através de formularios

    Mensagem  Conteúdo patrocinado


      Data/hora atual: Sex 08 Nov 2024, 14:57