MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Transformar Orçamento em pedido

    Compartilhe

    renan_1419
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 20
    Registrado : 29/12/2015

    [Resolvido]Transformar Orçamento em pedido

    Mensagem  renan_1419 em Qua 06 Jan 2016, 03:52

    Olá, Tenho o Formulario "FrmVenda" Que é associado a "TblVenda" Nessa tabela tem as colunas 'CodVenda' 'Cliente' 'Endereço' 'Telefone'
    E tenho também a "TblDetalheDaVenda" Nessa tabela ficam registrados os produtos Ex. 'CodTabVenda' 'Produto' 'Quant' 'ValorUnit'



    e tenho também o formulario "FrmOrçamento" Que é associado a "TblOrcamento" (Tem as mesmas colunas da TabelaVenda)
    E a "TblDetalheDoOrcamento" (Tem as mesmas colunas da TblDetalheDaVenda)
    Quando eu faço um orçamento é gerado um códigoOuNumero Certo?




    O seguinte é esse. No "FrmVenda" Tenho um botão chamado 'BtCarregarOrc' que abre o formulario "FrmCarregarOrcamento" Aqui temos uma caixa de texto Chamada'TxtNorçamento' nela eu coloco o numero do orçamento, e tenho tambem um botão de '"OK" Nesse botão eu quero inserir o codigo No evento 'Ao Clicar' e importar o orçamento no qual eu digitei o numero na 'TxtNorçamento' para a minha venda...


    Já tentei adaptar esse Código que peguei aqui no fórum mesmo, mas não obtive sucesso...
    Código:
     Set rs2 = dbOrc.OpenRecordset("SELECT * FROM TblDetalheDoOrcamento WHERE CodTabDetalheOrcamento=" & Me.TxtNorçamento)

    'Aqui abro a tabela que vai receber os produtos do orçamento
    Set rs3 = dbOrc.OpenRecordset("TblDetalheDaVenda", dbOpenTable)


    'Aqui os campos que vão receber os dados dos produtos do orçamento
    While (Not rs2.EOF)
    With rs3
    .AddNew
    ![CodVendaDet] = DMax("CodVenda", "TblVenda")
    ![CodProd] = rs2![CodProduto]
    ![Produto] = rs2![Produto]

    .Update
    rs2.MoveNext
    End With
    Wend

    'Aqui fecho as tabelas abertas
    rs1.Close
    Set rs1 = Nothing

    rs2.Close
    Set rs2 = Nothing

    rs3.Close
    Set rs3 = Nothing

    Set dbOrc = Nothing

    'Aqui abro o formulário de vendas exatamente  com as informações do orçamento transformado em venda



    'Aqui o evento é cancelado caso eu escolha a opção "não", ou seja, se eu não desejar transformar o orçamento em venda
    DoCmd.CancelEvent




    End Sub

    Saudações amigos, agradeço desde já a quem me quebrar esse galho. Neutral Neutral Neutral

    renan_1419
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 20
    Registrado : 29/12/2015

    Re: [Resolvido]Transformar Orçamento em pedido

    Mensagem  renan_1419 em Qua 06 Jan 2016, 10:05

    Up

    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 2746
    Registrado : 06/11/2009

    Re: [Resolvido]Transformar Orçamento em pedido

    Mensagem  Assis em Qua 06 Jan 2016, 11:29

    Bom dia Renam

    Veja as regras do forum, na linha 10

    [Você precisa estar registrado e conectado para ver este link.]

    Tem aqui um exemplo

    [Você precisa estar registrado e conectado para ver este link.]


    .................................................................................
    *** Só sei que nada sei ***

    renan_1419
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 20
    Registrado : 29/12/2015

    Re: [Resolvido]Transformar Orçamento em pedido

    Mensagem  renan_1419 em Qui 07 Jan 2016, 02:36

    Olá amigo Maximo, obrigado pela força.
    Mas aqui não deu certo.
    Eu te pergunto, não teria como fazer essa importação por outro código?
    Ou então pelos próprios formularios...
    Ex. Com o formulário "FrmVenda" Aberto. Ao clicar no botão (OK) Ele abra o formulário "FrmOrcamento" e copie apenas os códigos das mercadorias e suas quantidades, e o código do Cliente. 'Jogue esses dados na venda E em seguida feche o "FrmOrcamento"
    É possível fazer desse por esse método?

    renan_1419
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 20
    Registrado : 29/12/2015

    Re: [Resolvido]Transformar Orçamento em pedido

    Mensagem  renan_1419 em Sab 09 Jan 2016, 00:07

    Olá amigos, consegui adaptar o seguinte codigo para fazer a umportação.
    Código:
    Private Sub BtOk_Click()
    DoCmd.OpenForm "FrmFazerOrcamento", acNormal, "", "[CodOrcamento]=[Forms]![Frm_CarregarOrcamento]![TxtNorçamento]", , acNormal 'Abro o form Fazer do orçamento para pegar os dados do cliente


    Forms![FrmFazerVenda].TxtCodCli = Forms![FrmFazerOrcamento].TxtCodCli
    Forms![FrmFazerVenda].VEndereço = Forms![FrmFazerOrcamento].VEndereço
    Forms![FrmFazerVenda].VTelefone1 = Forms![FrmFazerOrcamento].VTelefone1
    Forms![FrmFazerVenda].VTelefone2 = Forms![FrmFazerOrcamento].VTelefone2
    Forms![FrmFazerVenda].VCidade = Forms![FrmFazerOrcamento].VCidade
    Forms![FrmFazerVenda].VBairro = Forms![FrmFazerOrcamento].VBairro
    Forms![FrmFazerVenda].VComplemento = Forms![FrmFazerOrcamento].VComplemento
    Me.Requery
    DoCmd.Close acForm, "FrmFazerOrcamento"    'Fecho o form Fazer do orçamento

    DoCmd.Close acForm, "FrmFazerVenda"    'Aqui fecho o Frm de venda
    DoCmd.OpenForm "FrmFazerVenda", acNormal    'Abro ele novamente
    DoCmd.GoToRecord , , acLast      'E vou para o ultimo registro adicionado

    '_________________________________________________ Logo abaixo inicio a cópia dos registros da TblDetalheDoOrcamento para a TblDetalhedavenda


     Dim dbOrc As Database, rs1, rs2, rs3 As DAO.Recordset


    Set dbOrc = CurrentDb
     
      Set rs1 = dbOrc.OpenRecordset("TblVenda", dbOpenTable)
     
     
      Set rs2 = dbOrc.OpenRecordset("SELECT * FROM TblDetalheDoOrcamento WHERE CodOrcamentoDet=" & Me.TxtNorçamento)  'Aqui eu pego o numero do orçamento que quero importar
    DoCmd.Close acForm, "Frm_CarregarOrcamento"  'Fecho o form que carrega o orçamento


    'Aqui abro a tabela que vai receber os produtos do orçamento
    Set rs3 = dbOrc.OpenRecordset("TblDetalheDaVenda", dbOpenTable)


    'Aqui os campos que vão receber os dados dos produtos do orçamento
    While (Not rs2.EOF)
    With rs3
    .AddNew
    ![CodVendaDet] = DMax("CodVenda", "TblVenda")
    ![Produto] = rs2![Produto]
    ![ValorUnitario] = rs2![ValorUnitario]
    ![Quantidade] = rs2![Quantidade]
    .Update
    rs2.MoveNext
    End With
    Wend

    'Aqui fecho as tabelas abertas
    rs1.Close
    Set rs1 = Nothing

    rs2.Close
    Set rs2 = Nothing

    rs3.Close
    Set rs3 = Nothing

    Set dbOrc = Nothing

    Forms!FrmFazerVenda.Requery  'Atualizo o form
    DoCmd.GoToRecord , , acLast 'vou para o ultimo registro. E pronto, o orçamento foi importado...  :)

    renan_1419
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 20
    Registrado : 29/12/2015

    Re: [Resolvido]Transformar Orçamento em pedido

    Mensagem  renan_1419 em Sab 09 Jan 2016, 00:09

    Obrigado Maximo. Eu não teria conseguido sem a sua ajuda...

    Obrigado amigo. Wink

    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 2746
    Registrado : 06/11/2009

    Re: [Resolvido]Transformar Orçamento em pedido

    Mensagem  Assis em Sab 09 Jan 2016, 13:21

    Renan

    Pode postar a solução (BD) que encontrou para o seu problema, para que todos do forum possam usufruir de mais um exemplo ?

    Obrigado


    .................................................................................
    *** Só sei que nada sei ***

    renan_1419
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 20
    Registrado : 29/12/2015

    Re: [Resolvido]Transformar Orçamento em pedido

    Mensagem  renan_1419 em Sab 09 Jan 2016, 22:02

    Ok, amigo, segue em anexo o BD do importador de orçamento para venda (Em pleno funcionamento)
    Acho que vai ajudar bastante a quem está com a mesma duvida, pois pesquisei muuito e não achei nada que ajudasse muito.
    Peço também aos mestres que avaliem esse BD de exemplo...

    -Cód adaptado através do exemplo do nosso amigo Máximo


    Obrigado
    Att...
    ImportarOrçamentoRenanVenancioExemplo

    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 2746
    Registrado : 06/11/2009

    Re: [Resolvido]Transformar Orçamento em pedido

    Mensagem  Assis em Sab 09 Jan 2016, 23:36

    Renam

    Aconselho a que crie as relações entre as tabelas como a imagem, para que quando eliminar um orçamento, ou uma venda os produtos que estão relacionados também sejam eliminados.


    [Você precisa estar registrado e conectado para ver esta imagem.]


    .................................................................................
    *** Só sei que nada sei ***

    renan_1419
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 20
    Registrado : 29/12/2015

    Re: [Resolvido]Transformar Orçamento em pedido

    Mensagem  renan_1419 em Dom 10 Jan 2016, 14:44

    Ok Maximo, assim farei. Obrigado pela Dica. Idea

    A adaptação ficou boa?

      Data/hora atual: Dom 04 Dez 2016, 01:54