Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Relacionamento em duas tabelas


Guest James

Pergunta

Olá Pessoal

alguém teria um exemplo onde mostra como inserir registros relacionados.

Cadastro de Alunos

Cadastro de Professores

Um aluno terá vários professores e quando apagar um aluno, deverá apagar todos os professores daquele respectivo aluno.

um exemplo que mostre claramente como:

- incluir

- excluir

- alterar

- pesquisar

Muito obrigado pela força

Link para o comentário
Compartilhar em outros sites

13 respostass a esta questão

Posts Recomendados

  • 0

Bom... nesse link: https://www.scriptbrasil.com.br/download/codigo/5601/ tem um exemplo de como inserir, excluir e exibir dados usando asp e bd Access...

Essa questão do relacionamento é estremamente subjetiva, não entendi por exemplo se você esta se referindo a inner ou algo do tipo como cadastrar informações no bd onde seja possivel depois cruzar dados de uma tabela com outra, por exemplo da tabela alunos com a tabela professores... se for isso, poderá fazer de várias formas...

Podes especificar um pouquinho melhor o que precisas?

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0

Rafael, olhei o seu código...obrigado...

O que estou querendo fazer é um controle para os alunos aqui na escola, algo simples.

Entendo um pouco de ASP, pequiso bastante etc... mas sozinho as vezes fica complicado.

Vou inserir algumas imagens do que fiz, assim com o seu conhecimento técnico poderás me ajudar ou dar algumas dicas.

tabelas.jpg

alunos.jpg

professores.jpg

aluno_professor.jpg

relacionamentos.jpg

Quero fazer um cadastro de ALUNOS - PROFESSORES

- inserir registros ( não sei como se montar a SQL quando há registro relacionado )

- alterar

- apagar ( registros + dependentes )

- consultar

não sei se conseguir ser claro....

Obrigado pela atenção

Link para o comentário
Compartilhar em outros sites

  • 0

Nesse seu caso eu usaria Inner join... acho que é a melhor solução... de uma olhadinha pelo google com relação a isso...

separei esse linkzinho pra você tb!

Tem um muito bom aqui no forum mesmo:

http://scriptbrasil.com.br/forum/index.php?showtopic=108732

http://forum.imasters.uol.com.br/index.php?showtopic=276021

De uma estudada nisso, ok?

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0

Rafael Spilki, obrigado...

Olhei os links... mas ainda não tem o que estou querendo.

já pesquisei um monte.... na verdade isto já esta me desanimando pois não consigo localizar um exemplo seque sobre o que pedi.... :-(

Preico de um exemplo prático... se tiveres me ajudaria ...

Novamente, muito obrigado.

Link para o comentário
Compartilhar em outros sites

  • 0

Rafael... veja abaixo por favor...

Meu script de cadastro de alunos esta abaixo:

=== cadastro_aluno.html ===

<html>

<head>

<title></title>

</head>

<body>

<form name="form1" action="salva_aluno.asp" method="post">

<table width="42%" border="0">

<tr>

<td colspan="2">Cadastro de Alunos</td>

</tr>

<tr>

<td width="16%">Aluno:</td>

<td width="84%"><input name="campo_nome" type="text" id="campo_nome"></td>

</tr>

<tr>

<tdCidade</td>

<td> <input name="campo_cidade" type="text" id="campo_cidade"></td>

</tr>

<tr>

<tdUF</td>

<td><input name="campo_uf" type="text" id="campo_uf"></td>

</tr>

<tr>

<td>&nbsp;</td>

<td>&nbsp;</td>

</tr>

<tr>

<td>&nbsp;</td>

<td><input type="submit" value="Gravar" name="submit"></td>

</tr>

</table>

</div>

</form>

</body>

</html>

======================================================

=== salva_aluno.asp ===

<%@ Language="VBScript" %>

<% Option Explicit %>

<html>

<head>

<title></title>

</head>

<body>

<%

Dim xnome, xcidade, xuf

Dim sConnString, conexao, SQL

xnome = Request.Form("campo_nome")

xcidade = Request.Form("campo_cidade")

xuf = Request.Form("campo_uf")

SQL = "INSERT into alunos (nome, cidade, uf) values ('" & xnome & "', '" & xcidade & "', '" & xuf & "')"

sConnString="PROVIDER=Microsoft.Jet.OLEDB.4.0;" & _

"Data Source=" & Server.MapPath("banco.mdb")

Set conexao = Server.CreateObject("ADODB.Connection")

conexao.Open(sConnString)

conexao.execute(SQL)

response.write "Registro gravado com sucesso."

conexao.Close

Set conexao = Nothing

%>

</body>

</html>

=============================================

****** DUVIDAssss

1) As tabelas estao certas?

