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]Popular form e Subform com dados de outra tabela

    Compartilhe

    FilipeFaria
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 17/06/2017

    [Resolvido]Popular form e Subform com dados de outra tabela

    Mensagem  FilipeFaria em Seg 10 Jul 2017, 00:12

    Pessoal, boa noite. Ainda estou com um tópico em aberto porém ao mesmo tempo estou dando continuidade na construção do sistema. Bom ontem surgiu uma dúvida na qual ainda estou tentando acertar, vi vários exemplos mas ainda não consegui desenvolver. Gostaria de uma ajuda dos amigos, ou mesmo o apontamento de um exemplo mais efetivo aqui do fórum para que eu possa desenvolver, fico grato pela força.

    Possuo uma tabela que é Ordem_Compra, onde lanço os dados da minha ordem de compra por meio do Form e sub Form. Tenho também a tabela e a Form para entrada da NF referente a essa ordem de compra.

    O que preciso é de uma forma que ao lançar o código da Oc na form_entradaNf que popule no subform os itens da OC para eu dar entrada. Coloquei na Form de entrada um CheckBox (sim/não) para marcar cada item, pois acredito que assim ficará mais fácil. Alguns dados a serem preenchidos na form de entrada de nf estão na form Frm_oc, sendo esses (Fornecedor, Deposito)  e os itens no subform detalhes da oc.

    A entrada será feita por item, marcarei o checkbox e clicarei no botão no qual terá o código para atualizar a quantidade em estoque (esse código já tenho). Um detalhe importante, no momento em que eu popular com os dados, ainda não deve ser salvo na tabela Entrada_NF, isso só deve ocorrer, quando clicar no botão de que terá o codigo que atualiza o estoque, visto que muita das vezes recebo a Ordem de Compra, em várias NFs.

    Agradeço desde já a ajuda de todos. Caso precisem do Bd, eu posto.
    Obrigado!!


    Última edição por FilipeFaria em Qui 27 Jul 2017, 03:03, editado 1 vez(es)

    FilipeFaria
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 17/06/2017

    Re: [Resolvido]Popular form e Subform com dados de outra tabela

    Mensagem  FilipeFaria em Sab 22 Jul 2017, 17:23

    Pessoal, boa tarde!!

    Sobre a ajuda anterior, consegui fazer colocando o subform contendo os dados da minha ordem de compra dentro desse meu form frm_entrada_nf , assim ele puxa os dados salvos na tabela, detalhes_da_oc.

    Estou com duas situações que acredito serem simples porém não estou conseguindo implementar, mesmo verificando alguns exemplos. Se alguém puder dar uma olhada, fico grato.

    Dados a trabalhar.:
    tabela: Ordem_de_compra,
    Form:  frm_entrada_nf, form_sub_entnf (este form esta dentro do frm_entrada_nf)

    1) Gostaria que no evento ao perder o foco, após ter digitado o meu número da ordem de compra no Form: frm_entrada_nf , que preenchesse automaticamente os campos Fornecedor e Depósito de acordo com com o numero da ordem de compra informada que esta na tabela ordem_de_compra. Tentei o dlookup, mas não consegui.


    2) Neste mesmo form: frm_entrada_nf, tenho um segundo sub formulário que traz os dados da tabela detalhes_da_oc, (funciona semelhante a caixa de listagem). Nele fiz um evento no duplo clique em cima do código do produto, esse evento insere o código do produto e a descrição do mesmo no outro subform: form_sub_entnf. O que eu gostaria é que ao clicar por ventura em um produto que já tenha sido inserido, o sistema bloqueasse e desse a mensagem de item já inserido. Já tentei em vários eventos da seguinte forma:


    If (Not IsNull(DLookup("[CodPrd]", "[DETALHES_ENTRADA_NF]", _
    "[CodPrd] ='" & Me.CodPrd & "' AND [NumOC] =  '" & Me.NumOC & "'"))) Then
          MsgBox "ITEM JÁ LANÇADO.", vbInformation, "ALERTA"
            Cancel = True 'cancela o evento.
           Me!CodPrd.Undo  'desfaz a digitação.
           

    e assim, com aspas simples (os campos são do tipo texto)

    If (Not IsNull(DLookup("[CodPrd]", "[DETALHES_ENTRADA_NF]", _
    "[CodPrd] ='" & Me.CodPrd & "' AND [NumOC] =  " & Me.NumOC & ""))) Then
          MsgBox "ITEM JÁ LANÇADO.", vbInformation, "TESTE"
            Cancel = True 'cancela o evento.
           Me!CodPrd.Undo  'desfaz a digitação.

    Segue o banco em anexo.
    Anexos
    Controle de Estoque.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (798 Kb) Baixado 4 vez(es)

    FilipeFaria
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 17/06/2017

    Re: [Resolvido]Popular form e Subform com dados de outra tabela

    Mensagem  FilipeFaria em Qui 27 Jul 2017, 03:03

    Pessoal, boa noite!!

    Passando para encerrar o tópico, graças a ajuda do grande Fabio Paes, deu tudo certo.

    Para o item 1: Foi inserido uma comboBox onde seleciono a ordem de compra, onde a origem da linha é a tabela Ordem_de_compra, onde tem os campos NUmOC, Fornecedor, Deposito.  Assim no evento ao atualizar do comboBox, foi só rodar o código: Me.Fornecedor = Me.NumOC.Column(1) e Me.Deposito = Me.NumOC.Column(2), claro que aqui depende da ordem das colunas na consulta de cada um.

    Para o item 2: no evento do duplo clique.


    Private Sub CodPrd_DblClick(Cancel As Integer)

       Dim F As String
       F = Nz(DCount("*", "DETALHES_ENTRADA_NF", "Codcont = " & Forms![FRM_ENTRADA_NF]![txt_IdIntControle] & " AND CodPrd = '" & Me.CodPrd & "'"), 0)
           If F > 0 Then
               MsgBox "ITEM JÁ INSERIDO NA NF.", vbInformation
               Exit Sub
           Else
               Dim DB As Database
               Dim rs As DAO.Recordset
               
               Set DB = CurrentDb()
               Set rs = DB.OpenRecordset("DETALHES_ENTRADA_NF")
                   rs.AddNew
                   rs!Codcont = Forms![FRM_ENTRADA_NF]![txt_IdIntControle]
                   rs!NumOC = Forms![FRM_ENTRADA_NF]![FORM_SUB_OC_ENTNF]![NumOC]
                   rs!CodPrd = Forms![FRM_ENTRADA_NF]![FORM_SUB_OC_ENTNF]![CodPrd]
                   rs!Produto = Forms![FRM_ENTRADA_NF]![FORM_SUB_OC_ENTNF]![Descricao]
                                   
                   rs.Update
               Set rs = Nothing
               Set DB = Nothing
               Forms![FRM_ENTRADA_NF]![FRM_SUB_ENTNF].Form.Requery
    End If
    End sub

    Aqui vale a pena ressaltar a observação das apas de acordo com o tipo do campo.

    Espero que ajude, assim como me ajudou. Abraços!!

      Data/hora atual: Qua 22 Nov 2017, 10:46