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


2 participantes

    [Resolvido]Códigos em Sub Formularios

    avatar
    Bessa_SP
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 221
    Registrado : 07/11/2013

    [Resolvido]Códigos em Sub Formularios Empty [Resolvido]Códigos em Sub Formularios

    Mensagem  Bessa_SP 25/1/2019, 19:55

    Boa tarde Srs.

    Estou com um enorme problema e não sei como seria possível resolver.
    Veja eu lanço uma despesa nela tem o formulário principal que e da Tbl_Ent_Saida e o Sub da Tbl_Despesas_novas.
    Tenho outro para lançamento de Entrada de produtos em estoque aonde tem um formulario principal Tbl_Entrada e o Sub Tbl_it_entrada.

    Bom o problema é quando eu lanço uma despesa referente a compra de Estoque eu gostaria que dentro do formulário de despesas que tem o nome Frm_ent_saida eu coloquei um botão cadastro de estoque, ao clicar ele copia o dados (data_lancamento/Nf/Fornecedor), todos para o formulário principal de lançamento de estoque que tem o nome Frm_entrada, até aí tudo bem, só que o sub do lançamento de despesas, que tem o nome de Frm_despesas_novas_sub, tem os dados da compra como produto, quantidade, valor unitário, e esse valores eu queria que fossem para a sub do formulário de estoque que tem o nome de frm_it_entrada_sub.
    Isso é possível?
    Alguém poderia me postar o codigo para que eu pudesse testar.

    Obrigado!!!!
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Códigos em Sub Formularios Empty Re: [Resolvido]Códigos em Sub Formularios

    Mensagem  Marcelo David 25/1/2019, 22:17

    Boa noite,
    Está meio confuso, mas com um insert no evento adequado deve dar certo.


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Conheça meu canal no Youtube e se inscreva.
    [Resolvido]Códigos em Sub Formularios Marcel11
    avatar
    Bessa_SP
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 221
    Registrado : 07/11/2013

    [Resolvido]Códigos em Sub Formularios Empty Códigos em Sub Formularios

    Mensagem  Bessa_SP 28/1/2019, 12:07

    Boa tarde Sr. Marcelo David

    Obrigado por tentar me ajudar...
    Vou tentar me explicar melhor...
    Existem dois formulários principais, frm_ent_saida (aonde se lança a despesa) e frm_entrada (aonde dar se entrada do produto no estoque), sendo que cada um desses formulários tem suas sub's, quando for uma despesa referente a compra de estoque eu necessito que ao termino do lançamento a pessoa ira clicar no btn_estoque e abrirá o frm_entrada, bom isso coloquei o seguinte código:

    Private Sub btn_estoque_Click()
    DoCmd.OpenForm "frm_entrada", acNormal

    Ao abrir o formulário de entrada de estoque eu peguei os campos de (Nf/Data Lançamento/Fornecedor) todos do frm_ent_saida e copiei para o frm_entrada que ficou assim:

    Private Sub Form_Load()

    DoCmd.GoToRecord acForm, "Frm_ENTRADA", acNewRec

    Dim f
    For Each f In Forms
    If f.Name = "frm_Ent_saida" Then
    Me!Txt_Data_Entrada = Forms!frm_Ent_saida!Txt_Dt_Lanca
    Me!Txt_NF_Entrada = Forms!frm_Ent_saida!Txt_NF
    Me!Txt_Fornecedor = Forms!frm_Ent_saida!Txt_Fornecedor

    DoCmd.Close acForm, "frm_Ent_saida"

    Até aí deu tudo certo os campos são copiados de formulário principal para formulário principal, agora eu preciso dos dados das sub, ou seja no frm_ent_saida tem uma sub chamada frm_despesas_sub, eu preciso que os dados dos campos (qtd_despesas/Vlr_unt_Desp/Desc_Finalidade), sejam copiados para a sub do formulário frm_entrada que tem o nome: frm_itens_Entrada_sub para os seguintes campos (Qtd_produto/Valor_unt/Produto), ou seja uma sub copiando dados para outra sub...
    Eu nunca utilizei o Insert, vou pesquisar sobre esse código mas se o amigo puder me ajudar de acordo com as explicações acima, te agradeço demais.

    Obrigado.
    avatar
    Bessa_SP
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 221
    Registrado : 07/11/2013

    [Resolvido]Códigos em Sub Formularios Empty Códigos em Sub Formularios

    Mensagem  Bessa_SP 28/1/2019, 19:14

    Boa tarde

    Eu tentei os seguintes códigos:
    Dim dbEntrada As Database, rs1, rs2 As DAO.Recordset
       If MsgBox("Deseja Cadastrar Estoque?", vbYesNo + vbQuestion, Me.Caption) = vbNo Then
           Me.Undo
           DoCmd.CancelEvent
           MsgBox "Não foi possível dar entrada no Estoque!", vbInformation, Me.Caption
           Exit Sub
       Else
           
           Set dbEntrada = CurrentDb
    Set rs1 = dbEntrada.OpenRecordset("SELECT * FROM Tbl_Despesas_nova")
    Set rs2 = dbEntrada.OpenRecordset("Tbl_itens_Entrada") ' substituir tabela
         
               With rs1
                   .AddNew
                     
                      !rs1![Qtd_Despesas] = rs2![qtd_produto]
                      !rs1![Vlr_unt_desp] = rs2![Valor_unt] ' substituir esse campo
                   .Update
                   rs1.MoveNext
               
               End With

           
               
           rs1.Close
         
         DoCmd.OpenForm "frm_Entrada"
         DoCmd.Close acForm, "frm_Ent_saida_espelho"
     
    End If

    End Sub

    E o erro está aparecendo na primeira linha:
    rs1![qtd_despesas] = rs2![Qtd_produto]

    Aonde estou errando, se alguém puder me ajudar
    avatar
    Bessa_SP
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 221
    Registrado : 07/11/2013

    [Resolvido]Códigos em Sub Formularios Empty Códigos em Sub Formularios

    Mensagem  Bessa_SP 30/1/2019, 22:33

    Boa noite Srs.

    Estou tentando resolver esse problema, cheguei ao código abaixo:

    Private Sub btn_estoque_Click()
    Dim rs As DAO.Recordset
    Dim rs2 As DAO.Recordset

    Set rs = CurrentDb.OpenRecordset("tbl_despesas_nova")
    Set rs2 = CurrentDb.OpenRecordset("Tbl_itens_Entrada")
    Do While Not rs.EOF
    rs2.AddNew
    rs2!Qtd_Produto.Value = rs!Qtd_Despesas.Value
    rs2!Valor_unt.Value = rs!Vlr_unt_desp.Value

    rs2.Update
    rs.MoveNext
    Loop
    rs2.Close
    rs.Close


    Set rs2 = Nothing
    Set rs = Nothing

    DoCmd.OpenForm "Frm_entrada"
    DoCmd.Close acForm, "frm_Ent_saida

    Acontece que todos os dados da tbl_despesas_nova estão sendo copiados, não somente a despesa específica.
    Alguém pode me ajudar a encontrar o erro.
    Obrigado.
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Códigos em Sub Formularios Empty Re: [Resolvido]Códigos em Sub Formularios

    Mensagem  Marcelo David 30/1/2019, 22:40

    Bessa_SP escreveu:Acontece que todos os dados da tbl_despesas_nova estão sendo copiados, não somente a despesa específica.
    Qual campo da tabela tbl_despesas_nova identifica a despesa? Pois nesse identificador ou chave primária/estrangeira é que limitaríamos isso na clausula WHERE da sql.


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Conheça meu canal no Youtube e se inscreva.
    [Resolvido]Códigos em Sub Formularios Marcel11
    avatar
    Bessa_SP
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 221
    Registrado : 07/11/2013

    [Resolvido]Códigos em Sub Formularios Empty Códigos em Sub Formularios

    Mensagem  Bessa_SP 30/1/2019, 22:53

    Sim amigo !!!

    Veja a tbl_despesas_nova tem um código de numeração automática e tem um campo chamado N_Despesa que recebe o número da tabela Tbl_Ent_Saida que tem o campo N_Ent_Saida.
    Não tenho muita experiência em alguns código vba, por isso vou tentar te explicar como funciona o meu formulário principal Frm_Ent_Saida, lança os dados unicos como data da despesa, nf , fornecedor e etc... E o subformulário frm_despesas_nova tem os dados dos detalhes da compra como Descrição do Produto, quantidade, valor unitário, etc... cada formulário tem uma numeração automática mas na tbl_despesas_novas tem um campo N_Despesas que recebe o valor do formulário principal.
    Como devo proceder, o amigo tem alguma opinião?
    Fico grato em tentar me ajudar...

    Obrigado
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Códigos em Sub Formularios Empty Re: [Resolvido]Códigos em Sub Formularios

    Mensagem  Marcelo David 30/1/2019, 23:11

    então, já que N_Despesa é o identificador da despesa, faça assim:


    Private Sub btn_estoque_Click()
    Dim rs As DAO.Recordset
    Dim rs2 As DAO.Recordset

    Set rs = CurrentDb.OpenRecordset("SELECT * FROM tbl_despesas_nova WHERE N_Despesa="& Me.NumeroDespesa)
    Set rs2 = CurrentDb.OpenRecordset("Tbl_itens_Entrada")
    Do While Not rs.EOF
    rs2.AddNew
    rs2!Qtd_Produto.Value = rs!Qtd_Despesas.Value
    rs2!Valor_unt.Value = rs!Vlr_unt_desp.Value

    rs2.Update
    rs.MoveNext
    Loop
    rs2.Close
    rs.Close


    Set rs2 = Nothing
    Set rs = Nothing

    DoCmd.OpenForm "Frm_entrada"
    DoCmd.Close acForm, "frm_Ent_saida





    Me.NumeroDespesa deve ser substituído pelo campo do formulário que contém o N_Despesa


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Conheça meu canal no Youtube e se inscreva.
    [Resolvido]Códigos em Sub Formularios Marcel11
    avatar
    Bessa_SP
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 221
    Registrado : 07/11/2013

    [Resolvido]Códigos em Sub Formularios Empty Códigos em Sub Formularios

    Mensagem  Bessa_SP 30/1/2019, 23:41

    Amigo, muito obrigado, ficou perfeito.
    Aprendi mais uma.

    Obrigado!
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Códigos em Sub Formularios Empty Re: [Resolvido]Códigos em Sub Formularios

    Mensagem  Marcelo David 30/1/2019, 23:53

    Grato pelo retorno, o Fórum agradece.


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Conheça meu canal no Youtube e se inscreva.
    [Resolvido]Códigos em Sub Formularios Marcel11

    Conteúdo patrocinado


    [Resolvido]Códigos em Sub Formularios Empty Re: [Resolvido]Códigos em Sub Formularios

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 29/3/2024, 00:10