2) Relacionamento esta certo?

3) Meu cadastro de aluno esta gravando certinho, mas como faco para cadastrar mais de um professor na mesma tela? Que campo uso? Listbox ? e como fica minha sql acima ?

Registro do aluno Pedro

==================

Aluno............: Pedro

Cidade..........: Blumenau

UF................: SC

Professores...: Alexandre ( que campo uso aqui para cadastra mais profes ? )

....................: Allan

....................: Amadeo

Registro do aluno André

===================

Aluno............: André

Cidade..........: Blumenau

UF................: SC

Professores...: Marcio

....................: Marcelo

....................: Margarete

Obrigado novamente...

Link para o comentário
Compartilhar em outros sites

  • 0

faz normal

uma tabela você insere os alunos a outra os professores

ai depois cruza

aluno

professor

ai vai cadastrando...

aluno - professor

1 1

1 2

1 3

insert into (aluno,professor) values (aluno,professor)

pra deleta um aluno pegue o id e apague na tabela aluno_professor

delete * from tabela where aluno="&id

não tem segredo

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Fred --

Caso tenha que mover esse tópico de boa vlw!!!!!!!

Ola a todos eu tenho um problema parecido com o dele e gostaria que alguém de ajudasse. sou novato tmb!!!!

seguinte estou tentando criar um sistema para gerenciar uma otica.

funciona assim

Uma tabela para o cadastro dos clientes "CLIENTES"

id|nome|tel|CPF/CNPJ entre outros campos

tenho o codigo para incluir excluir e alterar

ate ai funciona de boa

o que eu preciso é o seguinte:

Tenho outra tabela chamada "PARCELAS"

id_cliente|Data_venc|Valor|Pago (s ou n) "tem uma checkbox aki com valor marcado e desmarcado"

ai quero inserir um registro no tabela PARCELAS amarada a esse cliente pelo codigo

ex:

Tem um cliente João na minha tabela CLIENTES com o id=8.

ai vendi pra ele um oculos em 3x.

quero que em uma consulta pelo id ou pelo nome do cliente que postre as 3 parcelas que eu cadastrei para ele

ainda não fiz nenhum relacionamento de tabelas lo access

vlw!!!!!!!!!!!

Link para o comentário
Compartilhar em outros sites

  • 0

você não precisa fazer relacionamento pelo asp, a lógica é exatamente esta, você faz uma consulta, descobre o id do cliente e cadastra as parcelas com esse id... por exemplo:

id | parcela | venmcimento

8 | 1 | 01/01/2009

8 | 2 | 01/02/2009

na hora de pesquisar você faze exatamente a mesma coisa, colocando em sua query uma clausula de where, assim:

cliente = "8"
sql = "select * from sua_tabela where campo_id = '"&cliente&"'"

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Fred --
você não precisa fazer relacionamento pelo asp, a lógica é exatamente esta, você faz uma consulta, descobre o id do cliente e cadastra as parcelas com esse id... por exemplo:

id | parcela | venmcimento

8 | 1 | 01/01/2009

8 | 2 | 01/02/2009

na hora de pesquisar você faze exatamente a mesma coisa, colocando em sua query uma clausula de where, assim:

cliente = "8"
sql = "select * from sua_tabela where campo_id = '"&cliente&"'"

[]'s Rafael Spilki

entendi perfeitamente vlw!!!!

agora apareceu outro problema ^^

na pagina de consulta (onde mostra os resultados por linha)

ex

id_cliente|Nome e assim vai....

1|joão| .....

2|maria|.....

eu coloquei um link para tabela cadastra_parcela.asp mas gostaria que fosse junto o id_cliente, tentei o codigo

<a href="parcela_inclusao.asp?id_cliente=<%=(objRS.Fields.Item("id_cliente").Value)%>">Parcelas</a>

onde <%=(objRS.Fields.Item("id_cliente").Value)%> busca a variavel no banco de dados pra jogar no campo id_cliente automaticamente.

qual foi o meu raciocinio!!!!

chamo a pagina cadastra_parcela.asp que é um formulario que cadastra as parcelas no banco de dados(funciona perfeito)

e gostaria que o id já entra-se escrito no capo do formulario que chama id_cliente

ex faço a consulta no banco de dados e tenho os resultados

