Autor Tópico: Um formulário com dados de duas tabelas  (Lida 3175 vezes)

Mário

  • Novato
  • *
  • Mensagens: 4
Um formulário com dados de duas tabelas
« Online: Dezembro 12, 2013, 03:01:17 pm »
tenho a tabela
PESSOA com (id,endereço, didade, estado..),
e as tabelas
PESSOA_FISICA (nome, rg, cpf...) e
PESSOA JURIDICA.(razão Social, CNPJ, IE...)
Como faço para montar um formulário de inserção que já faça inserção na tabela PESSOA e na PESSOA_FISICA, completando o cadastro de uma pessoa fisica.
Da mesma forma,
Como faço para montar um formulário de inserção que já faça inserção na tabela PESSOA e na PESSOA_JURIDICA, completando o cadastro de uma pessoa juridica.

O Scriptcase trata isso , ou vou ter que desnormalizar o banco?

FredKeyster

  • Expert
  • *****
  • Mensagens: 1702
  • DEWENNINMEN
    • Email
Re:Um formulário com dados de duas tabelas
« Responder #1 Online: Dezembro 12, 2013, 04:11:51 pm »
Simples, construa seu "Insert" no evento onAfterInset. Isso no caso do insert.
F. A.
Analista de Sistemas

Mário

  • Novato
  • *
  • Mensagens: 4
Re:Um formulário com dados de duas tabelas
« Responder #2 Online: Dezembro 13, 2013, 09:00:38 pm »
Obrigado pela resposta Fred, mas não ficou claro pra mim,

Onde estão os campos da outra tabela????
Eu tenho que criar o código do PESSOA_FISICA no evento onAfterInset???? do form PESSOA??   E como passo o parâmetro de um para o outro para referencia-lo???

Não ficou claro

eu abri o form:
PESSOA com (id,endereço, didade, estado..),cadastrei estes dados, como dou continuidade no cadastro na tabela
PESSOA_FISICA (id, nome, rg, cpf...)  ou como coloco estes campos no mesmo form??? São informações complementares.

desculpe, mas não ficou claro,

Obrigado,
« Última modificação: Dezembro 13, 2013, 09:11:33 pm por Mário »

FredKeyster

  • Expert
  • *****
  • Mensagens: 1702
  • DEWENNINMEN
    • Email
Re:Um formulário com dados de duas tabelas
« Responder #3 Online: Dezembro 15, 2013, 10:09:44 pm »
O que não entendo é você ter 3 tabelas (Pessoa, Pessoa_Fisica e Pessoa_jurídica) onde uma só resolveria tudo, mas tudo bem, vamos lá.

Primeiro se você tem uma tabela A onde irá inserir os dados em duas tabelas B e C, então essa tabela A, tem que conter os mesmos campos que contem nas outras tabelas B e C.

Ou seja, na tabela "Pessoa":

PESSOA com (id, nome, rg, cpf, razão Social, CNPJ, IE, endereço, idade, estado, etc ); // Veja que há campos das duas tabelas (pessoa_fisica e pessoa_juridica) na tabela pessoa.

PESSOA_FISICA (nome, rg, cpf...endereco, idade, estado, etc) ;
PESSOA JURIDICA.(razão Social, CNPJ, IE...endereco, idade, estado, etc);

Depois crie o form usando a tabela pessoa, nessa tabela no evento onBeforeInsert \ onAfterinsert use a macro "sc_exec_sql" para pegar os dados dos campos e fazer o insert.


Ex:  Vou colocar como usar a macro  sc_exec_sql mas estude no site os tutoriais do SC.
// campos da tabelaA.

$campo1 = {$campo1};
$campo1 = {$campo2};
$campo1 = {$campo3};

sc_exec_sql(" INSERT INTO suatabelaB (campo1, campo2, campo2) VALUES ('$campo1', '$campo2', '$campo3')");
sc_exec_sql(" INSERT INTO suatabelaC (campo1, campo2, campo2) VALUES ('$campo1', '$campo2', '$campo3')");


Pronto, se tiver dúvida só avisar...

Abração!
« Última modificação: Dezembro 15, 2013, 10:11:22 pm por FredKeyster »
F. A.
Analista de Sistemas

Mário

  • Novato
  • *
  • Mensagens: 4
Re:Um formulário com dados de duas tabelas
« Responder #4 Online: Dezembro 18, 2013, 08:59:13 pm »
na verdade eu estou tentando deixar o banco normalizado,sem campos vazios, por isso a pessoa só recebe os dados comuns e a referencia id e nome ou id e razão social.

PESSOA com (id, id, nome ou razão social, endereço, estado, etc ); só dados comuns a pessoa jurida ou fisica

PESSOA_FISICA (id,nome, rg, cpf...) ;  só dados referentes pessoa fisica
PESSOA JURIDICA.(id,razão Social, CNPJ, IE..);  só dados referentes pessoa juridica

mas confesso que estou tentdo dificuldades em montar os forms.

no form de pessoa fisica eu tenho que juntar as tabelas PESSOA e PESSOA FISICA
no form de pessoa juridica eu tenho que juntar as tabelas PESSOA E PESSOA JURIDICA

assim eu estou tentando fazer o form da tabela de PESSOA FISICA e criando os campos na mão que vão cadastrar os dados da PESSOA
e o mesmo com PESSOA JURIDICA

Ai eu usaria o codigo que vocÊ passou, que honestamente ainda não testei, vou feri isso ainda hoje e respondo.

Faz sentido o que estou fazendo??

Almeida

  • Expert
  • *****
  • Mensagens: 610
    • Email
Re:Um formulário com dados de duas tabelas
« Responder #5 Online: Dezembro 18, 2013, 09:30:43 pm »
na verdade eu estou tentando deixar o banco normalizado,sem campos vazios, por isso a pessoa só recebe os dados comuns e a referencia id e nome ou id e razão social.

PESSOA com (id, id, nome ou razão social, endereço, estado, etc ); só dados comuns a pessoa jurida ou fisica

PESSOA_FISICA (id,nome, rg, cpf...) ;  só dados referentes pessoa fisica
PESSOA JURIDICA.(id,razão Social, CNPJ, IE..);  só dados referentes pessoa juridica

mas confesso que estou tentdo dificuldades em montar os forms.

no form de pessoa fisica eu tenho que juntar as tabelas PESSOA e PESSOA FISICA
no form de pessoa juridica eu tenho que juntar as tabelas PESSOA E PESSOA JURIDICA

assim eu estou tentando fazer o form da tabela de PESSOA FISICA e criando os campos na mão que vão cadastrar os dados da PESSOA
e o mesmo com PESSOA JURIDICA

Ai eu usaria o codigo que vocÊ passou, que honestamente ainda não testei, vou feri isso ainda hoje e respondo.

Faz sentido o que estou fazendo??

Eu faria um controle, que se tem liberdade para criar os campos e montar o INSERT desejado, conta com o onValidade para validação, após a validação pode-se usar o onValidadeSuccess para inserts.

Att.
Eliezer Almeida
eliezeralmeidago@hotmail.com
www.infotecsoft.com.br - Modernidade e Eficiência