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]mercadorias a entregar

    Compartilhe
    avatar
    marcelo marques
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 420
    Registrado : 12/04/2016

    [Resolvido]mercadorias a entregar

    Mensagem  marcelo marques em Seg 03 Jul 2017, 17:13

    ola pessoal boa tarde alguém poderia me dar uma dica de como criar um formulário de mercadorias a entregar, por exemplo faço uma venda e o cliente não leva a mercadoria no ato da compra, eu até tinha feito um formulário mais não funcionou muito bem
    ,eu gostaria no formulário estivesse um campo sim/não para quando fosse entregue


    se alguém tiver uma ideia de como desenvolver um formulário eu agradeço

    Phillip_Junior
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 179
    Registrado : 09/12/2016

    mercadorias-a-entregar

    Mensagem  Phillip_Junior em Ter 04 Jul 2017, 22:42

    Olá marcelo marques,

    Crie um pequeno esboço amigo num formulário, dos campos que deseja que seu projeto tenha. Pode ser sem macro códigos etc. Somente o design do form e explicando o que precisa que tentarei ajudar.

    Abraços


    .................................................................................
    Phillip_Junior
    Analista de Sistemas
    avatar
    marcelo marques
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 420
    Registrado : 12/04/2016

    Re: [Resolvido]mercadorias a entregar

    Mensagem  marcelo marques em Ter 04 Jul 2017, 23:32

    boa noite Phillip_Junior estou enviando o anexo bem resumido veja o frm_vendas e o frm_entregar_mercadoria
    Anexos
    Mercadoria a entregar.accdb.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (2.3 Mb) Baixado 22 vez(es)

    Phillip_Junior
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 179
    Registrado : 09/12/2016

    Re: [Resolvido]mercadorias a entregar

    Mensagem  Phillip_Junior em Qua 05 Jul 2017, 19:34

    Olá marcelo marques


    Então meu amigo! Analisei seu projeto.

    Pelo que entendi, vc deseja criar um formulário que ao clicar na opção entregar ele abra e vc consiga inserir dados referentes a entrega desse produto vendido certo ?

    Vamos a solução se for isso:

    Crie uma tabela exemplo (tbl_entregas)

    Nessa tabela vc insere os seguintes campos:

    * codigo_venda
    * data_venda
    * nome_cliente
    * nome_vendedor
    * uma caixa de listagem

    outros campos tais como:

    * entregar sendo do tipo = sim/nao
    * data_entrega
    * endereco
    * situacao
    * dataalteracao


    Após isso!

    Crie seu form nome exemplo (frm_entregas)
    do seu jeito mais com campos onde fiquem separados os dados pessoais na parte superior

    e abaixo deles a caixa de listagem em branco

    abaixo dessa caixa de listagem


    campos
    * data_entrega
    * endereco
    * caixa de opcao
    * situacao
    * dataalteracao

    Praticamente, o que será feito é o seguinte:

    Vamos trocar a cx de opção no seu form vendas por um botão, nome (entregar) que chamara o seu formulário (frm_entregas) e irá capturar os dados referentes a sua venda do se form vendas e inserir no (frm_entregas) que será aberto com todos os dados da sua venda atual.
    Na cx de listagem iremos capturar os produtos vendidos ao cliente do seu subform no formulário vendas

    Vamos criar um função que marcará a cx entregar no (frm_entregas) e que registrada a data da venda tbm.

    Vc poderá inserir a data da entrega e o endereço para ser entregue.

    Ao salvar o (frm_entregas), será gravado os dados na tabela (tbl_entregas) e vc poderá posteriormente criar uma consulta vinculada a essa tabela para pesquisar as vendas por datas de entrega ou código venda ou código ou nome cliente para alterar após a entrega a situação e inserir a data e saber se foi entregue o produto.


    Caso seja mais ou menos assim seu objetivo, aguardarei seu retorno para continuar lhe ajudando.
    Caso não seja me explique o que tens em mente.

    Abraços.







    .................................................................................
    Phillip_Junior
    Analista de Sistemas
    avatar
    marcelo marques
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 420
    Registrado : 12/04/2016

    Re: [Resolvido]mercadorias a entregar

    Mensagem  marcelo marques em Qua 05 Jul 2017, 19:49

    ola Phillip_Junior boa tarde gostei da ideia assim que estiver em casa vou tentar adaptar

    depois eu retorno abraço

    Phillip_Junior tira uma dúvida minha em relação a este formulário venda ,

    que seria o seguinte fiz um código no botão fechar que ao clicar no botão ele verificar se eu não tiver preenchido nada ele fecha norma, se eu tiver preenchido somente o subformulario onde cadastra insere os produtos ele deleta a venda e também se eu não tiver preenchido o subformulario onde insere as parcelas ele também deleta ,minha dúvida e o seguinte se eu não gerar as parcelas e for fechar ele da erro, para corrigir este erro eu coloquei no relacionamento como propagar exclusão isso e certo ou meu erro esta no relacionamento?
    avatar
    marcelo marques
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 420
    Registrado : 12/04/2016

    Re: [Resolvido]mercadorias a entregar

    Mensagem  marcelo marques em Qua 05 Jul 2017, 19:51

    da uma olhada ai no relacionamento e me fala

    Phillip_Junior
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 179
    Registrado : 09/12/2016

    Re: [Resolvido]mercadorias a entregar

    Mensagem  Phillip_Junior em Qua 05 Jul 2017, 21:29

    Olá marcelo marques

    Veja bem! seu projeto tem uma certa complexidade e qualquer função ou expressão que vc determinar agora deverá ser bem pensada para depois não gerar erros que vc se perca dentro do seu próprio projeto. Uma boa dica é vc sempre comentar as linhas dos códigos escritos e nomear até mesmo as cx de rótulos, isso ajudará vc futuramente.

    Quanto a sua dúvida! Não sei exatamente como está por completo a estrutura do seu projeto, mas dependendo de como tenha feito na sua explicação eu mesmo não gosto e não aconselho ser feito essa barreira.

    Existe diversos tipo de se criar digamos que barreiras para se evitar sair ou salvar um formulário que não esteja completamente preenchido.

    Você pode criar um campo onde seja gerado um código que esse numero podendo ele ser gerado aleatoriamente ou juntando informações tais como datavenda + codigocliente + código vendedor, somente seja gerado após vc preencher todos os campos que determinas ser importantes e devam constar na venda.

    Se vc tentar salvar ou sair e exista dados incompletos o sistema gera um msg informando que a venda será cancelada.

    E a função dessa msg será buscar se existe o numero gerado na venda onde irá informar que a venda não pode ser finalizada cancela os dados inseridos e não grava nada. Se não, aguarda vc terminar de realizar a venda.

    Outra forma é oq chamo de barreiras sequenciais.
    Podemos bloquear os campos e o subform e botoes tipo salvar ou finalizar venda do seu form, que somente irão sendo desbloqueados conforme se preenchido o campo anterior para se estiver tudo ok desbloquear o botão finalizar venda ou salvar. Isso evita erros.


    .................................................................................
    Phillip_Junior
    Analista de Sistemas
    avatar
    marcelo marques
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 420
    Registrado : 12/04/2016

    Re: [Resolvido]mercadorias a entregar

    Mensagem  marcelo marques em Qua 05 Jul 2017, 21:38

    olha Phillip_Junior muito obrigado pela dicas que são de muita importância vou seguir seu Conselho e logo te retorno

    abraço
    avatar
    marcelo marques
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 420
    Registrado : 12/04/2016

    Re: [Resolvido]mercadorias a entregar

    Mensagem  marcelo marques em Qui 06 Jul 2017, 11:32

    ola Phillip_Junior estou tendo um pouco de dificuldade na caixa de listagem como você me sugeriu, como eu faria para gravar os dados na tabela essa parte esta difícil


    abraço

    Phillip_Junior
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 179
    Registrado : 09/12/2016

    Re: [Resolvido]mercadorias a entregar

    Mensagem  Phillip_Junior em Qui 06 Jul 2017, 13:15

    Olá amigo!

    Bom! Partindo da ideia que lhe envie sobre vc criar um tabela (tbl_entregas), significa que todas as informações que são pertinentes da venda atual que
    estará sendo realizada na tela de vendas deverá ser lançada nessa tbl_entregas.

    Tambem significa que seria nessa tbl_entregas que ficaria registrado todas as vendas com entregas, ou se assim vc preferir, tbm poderá armazenar as vendas
    realizadas seja entregas ou não, vc podendo usar essa tabela para futuras consultas. Lembrando que a identificação de cada venda nessa tabela fica sendo pelo codigo da venda. Pois
    ele não será jamais o mesmo. Então na tbl teremos registros tais como:

    codigovenda | cliente | produto
    2017 teste prod1
    2017 teste prod2
    2017 teste prod3


    O que importa aqui é que nessa tabela ao ser criada, vc coloque todos os campos como lhe expliquei que são importantes serem identificados e capturados
    da tela da venda, seja eles do formulário das vendas ou do subform onde estarão os produtos.

    Uma coisa importante que vc tem que fazer é o seguinte:
    Quando vc clicar no botao que sugeri criar no form vendas (botao entregar), esse botao ira ter a funcao de apenas:

    abrir o formulario de entregas e capturar todos os dados da tela de vendas como que fazendo uma copia espelho, ou seja, vc pode para nao dificultar tanto pode
    até criar no lugar da list um subformulario como na tela de vendas para capturar direto os dados de um para outro.

    Agora se quiser mais estetica, vc pode criar uma cx de listagem como sugeri, mais isso implica em criar um tabela tipo tbl_prod_temp onde serão armazenados os dados capturados
    dos produtos vendidos temporariamente até serem realmente gravados na tabela entregas. Essa gravação como expliquei seria temporaria, ou seja, apos ser confirmado os dados da entrega
    ela grava na tbl entregas e deleta os dados da tbl temporaria.

    Então se observar o que digo é o seguinte:
    primeiro ao chamar o formulario de entregas vc captura os dados do formulario vendas e lanca no formulario entregas.
    Para isso vc pode criar um funcao ou utilizar já que os dois formularios estaram abertos, tipo:

    No evento ao abrir do formulario de entregas:

    Me.campocodigovendasfornularioentregas = [Forms]![frm_vendas]![campocodigovendasformulariovendas]

    e assim por diante com todos os campos a serem copiados de um formulario para outro.

    Após feito um espelho nas captutas da tela de vendas para o formulario entregas, ai sim no formulario entregras é que vc criara um botao tipo (confirmar entrega) e nele colocara o codigo q
    irá confirmar o que quer dentro do formulario entregas tal como marca opcoes etc e gravar os dados na tbl entregas.

    O procedimento de vc capturar todos os dados do formulario entregas e gravar na tabela tbl_entregas é:

    Dim gravardadostbl As Database
    Dim tbl_registroentregas As Recordset

    Set gravardadostbl = CurrentDb()
    Set tbl_registroentregas = gravardadostbl.OpenRecordset("tbl_entregas")

    tbl_registroentregas.AddNew ' cria novo registro na tabela

    'abaixo no lugar escrito teste vc coloca o nome do campo da tabela entregas que recebera o valor a ser gravado
    tbl_registracardsystem!teste = Me.campodoformentregas

    tbl_registroentregas.Update 'atualiza a tabela

    Set gravardadostbl = Nothing
    Set tbl_registroentregas = Nothing


    Qualquer duvida retorne ok

    abraços


    .................................................................................
    Phillip_Junior
    Analista de Sistemas
    avatar
    Celso Roberto
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

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

    Re: [Resolvido]mercadorias a entregar

    Mensagem  Celso Roberto em Qui 06 Jul 2017, 23:09

    Olá..

    Se estou a entender errado me desculpe, mas se o que você deseja é criar um form com os pedidos a entregar, Vejo que já tens os dados em seu bd, então copie e cole este select e de nome de qryPedidosEntregar.
    Esta consulta mostrará todos os pedidos a entregar, depois crie um formulário com esta consulta.

    Veja se é isto que você queria,
    Código:
    SELECT Tbl_Vendas.CodVenda, Tbl_Vendas.DataVenda, Tbl_Vendas.dtentrega AS DtEntrega, TBL_CLIENTE.txt_cliente, Tbl_VendasDet.Produto, Tbl_VendasDet.Quantidade, Tbl_VendasDet.valorunit, Tbl_Vendas.txtentrada, Tbl_VendasDet.Desconto, [quantidade]*[valorunit]-Nz([desconto])-Nz([txtentrada]) AS Total, IIf(IsNull([DtEntrega]),"A Entregar","Entregue") AS Situação
    FROM (TBL_CLIENTE INNER JOIN Tbl_Vendas ON TBL_CLIENTE.CLI_Código=Tbl_Vendas.Cliente) INNER JOIN Tbl_VendasDet ON Tbl_Vendas.CodVenda=Tbl_VendasDet.CodigoVendas
    WHERE (((IIf(IsNull([DtEntrega]),"A Entregar","Entregue"))="A Entregar"));


    Aguardo


    .................................................................................
    Quando sua dúvida estiver resolvida, Agradeça ao Fórum e de seu tópico por Resolvido



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    avatar
    Celso Roberto
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

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

    Re: [Resolvido]mercadorias a entregar

    Mensagem  Celso Roberto em Qui 06 Jul 2017, 23:13

    Olá de novo...

    Esta outra te mostra todos entregues

    Código:
    SELECT Tbl_Vendas.CodVenda, Tbl_Vendas.DataVenda, Tbl_Vendas.dtentrega AS DtEntrega, TBL_CLIENTE.txt_cliente, Tbl_VendasDet.Produto, Tbl_VendasDet.Quantidade, Tbl_VendasDet.valorunit, Tbl_Vendas.txtentrada, Tbl_VendasDet.Desconto, [quantidade]*[valorunit]-Nz([desconto])-Nz([txtentrada]) AS Total, IIf(IsNull([DtEntrega]),"A Entregar","Entregue") AS Situação
    FROM (TBL_CLIENTE INNER JOIN Tbl_Vendas ON TBL_CLIENTE.CLI_Código = Tbl_Vendas.Cliente) INNER JOIN Tbl_VendasDet ON Tbl_Vendas.CodVenda = Tbl_VendasDet.CodigoVendas
    WHERE (((IIf(IsNull([DtEntrega]),"A Entregar","Entregue"))="Entregue"));

    Aguardo


    .................................................................................
    Quando sua dúvida estiver resolvida, Agradeça ao Fórum e de seu tópico por Resolvido



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    avatar
    marcelo marques
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 420
    Registrado : 12/04/2016

    Re: [Resolvido]mercadorias a entregar

    Mensagem  marcelo marques em Sex 07 Jul 2017, 01:49

    ola Celso Roberto eu ate tinha tentado fazer mais meu pensamento não deu muito certo eu apenas tinha colocado um campo entregar sim/não e através de uma consulta puxar os dados da vendas com um critério (entragar "sim") assim ele mostrava somente as vendas que havia selecionado mais também não muito detalhada o que o cliente havia comprado mais agora estou mudando o caminho sugerido pelo nosso amigo Phillip_Junior que ainda estou desenvolvendo muito obrigado

    esta sugestão que você informou também não vai ficar descartada


    abraço

    avatar
    marcelo marques
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 420
    Registrado : 12/04/2016

    Re: [Resolvido]mercadorias a entregar

    Mensagem  marcelo marques em Sab 08 Jul 2017, 12:37

    bom dia Phillip_Junior estou com dificuldade em passar os dados do subformulario da tabela tbl_vendasDet para outra tabelas do subformulário entregas que se chama tbl_entregasDet

    os dados do formulário pai eu consegui falta o subformulario

    se você puder me ajudar eu agradeço


    Phillip_Junior
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 179
    Registrado : 09/12/2016

    Re: [Resolvido]mercadorias a entregar

    Mensagem  Phillip_Junior em Sab 08 Jul 2017, 16:49

    Olá amigo! Desculpe a demora.

    Realmente essa parte é chatinha mas nada de sete cabeças.

    Vamos la:

    Presumo que vc tenha nomeado os seus dois subforms nas propriedades de cada um, e digo isso pq muitos nomeiam os subforms na aba lateral e esquece de nomear eles nas propriedades do mesmo, como tal com um campo.

    Então, pressumindo que vc já nomeou seus dois subforms em ambos os formulários segue o código que deve ser colocado no mesmo evento onde vc já tem os que estão capturando os campos:



    NomeDoSeuSubformsNoFormularioEntregas.Form!NomeDoCampoNesseSubformQueReceberaOvalor.Value = [Forms]! [FRM_Tela_EntradaCliente]![NomedoSeuSubformsNoFormularioFRM_Telaentradacliente]![NomedoCampoDesseSubformsQueSeraCapturadooValor]



    Teste e veja se funcionou e retorne para ajudarmos mais amigos ok. Abraços.



    Precisando chega no fórum.





    .................................................................................
    Phillip_Junior
    Analista de Sistemas

    Phillip_Junior
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 179
    Registrado : 09/12/2016

    Re: [Resolvido]mercadorias a entregar

    Mensagem  Phillip_Junior em Sab 08 Jul 2017, 17:28

    Ola amigo outra vez

    Eu estava no celular por isso vamos fazer uma complementação para lhe ajudar e eu corrigir umas informações aqui...

    Na msg acima eu falei aba se referindo a uma coisa e não era bem oq eu queria explicar.

    Na lateral esquerda da sua tela ao abrir o Access nos temos o Nome dos Objetos do Access, tais como Tabelas,Formulários que identificam os objetos do nosso projeto.
    Então não se diz abas como mencionei pensando uma coisa e escrevendo outra e sim objetos.

    Já dentro de cada formulário ou relatório temos o que chamamos de controles. Tais como todos campos e um subformulário.

    Então quando falamos dentro de um formulário sobre qualquer campo subform ou botão, podemos dizer controle.

    E dentro de cada controle temos as propriedades desse controle.
    E dentro das propriedades as abas tais como Formato/Eventos/Outra, que mencionei na outra msg erradamente como se fossem objetos.


    Complemento da sua dúvida

    Veja bem!

    Quando eu lhe disse sobre dar um nome ao seu controle sub formulário dentro de ambos os seus formulários, significa que, quando criamos a função de captura, precisamos informar de que controle dentro do nosso formulário estamos tratando.

    O nome do Sub Formulário na lateral esquerda como Objeto é de suma importância tbm, principalmente sem acentos e espaços, mas não estaremos fazendo um função para chamarmos e abrirmos o seu objeto sub formulário e sim capturarmos dados de um controle sub já aberto dentro de um formulário e colar dentro de um campo de um sub em outro form aberto.

    Então vá nas propriedades desse controle subformulário tal como se fosse com um campo e na aba outra de um nome a ele sem acentos e sem espaços, isso em ambos os controles subs dentro dos seus forms.

    Digamos que o sub do form tela de vendas seja subdetvendas e o seu sub no formulário de entregas seja subdetentregas, agora sim faremos o que precisa:

    Na mesma função onde já conseguisse capturar os campos acrescente esse código:

    NomeDoSubformsNoFormularioQueVaiReceberOValor.Form!NomeDoCampoDoSubformQueReceberaOvalor.Value = [Forms]! [NomeDoFormulárioComOValorACopiar]![NomedoSubformsQueTemOValorASerCopiado]![NomedoCampoDoSubformsQueSeraCapturadooValor]

    No seu caso irá ficar assim:

    subdetentregas.Form!CampoAReceberOvalor.Value = [Forms]![FRM_Tela_EntradaCliente]![subdetvendas]![NomeDoCampoQueTemOValorASerCapturado]

    Abraços




    .................................................................................
    Phillip_Junior
    Analista de Sistemas
    avatar
    marcelo marques
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 420
    Registrado : 12/04/2016

    Re: [Resolvido]mercadorias a entregar

    Mensagem  marcelo marques em Sab 08 Jul 2017, 17:31

    boa tarde, eu ate consegui com o código abaixo que consegui aqui no fórum o problema se eu envio uma mercadoria para o formulário entrega com código 1048 se eu volto la novamente no formulário vendas e altero os produtos do mesmo código 1048 e quando envio novamente ele acrescenta a quantidade de itens anteriore com o que estou enviando

    veja o código eu somente mudei o nomes dos campos e tabelas


    Dim dbOrc As Database, rs1, rs2, rs3 As DAO.Recordset
    If MsgBox("Deseja Gerar Pedido do Orçamento?", vbYesNo + vbQuestion, Me.Caption) = vbYes Then
    Set dbOrc = CurrentDb
    Set rs1 = dbOrc.OpenRecordset("TblPedido") ' abre a tabela pedido, inserindo os campos.
    With rs1
    .AddNew
    ![CodOrc] = Me.CodOrc
    ![Dataped] = Me.DataOrc
    ![CodCliente] = Me.CodCliente
    ![Cliente] = Me.Cliente
    ![Endereco] = Me.Endereco
    ![Numero] = Me.Numero
    ![Bairro] = Me.Bairro
    ![Cidade] = Me.Cidade
    ![Estado] = Me.Estado
    ![FoneComercial] = Me.FoneComercial
    ![Celular] = Me.Celular
    ![WhatApps] = Me.WhatApps
    ![CNPJ] = Me.CNPJ
    ![EmailNF] = Me.EmailNF
    ![InscrEstadual] = Me.InscrEstadual
    ![CEP] = Me.CEP
    .Update
    End With
    Set rs2 = dbOrc.OpenRecordset("SELECT * FROM tblDOrc WHERE CodOrc=" & Me.CodOrc) ' aqui os c
    Set rs3 = dbOrc.OpenRecordset("DPedido") ' é exportado para cá.
    While (Not rs2.EOF)
    With rs3
    .AddNew ' ![campo subformulario]= rs2![campotabela]
    ![CodSubped] = DMax("CodPed", "Tblpedido")
    ![CodProduto] = rs2![CodProduto]
    ![Produto] = rs2![Produto]
    ![TUnidade] = rs2![TUnidade]
    ![PrecoVenda] = rs2![PrecoVenda]
    ![Qtd] = rs2![Qtd]
    ![TotaItens] = rs2![TotaItens]
    .Update
    rs2.MoveNext
    End With
    Wend
    rs1.Close
    Set rs1 = Nothing
    rs2.Close
    Set rs2 = Nothing
    rs3.Close
    Set rs3 = Nothing
    Set dbOrc = Nothing

    MsgBox "Pedido Gerado !", vbInformation, Me.Caption
    DoCmd.Close acForm, "frmorcamento"
    DoCmd.OpenForm "frmpedido"
    Else
    DoCmd.CancelEvent
    End If

    desde ja obrigado.
    estou dando muito trabalho ne?


    Phillip_Junior
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 179
    Registrado : 09/12/2016

    Re: [Resolvido]mercadorias a entregar

    Mensagem  Phillip_Junior em Sab 08 Jul 2017, 17:48

    Amigo Marcelo


    Nesse código que vc está usando vc está pedindo pra adicionar os valores na tabela x, isso significa que toda vez que vc chamar a função ela irá adicionar um novo valor na tabela em linha nova.

    Como havia lhe explicado, o que vc vai fazer no seu caso é apenas um espelho do seu formulário Vendas no seu seu formulário Entregas.


    Apague esse código e esse evento usado para adicionar registro na tabela estregas e faça o seguinte:

    Nas propriedades do seu formulário entregas, no evento ao carregar insira o seguinte código:

    Me.CampoQueReceberaOValorNoSeuFormulárioEntregas.Value = [Forms]![FRM_Tela_EntradaCliente]![CampoQueTemOValorASerCapturado]
    'Faça isso com todos os campos que deseja capturar da sua tela de vendas e espelhar no seu formulário entregas.

    O código para capturar de subform para subform envie na msg anterior.

    E toda vez que abrir o tópico, insira o titulo que vc está com dúvida para melhor ser pesquisado no fórum ok.
    Tipo: copiar dados de um campo do formulario pai para outro subform de um outro formulario


    Teste e veja se deu.

    Obs:

    O código que vc está usando para adicionar um novo registro, deve ser usado no botão salvar e finalizar do seu formulário entregas, logo apos vc ter informado a data da entrega etc. Pois ai ele adiciona o registro e salva e fecha a tela de entrega e abre uma nova venda.



    .................................................................................
    Phillip_Junior
    Analista de Sistemas
    avatar
    marcelo marques
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 420
    Registrado : 12/04/2016

    mercadoria a entregar

    Mensagem  marcelo marques em Sab 08 Jul 2017, 20:10

    boa tarde Phillip_Junior eu fiz ele puxou mais apenas um produto ,no subformulario vendas o que eu clicar nele e pressionar o botão entrega ele copia apenas o que esta com foco

    Vale lembrar não sei se é isso mais antes de você me informar estes última código eu estava colocando no botão criado no formulário venda


    abraço

    Phillip_Junior
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 179
    Registrado : 09/12/2016

    Re: [Resolvido]mercadorias a entregar

    Mensagem  Phillip_Junior em Sab 08 Jul 2017, 21:11

    Ola!
    Esse detalhe de como executar e em qual evento de qual controle ou objeto é muito importante, Mas se tratando do seu caso, uma vez q é um espelho, sem problemas ter colocado no botão do form vendas, até pq os dois forms estão abertos.
    Vale lembrar que o procedimento que estou lhe ajudando é algo mais fácil e tranquilo pra vc ir aprimorando seu conhecimento. Existe outras formas de fazermos isso. Por exemplo capturar os dados armazenar em cache na memória e exportar pra onde desejarmos. Mas essa é melhor pra vc ir entendendo. Estou quase em casa, ai já lhe envio sua dúvida quanto a captura de várias linhas no subforms.


    .................................................................................
    Phillip_Junior
    Analista de Sistemas
    avatar
    marcelo marques
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 420
    Registrado : 12/04/2016

    Re: [Resolvido]mercadorias a entregar

    Mensagem  marcelo marques em Dom 09 Jul 2017, 00:43

    boa noite Phillip_Junior veja como esta ficando se estou indo no caminho certo
    Anexos
    sistema marcelo marques teste.accdb.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (2.8 Mb) Baixado 11 vez(es)

    Phillip_Junior
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 179
    Registrado : 09/12/2016

    Re: [Resolvido]mercadorias a entregar

    Mensagem  Phillip_Junior em Seg 10 Jul 2017, 11:03

    Olá Marcelo

    Desculpe a demora, estava viajando, mas não esqueci dos compromissos não.
    Olhei seu projeto, e percebi que tem algo estranho faltando.
    Se for contraditório o que eu estou dizendo me corrija ok ?

    Veja bem! Quando criamos uma tela de vendas, nessa tela podemos se assim fizer parte do nosso projeto, escolher o cliente e após isso escolhemos as vendas dos produtos correto?

    Mas e se não temos clientes? Como que será identificado aquela compra ? Bom! seria pelo Código de venda certo ? Ocorre que quando realizamos esse procedimento dentro do formulário, devemos exportar o código de venda dentro de cada linha do subformulário que será adicionado o produto.
    Imagine que no seu formulário tem o código de venda 100.

    Então, conforme vc for adicionando os produtos no seu subformulário esse código 100 tem que estar na frente de cada linha de um novo produto.

    Isso significa que o campo mestre do será o código venda do formulário e o campo filho será o do subformulário que recebera o código de venda.

    Somente assim vc conseguirá quando pesquisar aquele código de venda buscar todos os produtos relacionados aquele código.

    Resumindo! Não identifiquei no seu projeto na hora que vc salva a venda o campo codigo de venda nos produtos que vc vendeu naquela venda.

    Para vc melhor entender, eu fiz dois pequenos exemplos simples de tela de vendas com as tbls que são basicamente necessárias e os forms.
    Lembre-se que é apenas um exemplo mas será possivel vc abrir os forms e analisar campo por campo e seus códigos.
    Dei nome a todos os controles nesses exemplos. Um com um subform e outro com um list. Analise com calma e tente entender cada procedimento e caminho.

    Como lhe disse são exemplos básicos, não há tratamamentos, nem modulos, nem funções avançadas. Fiz apenas para vc ter um entendimento de tudo. Utilize esse exemplo e veja se consegue absolve algo para seu projeto.

    Caso tenha dúvidas de qualquer código ou procedimento, abra um tópico e envie aqui que vamos tentar ajudar blz ?


    Sucesso !

    Abraços
    Anexos
    Exs_Simples_Vendas.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (1 Mb) Baixado 23 vez(es)


    .................................................................................
    Phillip_Junior
    Analista de Sistemas
    avatar
    marcelo marques
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 420
    Registrado : 12/04/2016

    Re: [Resolvido]mercadorias a entregar

    Mensagem  marcelo marques em Seg 10 Jul 2017, 11:32

    ola Phillip_Junior bom dia muito obrigado estou no trabalho assim que estiver em casa e vejo e retorno muito obrigado mesmo


    abraço
    avatar
    marcelo marques
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 420
    Registrado : 12/04/2016

    Re: [Resolvido]mercadorias a entregar

    Mensagem  marcelo marques em Ter 11 Jul 2017, 11:45

    ola bom dia Phillip_Junior muito obrigado pela ajuda deu certo, aprendi muito com suas explicações foi de grande valia então da forma que eu estava fazendo não iria dar certo ne

    obrigado
    abraço

    Phillip_Junior
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 179
    Registrado : 09/12/2016

    Re: [Resolvido]mercadorias a entregar

    Mensagem  Phillip_Junior em Ter 11 Jul 2017, 12:47

    Olá
    Que bom que ajudou.
    Quanto a não funcionar: Se não existir o código de venda no sub foram ou numa list capturado do seu form para cada produto vendido, não teremos como identificar quais produtos pertencem aquela venda. . Mesmo que use o código do cliente . Pois se esse cliente se comprar mais de uma vez, quando for identificar os produtos pelo código dele irá puxar os produtos de todos as vendas. Então realmente não iria funcionar.
    Importante mesmo é quando tivermos dificuldade com algo, é buscarmos a solução e se vier com um código pronto, entender lendo esse código diversas vezes e pesquisando porque tal escrita em tal lugar funciona de tal maneira. Tipo como uma condição que sabemos ser If = Se, then = Então e assim por diante.
    Como expliquei, são exemplos simples mais de grande valia e estudo do mecanismo.
    Se saiu sua dúvida referente a abertura do tópico, de um resolvido nesse e qualquer dúvida agora daqui pra frente na adaptação do seu abra um tópico com o título da dúvida que estaremos aqui pra tentar ajudar ok?
    Obs:
    Esqueci de explicar sobre o exemplo ontem.
    Vc no form_vendas pode escolher o cliente, e da mesma forma q coloquei o código para ser aberto o campo quant em F4 vc consegue fazer q apertado F7 abra um novo formulário com o nome dos clientes numa list com um campo pesquisar para pesquisa rápida ou todos os cadastrados. E basta colocar no evento da list ao clicar que clicando sobre o nome do cliente na list capture os dados e jogue nos campos do frm_vendas.
    No campo quantidade será sempre 1. Mas se quiser aumentar essa quantidade basta dar um F4 e digitar a quantidade desejada e apertar enter que o como atualiza e passa para o campo código.

    Já no campo código do produto que pode ser feito com um leitor de código de Barra, uma vez q tera o foco nele, usamos o mesmo esquema para buscar um produto. Quase todos os leitores tem programação de ao ler o código, ele mesmo da o comando enter, Ou seja, vc tem praticidade ao inserir os produtos vendidos. E pode utilizar o mesmo esquema para cadastrar os produtos.

    Quanto vc clica no botão finalizar. Vc pode adaptar com muitas coisas. Verificar se a venda finalizou como campo dinheiro ok, ou criar um campo para depois q vc o campo dinheiro e troco estiver ok, apresentar 1 caso contrário 0 e criar uma condição que se for 1 aceita finalizar caso contrário se 0 apresenta o erro. Também pode ser feito condições no seu campo dinheiro. Que se o valor digitado for menor que o total da uma opção a ser feito ou não aceita.
    Já na tela de entregas. O esquema é simples. Ao clicar no botão finalizar ele salva o registro das vendas na tbl detalhes e vendas, mas não finaliza. Ao abrir o frm_entregas, ele captura os dados do frm_venda e com o código da venda capturado ele busca os dados daquela venda na tbm detalhes e apresenta na list.
    Importante notar, que no exemplo que dei, se quiser voltar na tela de vendas e alterar algum item ou dados,(o que não é o certo fazer, já que para finalizar deverá ter observado sobre alterações e se está tudo certo etc), eu não coloquei opção de alterar algum dado no exemplo com list, (oq poderia ser feito clicando sobre a linha do produto num comando) mas mesmo no com sub form se alterar algum dado apos finalizar, se clicar novamente em finalizar, ele irá gravar os dados na tbl detalhes novamente repetindo os dados dos produtos. Então o correto a se fazer é criar uma condição no botão finalizar q se os produtos daquela venda já existem para o código daquela venda, somente altera dados ou acrescenta se for novo. Mas explico q não é o certo voltar na tela vendas para alterar depois de finalizar. Se quiser alterar ou acrescentar produtos naquela venda, crie um form q ao abrir vc possa digitar o código da venda e ele busque as informações dessa venda em forma de editar alterar e ai sim possa mudar algo na venda.
    Para alterar ou cancelar algum produto antes de finalizar a venda, utilize um frm com um campo onde ao digitar o número campo item (não colocado nesses exemplo) ele selecione a linha desse item e cancele a venda dele. Alterar não é bom. Se algo deu errado, cancele o produto nessa venda e leia o código novamente.
    Para acrescentar o campo item basta inserir ele na tbl detalhes.
    E crie uma tabela q capture os dados ações de cancelamentos e salve para ter uma lista dos produtos cancelados naquele dia identificando data código venda e usuário.

    Já no frm_pesquisar entrega
    Digamos q o entregador já entregou. Ao chegar na loja ele entra nesse frm e digita o código da venda q localiza os dados da venda e já passa o foco para o campo entregue ou não gravando os dados na acrescentando dados na tbl entregas.

    E no frm_lista de entregas, fiz só um exemplo onde apresenta a lista geral, mas vc pode criar condições de pesquisa para apresentar os que estão sem entregar. Ou por data.

    Por fim! É por esse caminho.

    Obs: exemplo para teste de um produto cadastrado.
    3333333333333
    2222222222222
    1111111111111

    Treze vezes o número 3, 2 ou 1. Números que constam na maioria no geral dos códigos de barras.

    Abraços e sucesso.



    .................................................................................
    Phillip_Junior
    Analista de Sistemas
    avatar
    marcelo marques
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 420
    Registrado : 12/04/2016

    Re: [Resolvido]mercadorias a entregar

    Mensagem  marcelo marques em Sab 15 Jul 2017, 22:36

    boa noite Phillip_Junior me desculpa incomodar você mais eu gostaria de mais uma coisa se não for pedir muito eu ja tentei de todas as formas de meu conhecimento mais não consegui
    gostaria que no formulário que você criou pra mim frm pesquisa_entrega na caixa de combinação eu gostaria que aparecece somente os clientes que as entregas não tivesse cido feita ou meu raciocínio esta errado


    desde ja obrigado

    Phillip_Junior
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 179
    Registrado : 09/12/2016

    Re: [Resolvido]mercadorias a entregar

    Mensagem  Phillip_Junior em Sab 15 Jul 2017, 22:55

    Olá


    Qual dos dois exemplos que lhe envie vc está a utilizar amigo ?

    O que tem o subform ou o que tem a list?


    .................................................................................
    Phillip_Junior
    Analista de Sistemas
    avatar
    marcelo marques
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 420
    Registrado : 12/04/2016

    Re: [Resolvido]mercadorias a entregar

    Mensagem  marcelo marques em Sab 15 Jul 2017, 23:12

    o que tem o subformulario ou você acha que no frm_listaEntregas na caixa de listagem dar dois cliques e ja abrir o formulário frm_pesquisa_ entregas com os dados no qual dei dois cliques talvez assim ficaria mais interessante.


    Phillip_Junior
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 179
    Registrado : 09/12/2016

    Re: [Resolvido]mercadorias a entregar

    Mensagem  Phillip_Junior em Dom 16 Jul 2017, 01:40

    Olá


    Bom!

    Eu não entendi muito bem sua msg na abertura do tópico, pois eu não criei caixa de combinação no frm_pesquisa_entregas.

    Ter uma caixa de combinação num form daquele não seria ruim, mas ai para vc ter exito ao selecionar nessa caixa de combinação, vc vai precisar ter uma consulta somente com as compras a serem entregues.

    Para esse feito, na tbl_entregas, abra ela no modo design e no campo situação nas propriedades no valor padrão coloque "A ENTREGAR". Pois assim, o cadastrado de entrega fica como padrão toda vez que registrar uma entrega.

    Após isso, crie uma consulta com dados da tabela tbl_entregas, no campo SITUACAO nos critérios vc deve especificar que tipo de dados quer que apareça nessa consulta, no
    caso coloque "A ENTREGAR".

    Abra seu form e na sua caixa de combinação vc vai precisar nas propriedades dela no evento da aba dados colocar na linha Origem assim:
    SELECT cls_ListaAEntregar.SITUACAO, cls_ListaAEntregar.CLIENTE, cls_ListaAEntregar.DTVENDA, cls_ListaAEntregar.CODVENDA FROM cls_ListaAEntregar ORDER BY cls_ListaAEntregar.DTVENDA;

    Observe o exemplo que estou anexado que entenderá melhor. Dúvidas só perguntar ok.

    Crie no exemplo um frm onde vc pode tbm numa cx selecao selecionar as ENTREGUES e as A ENTREGAR.
    Lembre-se! Os exemplos que faço e envio a vc, são exemplos simples para vc ter base e verificar o mecanismo de tudo, pois se for usar a estrutura desses exemplos para seu projeto deve se atentar para tratamentos de erro, condições de ações etc.

    Observe o anexo estude e veja se atende sua dúvida.

    Abraços
    Anexos
    ex_simplesVendas_subform.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (498 Kb) Baixado 16 vez(es)


    .................................................................................
    Phillip_Junior
    Analista de Sistemas
    avatar
    marcelo marques
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 420
    Registrado : 12/04/2016

    Re: [Resolvido]mercadorias a entregar

    Mensagem  marcelo marques em Dom 16 Jul 2017, 14:50

    bom diiiaaa Phillip_Junior agora sim ficou ótimo muito obrigado mais uma vez gostei muito

    abraço
    avatar
    marcelo marques
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 420
    Registrado : 12/04/2016

    Re: [Resolvido]mercadorias a entregar

    Mensagem  marcelo marques em Sex 28 Jul 2017, 14:38

    bom dia Phillip_Junior me desculpa reabrir este tópico e reaproveitar porque eu me interessei na maneira de que você falou para não salvar dados de um formulário e subformulario incompleto ,se você puder me enviar um exemplo simples eu agradeço de como criar um campo onde seja gerado um código que esse numero podendo ele ser gerado aleatoriamente ou juntando informações tais como datavenda + codigocliente + código vendedor, somente seja gerado após vc preencher todos os campos que determinas ser importantes e devam constar na venda.
    Se vc tentar salvar ou sair e exista dados incompletos o sistema gera um msg informando que a venda será cancelada.

    Phillip_Junior
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 179
    Registrado : 09/12/2016

    Re: [Resolvido]mercadorias a entregar

    Mensagem  Phillip_Junior em Sex 28 Jul 2017, 14:48

    ola

    farei um exemplo e postarei

    abraços


    .................................................................................
    Phillip_Junior
    Analista de Sistemas
    avatar
    marcelo marques
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 420
    Registrado : 12/04/2016

    Re: [Resolvido]mercadorias a entregar

    Mensagem  marcelo marques em Sex 28 Jul 2017, 15:18

    olá meu amigo muito obrigado eu aguardo

    Phillip_Junior
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 179
    Registrado : 09/12/2016

    Re: [Resolvido]mercadorias a entregar

    Mensagem  Phillip_Junior em Dom 30 Jul 2017, 13:04

    Olá

    Segue o exemplo que falei

    Lembrando q o objetivo aqui é impedir que seja salvo o registro sem antes preencher os campos importantes verificando se estão vazios estes campos e criando um
    número aleatório para cada registro unindo todos os códigos.

    Você pode registrar tanto somente o numero gerado,  quanto todos os códigos unidos (o que não fiz aqui) mas vc pode usar o AddNew ou o campo cod geral ser origem na tabela detalhes ou vendas.
    Enfim! Note que ao clicar em salvar venda, ele vai verificar se existe campos vazios e vai avisar caso exista, impedindo que seja salvo e não irá gerar o número geral.

    Já o btn sair ao clicar, ele vai verificar se o código geral existe, se não existe é pq não está pronto o registro. Dessa forma ele desfaz os registros já feitos até ali, evitando que seje salvo o registro com dados incompletos.

    Teste tudo e retorne se era isso que estava precisando.

    Abraços
    Anexos
    exgerarcod.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (127 Kb) Baixado 6 vez(es)


    .................................................................................
    Phillip_Junior
    Analista de Sistemas
    avatar
    marcelo marques
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 420
    Registrado : 12/04/2016

    Re: [Resolvido]mercadorias a entregar

    Mensagem  marcelo marques em Ter 01 Ago 2017, 11:31

    bom dia Phillip_Junior eu adptei e coloquei ele para gravar o código na tabela venda ,porém na hora de fechar eu estou fazendo a verificação se o campo esta com código aleatório e se estiver vazio ele emite a mensagem me informando que a venda não foi finalizada se eu desejo sair e cancelar a venda, da forma que estou fazendo esta certo ou você colocaria diferente na hora de fechar o formulário?
    avatar
    marcelo marques
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 420
    Registrado : 12/04/2016

    Re: [Resolvido]mercadorias a entregar

    Mensagem  marcelo marques em Seg 07 Ago 2017, 18:28

    boa tarde Phillip_Junior muito obrigado mais uma vez


    abraço

    Phillip_Junior
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 179
    Registrado : 09/12/2016

    Re: [Resolvido]mercadorias a entregar

    Mensagem  Phillip_Junior em Seg 07 Ago 2017, 22:49

    Ops!

    Desculpe!  Vi sua msg somente agora.
    Já notei q está até resolvido o tópico, mas para finalizar  esse tópico com sua pergunta vejamos:

    Se entendi vc adaptou o código para gerar um número de registro aleatoriamente correto? E está ao fechar o forms verificando se o campo que recebe o valor desse numero gerado está vazio ou não para impedir o fechamento caso não esteja finalizado.

    Bom! Na verdade se estas certo ou não,  tudo vai depender da ordem que vc colocou para ser gerado esse numero aleatório. Pois importante que seja somente após estar tudo preenchido os campos q se fazem necessários ao seu objetivo. Estando ele na ordem correta das execuções pode ser sim no botão fechar ou finalizar. Importante mesmo é vc testar todas as formas de ser censurado para verificar se deixou brechas ok.

    Dúvidas só enviar.

    Abraços e sucesso


    .................................................................................
    Phillip_Junior
    Analista de Sistemas

      Data/hora atual: Ter 21 Nov 2017, 17:37