2|maria (add parcela)|rua 1....

8|joão (add parcela)| rua das roasa....

ai quando clico em (add parcela) que o link ele chama o form para cadastro de parcelas

que tem os campos

id_cliente|nome|Parcela|data_Vencimento|...........

e o link já mandaria o valor do id_cliente

eu cadastraria o resto dos dados saca??

vlw!!!!!!!

Link para o comentário
Compartilhar em outros sites

  • 0

Simples, no primeiro form você coloca os dados que quer resgatar na sequencia em campos type: hidden, e depois os resgata normalmente na outra página podendo até mesmo os colocar automaticamente em outro input...

Ficaria assim:

Primeiro form, antes do submit:

'input hidden, o user não cosegue ver!
<input name="teste" type="hidden" value="seu_id" />
No form seguinte, resultado do action:
id = request.form ("teste")
response.write id

era isso que você precisava?

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0
Simples, no primeiro form você coloca os dados que quer resgatar na sequencia em campos type: hidden, e depois os resgata normalmente na outra página podendo até mesmo os colocar automaticamente em outro input...

Ficaria assim:

Primeiro form, antes do submit:

'input hidden, o user não cosegue ver!
<input name="teste" type="hidden" value="seu_id" />
No form seguinte, resultado do action:
id = request.form ("teste")
response.write id

era isso que você precisava?

[]'s Rafael Spilki

Entendi essa ideia sua e funciona, so que acho que falei de mais e me enrolei.

vo fala em poucas palavar

tenho um link html <a href="pagina.asp">

quando clico nele ele abre uma nova pagina em uma nova janela, que é um formulario para o cadastro das parcelas ok?

o que eu gostaria.

que quando clicar no link abra o form com o campo id_cliente peenchido por um valor que o link mando.

eu tentei esse link mas não funfo.

<a href="parcela_inclusao.asp?id_cliente=<%=(objRS.Fields.Item("Nome").Value)%>">Parcelas</a>

eu preciso que o link mande a variavel, para o forme entende???

vlw pela ajuda!!!!

Obrigado.

Link para o comentário
Compartilhar em outros sites

  • 0

Mas então amigo...

você faz os inputs hidden e depois o link você faz assim: parcela_inclusao.asp?

lá na parcela_inclusao.asp você da um request no campo hidden e recupera o id... depois é so dar um response.write em cima desse novo input que fica na parcela_inclusao.asp...

Mas é lógico que tb existem outras formas ;-)

Outra forma de você fazer é assim (mais parecido com sua lógica):

'precisa de uma consulta ao bd para identificar o campo e criar o objeto recordset...
dim id
id = objRS("seu_campo_id")
<a href="parcela_inclusao.asp?id_cliente=&<%response.write id%>">Parcelas</a>

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0
Mas então amigo...

você faz os inputs hidden e depois o link você faz assim: parcela_inclusao.asp?

lá na parcela_inclusao.asp você da um request no campo hidden e recupera o id... depois é so dar um response.write em cima desse novo input que fica na parcela_inclusao.asp...

Mas é lógico que tb existem outras formas ;-)

Outra forma de você fazer é assim (mais parecido com sua lógica):

'precisa de uma consulta ao bd para identificar o campo e criar o objeto recordset...
dim id
id = objRS("seu_campo_id")
<a href="parcela_inclusao.asp?id_cliente=&<%response.write id%>">Parcelas</a>
[]'s Rafael Spilki
era isso mesmo!!!!! deu certo fize dessa forma o link
<a href="parcela_inclusao.asp?id_cliente=<%=(objRS.Fields.Item("id_cliente").Value)%>&nome=<%=(objRS.Fields.Item("nome").Value)%>">Parcelas</a>
na outra pagina que é o form eu fiz assim
<% 
id = Request.QueryString("id_cliente")
nome = Request.QueryString("nome")
%>
ai dentro da propiedade value do campo do formulario eu coloquei
<INPUT style="width=350" type="text" name="id_cliente" maxlength="255" value="<% Response.Write id %>" onKeyPress="desabilita_cor(this)"  df_verificar="sim" class=campos_formulario>
]<INPUT style="width=350" type="text" name="id_cliente" maxlength="255" value="<% Response.Write nome %>" onKeyPress="desabilita_cor(this)"  df_verificar="sim" class=campos_formulario>

muito obrigado pela ajuda !!!!!!! sepre que tiver novas duvidas e isso sera logo eu acho eu posto ai

vlw mesmo !!!!!!!

Editado por Fredcm
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...