Cadastro de clientes (Pessoa Física ou Jurídica)

Anônima
2014-01-02T18:59:12+00:00

Boa tarde,

Acabei de me cadastrar no site e sou iniciante no access.

Estou criando um banco de dados para cadastrar os clientes da empresa que trabalho, no entanto, existem clientes que possuem empresa e clientes que não possuem, sendo assim eu precisaria de um formulário onde pedisse as informações dos clientes com cnpj, inscrição estadual, razão social e nome fantasia, e um outro formulário onde pedisse cpf, rg e o nome do cliente. Isso td já foi feito, tenho os dois formulários e as duas tabelas (uma para pessoa física e outra para pessoa jurídica). A questão é, preciso colocar um código para esses clientes, mas esse código tem q ser contínuo independente de ser pessoa física ou jurídica. Ou seja, ao cadastrar um cliente no formulário de pessoa física (por exemplo) ele seria o cliente de código 1, e quando for cadastrar o próximo cliente (independente de ser pessoa física ou jurídica) ele será o de código 2, e assim por diante, mas os clientes de um formulário não podem aparecer no outro. Não sei como fazer isso mas acredito que seja possível. Eu havia colocado um campo de código em cada tabela, mas gerava duplicidade, pois o campo de código de uma tabela não tinha nada a ver com o da outra. Então preciso de ajuda com isso, pois preciso terminar esse banco de dados e os códigos dos clientes não podem ter duplicidade.

Desde já agradeço pela atenção.

Att,

Leandro Dutra

Microsoft 365 e Office | Access | Para uso doméstico | Windows

Pergunta bloqueada. Essa pergunta foi migrada da Comunidade de Suporte da Microsoft. É possível votar se é útil, mas não é possível adicionar comentários ou respostas ou seguir a pergunta.

0 comentários Sem comentários
Resposta aceita pelo autor da pergunta
Anônima
2014-01-07T08:38:33+00:00

Coloque uma amostra do seu banco somente com alguns registros (fictícios de preferência)

Eu lhe ajudarei a montar a estrutura.

Esta resposta foi útil?

1 pessoa achou esta resposta útil.
0 comentários Sem comentários

12 respostas adicionais

