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


    Somar campo na mesma Tabela

    avatar
    vileman
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 580
    Registrado : 25/05/2011

    Somar campo na mesma Tabela Empty Somar campo na mesma Tabela

    Mensagem  vileman 20/10/2013, 17:58

    Boa tarde a todos. Preciso da ajuda de vocês, visto que já fiz minhas buscas no site e não consegui resolver a questão no seguinte: ** Uso Access 2003

    Objetivo: Somar um campo de vários registros na mesma tabela da seguinte forma:

    1) Sabendo-se que o Cadastro usado é do Cliente e quando ele faz o pedido de um produto, fica-se aguardando o pagamento do mesmo, e seleciona-se o Código do Vendedor em outra tabela, usando-se uma ComboBox. Quando é feito o pagamento vai 1 Ponto para o Vendedor selecionado.

    2) Um vendedor faz uma venda e recebe um ponto por cada cliente desde que esse cliente faça o pagamento de um produto. O Vendedor terá 1 Ponto ganho.

    3) Quando esse mesmo vendedor fizer outra venda a outro cliente e ele faz o pagamento, será mostrado que existe 1 Ponto no Cadastro desse Vendedor. Quando esse 2º Cliente fizer o pagamento, o Vendedor terá agora 2 Pontos, a será mostrado para o cadastro do próximo Cliente desse Vendedor, e assim por diante.

    Então preciso que essa soma seja gravada em um campo na Tabela dos Clientes, de forma acumulativa, lembrando que estou usando apenas essa tabela sem relacionamentos com outra qualquer.

    Campos usados:
    CodCliente            (Autonumeração)
    CodVendedor        (Número)
    PontoAtualizado    (Número)  * Ponto ganho a cada venda com pagamento
    PontosAcumulados (Número) * Somatório do campo "PontoAtualizado"

    Em resumo: O acumulado dos pontos é mostrado no Cadastro de cada Cliente quando o Vendedor é selecionado na venda do produto, que nesse caso pode ter o mesmo Vendedor várias vezes para clientes diferentes; e quando for registrar o Código do Vendedor é mostrado no próximo Cliente o total acumulado desse Vendedor e somando-se mais 1 ponto, a cada pagamento. Espero tenham entendido, senão tentarei explicar melhor conforme o entendimento de cada um que ajude nessa questão.
    avatar
    Convidado
    Convidado


    Somar campo na mesma Tabela Empty Re: Somar campo na mesma Tabela

    Mensagem  Convidado 20/10/2013, 18:09

    Boa Tarde !


    Bom, seu eu entendi bem o que quer, voce prentece contabilizar quando pontos cada vendedor tem desde que esteje pago correto ?



    Se for isso não vejo a necessidade de criar os campos PontoAtualizado (Número) * Ponto ganho a cada venda com pagamento PontosAcumulados (Número) * Somatório do campo "PontoAtualizado", você certamente deve ter algum campo que identifica que esta pago ou não.


    Se cada venda vale 1 ponto, porque não fazer um select count ou DCount?

    Algo mais ou menos assim

    Select count (CodCliente) From SuaTabela Where (Campo_Pago_Ou_Nao = "Pago") And (CodVendedor= " & SuaComboBox & ")


    Saudacoes !
    avatar
    vileman
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 580
    Registrado : 25/05/2011

    Somar campo na mesma Tabela Empty Somar campo na mesma Tabela

    Mensagem  vileman 21/10/2013, 00:39

    Olá, RSilva, agradeço a ajuda, então vamos a questão:

    Sim, concordo com sua observação e objetividade, mas como nunca fiz nada parecido, gostaria de saber onde e como coloco os comandos sugeridos?
    Pelo que também pude entender, nesse caso também preciso criar um novo campo para gravar o total da soma dos pontos, confere ?

    Adaptando seu exemplo para os objetos usados ficaria assim:

    Select count (CodCliente) From SuaTabela Where (Campo_Pago_Ou_Nao = "Pago") And (CodVendedor= " & SuaComboBox & ")

    Select count (CodCliente) From T15_Clientes Where (SitPgCliente = "2") And (CodVendedor= " & CBVendedor & ")

    onde:

    T15_Clientes = Tabela dos Clientes
    CodCliente    = Código do Cliente (Autonumeração)
    SitPgCliente  = campo da situação de pagamento do cliente (Tipo texto) - 1: Não-Pago / 2: Pago
    CodVendedor = Código do Vendedor (Número)
    CBVendedor  = Combobox que seleciona o código do Vendedor no campo "CodVendedor"

    Tentei usar no evento "após atualizar" do campo "CodVendedor" usando a combobox acima, mas deu a mensagem de erro: "Erro de sintaxe" ou "Era esperado: Case"
    avatar
    Convidado
    Convidado


    Somar campo na mesma Tabela Empty Re: Somar campo na mesma Tabela

    Mensagem  Convidado 21/10/2013, 01:33

    Amigo estou no Cell agora mas pelo que vi aqui
    Se sipgCliente for do tipo numero tente

    Select count (CodCliente) From T15_Clientes Where (SitPgCliente = 2) And (CodVendedor= " & CBVendedor & ")

    Outra coisa sua CBvendedor tem que passar o valor 1 ou 2 se passar texto vai dar erro

    Se não ser certo manda aí um recado que amanha quando estiver no computador olho pra ti
    avatar
    vileman
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 580
    Registrado : 25/05/2011

    Somar campo na mesma Tabela Empty Somar campo na mesma Tabela

    Mensagem  vileman 21/10/2013, 15:23

    Caro RSilva, coloquei os comandos conforme acima, mas continua dando a mesma mensagem de erro: "Erro de sintaxe" ou "Era esperado: Case"

    Lembrando que:
    O campo "SitPgCliente" é tipo texto com 2 opções: 1: Não-Pago e 2: Pago, onde é capturado apenas 1 ou 2 conforme o caso;
    Na combobox "CBVendedor" a origem é o campo "CodVendedor", ou seja, é selecionado o código do Vendedor e não o valor 1 ou 2 como você falou, que nesse caso seria o campo "SitPgCliente" explicado acima, mas fique a vontade para sugerir quaisquer alterações.
    avatar
    vileman
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 580
    Registrado : 25/05/2011

    Somar campo na mesma Tabela Empty Somar campo na mesma Tabela

    Mensagem  vileman 30/10/2013, 21:08

    UP
    avatar
    Convidado
    Convidado


    Somar campo na mesma Tabela Empty Re: Somar campo na mesma Tabela

    Mensagem  Convidado 31/10/2013, 13:04

    Teria como disponibilizar o form e as tabelas envolvidas ou elabora algo parecido que o que desejar e poste para outros colegas tbm possa analisar seu problema.
    avatar
    vileman
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 580
    Registrado : 25/05/2011

    Somar campo na mesma Tabela Empty Somar campo na mesma Tabela

    Mensagem  vileman 31/10/2013, 14:43

    Bom dia, RSilva

    Sim, vou preparar o arquivo com as tabelas e os formulários e disponibilizo para você e outros colegas que possam ajudar.
    avatar
    vileman
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 580
    Registrado : 25/05/2011

    Somar campo na mesma Tabela Empty Somar campo na mesma Tabela

    Mensagem  vileman 4/11/2013, 05:19

    RSilva, segue o arquivo em anexo, para você e quem mais se dispuser a ajudar.

    Informo que houve algumas mudanças na rotina, mas a essência do tópico de somar o campo na mesma tabela continua igual, então vejamos:

    Uso apenas uma Tabela: "T15_Vendedores" com alguns dos campos:
    'CodVendedor' (Autonumeração)
    'PontosLimite' (Número)
    'PontoAtualizado' (Número) - Valor padrão = 0
    'PontosAcumulados (Número)
    'DTPgAdesao' (Data)
    'SitPgMaster' (Texto) - Valor padrão = 1 (Pendente)

    Cada Vendedor pode ter vários clientes através de seu código. Então após fazer o cadastro desse cliente no cadastro do Vendedor, o sistema fica aguardando o pagamento dele para gerar uma comissão a ser liberada e paga ao Vendedor. No campo ‘PontosLimite’ (tipo número) que como exemplo vou colocar como 10 (como se fosse 10 créditos. Esse número pode variar) e o campo ‘PontoAtualizado’ (tipo número), então a cada vez que um dos Clientes do Vendedor faz o pagamento no campo ‘DTPgAdesao’ (tipo Data) no evento “após atualizar” o campo ‘PontoAtualizado’ é atualizado com o valor 1, e o campo ‘SitPgMaster’ é atualizado para 2 (Liberado).  

    Preciso que a cada vez que um dos Clientes faça o pagamento seja somado mais 1 no campo 'PontosAcumulados', ou seja, sempre somando +1 a cada pagamento de um Cliente qualquer para o cadastro do Vendedor nesse campo citado.

    Exemplo: O vendedor tem 15 Clientes:
    O 1º a fazer o pagamento: Gera 1 Ponto no campo 'PontoAtualizado'.  Atualiza o campo ‘PontosAcumulados’ para 1. Atualiza o campo 'SitPgMaster' para 2 (Liberado);
    O 2º faz o pagamento: Gera 1 Ponto no campo 'PontoAtualizado', como já existe o valor de 1, é somado mais 1 ao já existente e o campo 'PontosAcumulados' fica igual a 2. Atualiza o campo 'SitPgMaster' para 2 (Liberado);
    O 3º faz o pagamento: Gera 1 Ponto no campo 'PontoAtualizado', e o campo 'PontosAcumulados' fica igual a 3, e assim por diante até o limite contido no campo 'TotalCreditos' (campo desacoplado). Atualiza o campo 'SitPgMaster' para 2 (Liberado);
    Quando o 10º cliente fizer o pagamento, gera uma mensagem: “Atenção! Limite de 10 Créditos foi completado. Emitir Relatório para o Vendedor!”. Limite esse que está no campo 'PontosLimite', conforme citado acima.
    Quando do 11º ao 15º cliente fizer o pagamento, emitir uma mensagem: "Atenção! Limite Excedido. Emitir aviso ao Vendedor para aumentar seu Limite de Créditos". Atualiza o campo 'SitPgMaster' para 3 (Bloqueado).

    Quando o Vendedor fizer a compra de mais créditos para cobrir essa quantidade excedida o campo 'SitPgMaster' será atualizado manualmente para 2 (Liberado), enquanto isso esses 05 pagamentos ficam como Bloqueados.
    PS: Caso essa atualização, após adquirir mais créditos possa ser automática fica melhor ainda.

    Importante: Informo que quando o Cliente faz o 1º pagamento automaticamente ele torna-se um Vendedor e fica atrelado a um Vendedor Master que foi quem o convidou e pode convidar outras pessoas e fica sendo o Vendedor Master desses seus convidados, então o cadastro é único para ambos (Vendedor e Cliente), ou seja, na mesma Tabela ‘T15_Vendedores’ e Formulário ‘F15_Vendedores’ é feita toda a rotina acima, isto é, não existe uma tabela com relacionamento de um-para-vários, isto é, não tem um Vendedor com vários Clientes, tentei fazer dessa forma, mas ficou mais complicado, e dessa forma como fiz agora ficou satisfatória para o que eu pretendia; pois cada Cliente ao tornar-se Vendedor tem um Vendedor Master no seu cadastro, e ganha uma comissão apenas sobre cada um de seus Clientes, e não sobre os Clientes desse seu Cliente, ou seja, não funciona como pirâmide, pois a intenção não é essa; a relação é um para um, em termos de comissão e pagamento. Espero tenham entendido as questões acima, senão vamos por parte, ok?

    Conteúdo patrocinado


    Somar campo na mesma Tabela Empty Re: Somar campo na mesma Tabela

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 21/11/2024, 22:17