Classificar por: Mais útil
  1. Anônima
    2014-01-06T11:37:53+00:00

    desse modo eu teria que ficar colocando o código manualmente né, acho q não daria muito certo. Eu pensei também em fazer uma tabela única e dois formulários, mas quando crio um cadastro em um formulário (pessoa física por exemplo) o outro também recebe as informações do registro que coincidem com os campos que ele possui, ou seja, a única diferença entre um registro de pessoa física e um registro de pessoa jurídica seriam os campos de Nome/Razão Social, Nome Fantasia, CPF/CNPJ, RG/Inscrição Estadual e Inscrição Municipal. Sendo assim, se eu crio um cadastro no formulário de pessoa física (por exemplo), quando abro o formulário de pessoa jurídica o registro também é mostrado, só q os campos citados acima ficam em branco. Penso q o ideal seria criar algum filtro q faça o formulário de pessoa física mostrar apenas os registros de pessoa física e o formulário de pessoa jurídica mostrar apenas os registros de pessoa jurídica. Ou então alguma forma de unir td em um só formulário, com um campo q diferencie CPF de CNPJ e RG de Inscrição Estadual. Não sei qual seria a melhor opção, pois como eu disse, sou iniciante no access e não entendo nada de programação. Estou apenas sendo corajoso mesmo e rachando a cabeça para fazer esse banco de dados.

    Muito obrigado.

    Att,

    Leandro Dutra

    Você mesmo matou a charada.

    Veja bem:

    Mantenha os registros numa tabela única.

    O campo que armazenará os números de CPF e CNPJ você deixa sem máscara na tabela e aplica as máscaras somente nos formulários.

    Cria-se um campo na tabela chamado TipoDePessoa, nesse informará F para Pessoa Física e J para Pessoa Jurídica.

    Agora a lógica programática a ser empregada:

    Depende de você, mas se eu fosse fazer faria apenas em um formulário, pois eu teria o campo tipo de pessoa para mostrar ou ocultar os campos e máscaras porque se eu seleciono F faria aparecer o campo de CPF e ocultar o campo de CNPJ e os respectivos campos relacionados como rg e inscrição estadual e vice versa.

    Se preferir fazer em dois formulários também dá sem problemas, bastando auto preencher automaticamente o campo tipo de pessoa.

    para mostrar somente os dados correspondentes a cada formulário usa-se o campo TipoDePessoa para filtrar no SELECT assim:

    "SELECT * FROM TabelaClientes WHERE TipoDePessoa = "F" ORDER BY CampoTal"

    Ou

    "SELECT * FROM TabelaClientes WHERE TipoDePessoa = "J" ORDER BY CampoTal"

    Decida e retorne.

    Ok, eu criei um campo TIPO na minha tabela para informar se é pessoa física "PF" ou jurídica "PJ". agora o problema é na parte dos formulários, como eu havia dito, estou começando agora no Access, então não entendo nada de programação rss. Tem como me explicar em detalhes como faço para colocar esse código que faz cada formulário aparecer apenas o q lhe diz respeito? Se quiser posso lhe enviar o arquivo para dar uma olhada e ver o q precisa ser feito.

    De qualquer forma já agradeço pela ajuda e atenção.

    Att,

    Leandro Dutra

    Esta resposta foi útil?

    0 comentários Sem comentários
  2. Anônima
    2014-01-03T19:42:09+00:00

    desse modo eu teria que ficar colocando o código manualmente né, acho q não daria muito certo. Eu pensei também em fazer uma tabela única e dois formulários, mas quando crio um cadastro em um formulário (pessoa física por exemplo) o outro também recebe as informações do registro que coincidem com os campos que ele possui, ou seja, a única diferença entre um registro de pessoa física e um registro de pessoa jurídica seriam os campos de Nome/Razão Social, Nome Fantasia, CPF/CNPJ, RG/Inscrição Estadual e Inscrição Municipal. Sendo assim, se eu crio um cadastro no formulário de pessoa física (por exemplo), quando abro o formulário de pessoa jurídica o registro também é mostrado, só q os campos citados acima ficam em branco. Penso q o ideal seria criar algum filtro q faça o formulário de pessoa física mostrar apenas os registros de pessoa física e o formulário de pessoa jurídica mostrar apenas os registros de pessoa jurídica. Ou então alguma forma de unir td em um só formulário, com um campo q diferencie CPF de CNPJ e RG de Inscrição Estadual. Não sei qual seria a melhor opção, pois como eu disse, sou iniciante no access e não entendo nada de programação. Estou apenas sendo corajoso mesmo e rachando a cabeça para fazer esse banco de dados.

    Muito obrigado.

    Att,

    Leandro Dutra

    Você mesmo matou a charada.

    Veja bem:

    Mantenha os registros numa tabela única.

    O campo que armazenará os números de CPF e CNPJ você deixa sem máscara na tabela e aplica as máscaras somente nos formulários.

    Cria-se um campo na tabela chamado TipoDePessoa, nesse informará F para Pessoa Física e J para Pessoa Jurídica.

    Agora a lógica programática a ser empregada:

    Depende de você, mas se eu fosse fazer faria apenas em um formulário, pois eu teria o campo tipo de pessoa para mostrar ou ocultar os campos e máscaras porque se eu seleciono F faria aparecer o campo de CPF e ocultar o campo de CNPJ e os respectivos campos relacionados como rg e inscrição estadual e vice versa.

    Se preferir fazer em dois formulários também dá sem problemas, bastando auto preencher automaticamente o campo tipo de pessoa.

    para mostrar somente os dados correspondentes a cada formulário usa-se o campo TipoDePessoa para filtrar no SELECT assim:

    "SELECT * FROM TabelaClientes WHERE TipoDePessoa = "F" ORDER BY CampoTal"

    Ou

    "SELECT * FROM TabelaClientes WHERE TipoDePessoa = "J" ORDER BY CampoTal"

    Decida e retorne.

    Esta resposta foi útil?

    0 comentários Sem comentários
  3. Anônima
    2014-01-03T13:29:02+00:00

    desse modo eu teria que ficar colocando o código manualmente né, acho q não daria muito certo. Eu pensei também em fazer uma tabela única e dois formulários, mas quando crio um cadastro em um formulário (pessoa física por exemplo) o outro também recebe as informações do registro que coincidem com os campos que ele possui, ou seja, a única diferença entre um registro de pessoa física e um registro de pessoa jurídica seriam os campos de Nome/Razão Social, Nome Fantasia, CPF/CNPJ, RG/Inscrição Estadual e Inscrição Municipal. Sendo assim, se eu crio um cadastro no formulário de pessoa física (por exemplo), quando abro o formulário de pessoa jurídica o registro também é mostrado, só q os campos citados acima ficam em branco. Penso q o ideal seria criar algum filtro q faça o formulário de pessoa física mostrar apenas os registros de pessoa física e o formulário de pessoa jurídica mostrar apenas os registros de pessoa jurídica. Ou então alguma forma de unir td em um só formulário, com um campo q diferencie CPF de CNPJ e RG de Inscrição Estadual. Não sei qual seria a melhor opção, pois como eu disse, sou iniciante no access e não entendo nada de programação. Estou apenas sendo corajoso mesmo e rachando a cabeça para fazer esse banco de dados.

    Muito obrigado.

    Att,

    Leandro Dutra

    Esta resposta foi útil?

    0 comentários Sem comentários
  4. Anônima
    2014-01-02T23:44:03+00:00

    Olá seja bem vindo a Comunidade Microsoft e feliz 2014!

    O recomendado seria manter os cadastros numa unica tabela. Isso te oferecia muitos benefícios a nível de desenvolvimento com as implementações e a numeração automática por exemplo.

    Da forma que quer fazer dá pra fazer também:

    Poderia criar uma tabela pra servir de contador:

    Assim toda vez antes de inserir o número de cadastro você iria na tabela contador, percorreria até o final, pegaria o ultimo número e cadastrava no novo registro na tabela de CNPJ ou CPF. Daí daria um update na tabela contador para acrescentar + 1, algo do tipo:

    DoCmd.RunSQL ("UPDATE tabela_contador SET Contador_De_Cad = Contador_De_Cad + 1")

    Analise pois se ainda der tempo poderia unificar os registros numa unica tabela, senão retorne o contato para seguirmos a solução.

    Esta resposta foi útil?

    0 comentários Sem comentários