Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ewb

Como INSERIR e LISTAR registros relacionados?

Recommended Posts

Não conheço muito sobre relacionamento... tentei detalhar o máximo possivel.

 

- Tenho um "cadastro de ciclos"

Cada "cursista" pode frequentar um curso, palestra 2 ou mais vezes por ano.

 

Tenho dúvida na linha de como criar sql para "inserir / gravar" o registro de de como filtra os registros, veja abaixo.

 

----------------------------------------------------------

 

Nome da tabela: "Tabela" ( cadastro de cursistas ou tabela )

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

 

Campos-->> id - nome - cidade

 

id...Nome........Cidade

==...==========..=======

01 - Mario.......Blumenau

02 - Pedro.......Rio

03 - Carlos......Curitiba

 

---------------------------------------------------------

 

Nome da tabela: "ciclos"

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

 

Campos-->> id_relaciona - cod_relaciona - mes_ano

 

Cad. Relaciona

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

 

id_relaciona - cod_relaciona - mes_ano

========...=========...=======

55...............- ... 1 .............. - 02/2007

55...............- ... 2 .............. - 02/2007

55...............- ... 3 .............. - 03/2007

 

88...............- ... 1 .............. - 02/2007

88...............- ... 2 .............. - 03/2007

88...............- ... 3 .............. - 04/2007

88...............- ... 4 .............. - 04/2007

 

----------------------------------------------------------

 

No MsAccess relacionei a tabela de nome "tabela" com o campo "id_relaciona" da tabela "ciclos"

 

----------------------------------------------------------

 

 

DUVIDA NA SQL DO CADASTRO

 

 

Na linha do SQL, nao sei com fazer para inserir / gravar o registro qdo ha relacionamento...

 

Veja abaixo como faço atualmente, mas não saberia fazer com o registro relacionado.

 

-------

 

<!--#include file="conexao.asp"-->

<%
Dim Conexao
Call Abre_Tabelas

select case Request.QueryString("cadastrar")
case "ok"

var_nome = Trim(Request.Form("campo_nome"))
var_cidade = Trim(Request.Form("campo_cidade"))

if var_nome = "" then var_nome = Chr(10)
if var_cidade = "" then var_cidade = Chr(10)

var_nome = Replace(var_nome, "<", "<") 
var_nome = Replace(var_nome, ">", ">")
var_nome = Replace(var_nome, "'", "''")

var_cidade = Replace(var_cidade, "<", "<") 
var_cidade = Replace(var_cidade, ">", ">")
var_cidade = Replace(var_cidade, "'", "''")

SQL = "INSERT INTO tabela (nome, cidade) VALUES ('" & var_nome & "','" & var_cidade & " ')" 

conexao.execute(SQL)
call fecha_tabelas
Response.Redirect("cursistas.asp")
end select
%>

----------------------------------------------------------------------------------------

 

DUVIDA NA SQL DO RELATORIO

 

 

RELATÓRIO

=========

 

No formulario do relatorio haverá um "combobox" para selecionar o "mes_ano" e um campo para selecionar o "nome"

 

3 Critérios de pesquisa:

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

 

Criterio de pesquisa: [_mario___] e [_02/2007__]

( listar todos registros iguais a "mario" com "mes e ano" ( 02/2007 )

 

Criterio de pesquisa: [_mario___] ( listar todos os registros iguais a "mario"

 

Criterio de pesquisa: [_02/2007_] ( listar todos os meses e anos igual a 02/2007 )

 

 

 

Exemplo do relatório desejado:

 

Digite "mario" e todos os registros ( ciclos ) que o "mario" fez devem ser listados.

 

Criterio de pesquisa: [_mario___]

 

55....- 1 ........... - 02/2007

55....- 2 ........... - 02/2007

55....- 3 ........... - 03/2007

 

88....- 1 ........... - 02/2007

88....- 2 ........... - 03/2007

88....- 3 ........... - 04/2007

88....- 4 ........... - 04/2007

 

----------------------------------------------------------

 

 

 

Muito obrigado pela ajuda da IMasters

 

Thank you

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hello....

 

Alguem poderia me ajudar.

 

 

Obrigado

Amigo siceramente você mais complico do que simplificou, não sou muito experiente, porem vocÊ ´pode decidir tratar com logica no asp ou nas suas tabelas, isto é se você tem um determinado aluno que só pode cursar 2 cursos, faz um select com cursos deles e soma os registros, se der > que 2 não deixa cadastrar mais, não sei se é bem isso que vocÊ quer sincerament acho que ta muito complicado isso ai que você postou, mas pode ter mais alguem ai que vai te ajudar. boa sorte

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá

 

Estou pedindo ajuda... se você que é desenvolvedor ( imagino, nao sei... ) imagina para quem nao vive da programacao e que as vezes encara um desafio.

 

Pensava em ver um exemplo de SQL respondendo minhas perguntas....

 

Desculpe, desta forma "você" nao me ajudou em nada mesmo.

 

Hargon, Mario.... kd vcs ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Okay... vamo novamente.... Jow

 

Calma...... to pensando irritado ehrehreherheh ...... fala sérioooooooooo, fiz duas perguntas....

 

voce e o outro cara anterior nao me responderao.... MAS estao me fazendo perguntas.... erheerh

 

EU estou pedindo a sua ajuda ou de quem puder me ajudar.... e se puderes me responder

 

"objetivamente" as duas perguntas que fiz ( listei novamente abaixo ) estará me ajudando....

 

do constrario voce é segundo que nao me ajudou em nada, mas sim.... "me perguntou" erherheh

 

 

Obrigado, obrigado

 

 

DUVIDA NA SQL DO CADASTRO

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

Na linha do SQL, nao sei com fazer para inserir / gravar o registro qdo ha relacionamento...

 

 

 

-------------------------------------------------------------------

 

 

RELATÓRIO

=========

 

No formulario do relatorio haverá um "combobox" para selecionar o "mes_ano" e um campo para selecionar o "nome"

 

3 Critérios de pesquisa:

 

 

Criterio de pesquisa: [_mario___] e [_02/2007__]

( listar todos registros iguais a "mario" com "mes e ano" ( 02/2007 )

 

Criterio de pesquisa: [_mario___] ( listar todos os registros iguais a "mario"

 

Criterio de pesquisa: [_02/2007_] ( listar todos os meses e anos igual a 02/2007 )

 

 

 

Como faço o filtro sabendo que tenho registro relacionados?

 

Com faço/ monto / crio esta sql ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara vamos ver se eu entendi ...

 

Ex:

 

TABELA_CADASTRO

id_cadastro

nome

email

 

TABELA_CURSO

id_curso

nome_curso

ano_curso

 

TABELA_CADASTRO_X_CURSO

 

id_curso

id_cadastro

ano_curso

 

 

Etapas:

1 - Insere o usuário, sendo que os cursos tem que estar listado neste formulário como um pulldown por exemplo.

2 - Ao cadastrar o usuário, você resgata o id_cadastro, resgata o id_curso e o ano do curso e grava na tabela TABELA_CADASTRO_X_CURSO.

 

Ps. Você precisa ver a navegabilidade disso pra ver se vai ser um formulário aonde você insere um novo cadastro com o curso ou você ja cria o usuário e depois relaciona o curso. Porque ? Você precisa verificar se existem 2 registros na TABELA_CADASTRO_X_CURSO, caso exista, ele não pode fazer outrocurso.

 

Veja se é isso .. qualquer coisa tamo ai.

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Angelo

 

Obrigado pelo seu feedback ...

É isso mesmo.... nao mencionei a tabela intermediária, deduzo que você a criou por causa do realcionamento, andei lendo algo.

 

Minha duvida é como fazer ( escrever ) a linha da sql com o relacionamento ( nas operacoes abaixo que nao envolvam relacionamento eu sei fazer as sqls - NAO sei com qdo há registros relacionados ) Não programo com asp frequentemente, diferente de quem programa diariamente.

 

Se puderes exemplificar as sqls para as operacoes abaixo, serei muito grato.

 

- inclusao do registro

- exclusao

- alteracao

- pesquisa

 

Novamente, obrigado por ter se manifestado e já apresentar algo afim de me ajudar...

 

Este é o tipo de ajuda que pessoas como eu e muitos outros precisam, profissionais como você que além do conhecimento técnico também tem "percepção" , "intuição" e "iniciativa" para propor solucoes e sabe se posicionar... consegue realmente ajudar.

 

Obrigadao.

 

 

/* A sabedoria é como um rio, quanto mais profundo, menos barulho faz */

Compartilhar este post


Link para o post
Compartilhar em outros sites

EWB,

 

Peço que não fique postando repetidamente sem conteúdo e simplesmente solicitando uma resposta destrinchada para suas duvidas. Aqui todos são voluntários e estão aqui para trocar conhecimento dentro daquilo que sabem e dentro do seu tempo disponível. Muitas vezes precisamos que aqueles que possuem duvidas expliquem melhor o que estão tentando fazer, as vezes até mesmo precisamos de uma misera mensagem de erro para que saibamos como ajudar.

 

Sua 1ª postagem está realmente confusa, em uma lida rápida não se consegue entender muita coisa, depois lendo com mais calma dá para entender que está com duvidas em montar as SQL's quando as tabelas possuem relacionamentos.

 

Vamos ver se consigo passar algo mais que o colega Angelo.

 

Quando inserir em tabelas relacionadas é normal, não precisa indicar de qual tabela vem tal valor, o banco irá se encarregar de checar se aquele valor inserido existe no campo que foi informado na sua "construção" e informar com um erro caso esse valor seja inconsistente.

 

A exclusão será da mesma forma "normal", quando se exclui um valor "filho". Caso exclua o valor da tabela "pai" deve-se excluir primeiro das tabelas filhas.

 

Na seleção deve-se incluir os relacionamentos na SQL com JOIN ou de uma forma básica:

Select *.tabela1, *.tabela2 From tabela1, tabela2 Where campo1.tabela1 = algumvalor And camporelacionado.tabela = camporelacionado.tabela2;

Normalmente o próprio banco se encarrega de, caso os nomes e dados dos campos sejam os mesmos, de "ajustar" os dados.

 

Para limitar a quantidade das "matérias" faça um Select com os dados do usuário e verifique se já não ultrapassou o limite pré estabelecido.

 

Espero ter ajudado um pouco.

Compartilhar este post


Link para o post
Compartilhar em outros sites

TABELA_CADASTRO_X_CURSO

 

id_curso

id_cadastro

ano_curso

como foi dito, você terá q ter essa tabela, ficará mais fácil a relação, ainda sugiro você criar um id_relacao. Ficaria assim:

 

TABELA_CADASTRO_COM_CURSO

id_relacao 'chave primaria e auto-numeração

id_curso 'insert dos dados da TABELA_CURSO

id_cadastro 'insert dos dados da TABELA_CADASTRO

ano_curso ' será digitado por você.

 

na listagem dos dados pode ser feito com select ex:

<select name="qualquer"><%dim recorder
set recorder = create.object("adodb.recordset")
sql = "select * FROM TABELA_CADASTRO"
recorder.open("sql")%>
<option value="">Selecione</option>
<%while not recorder.EOF%>
<option value=<%recorder.fields("ID_CADASTRO")%>><%recorder.fields("nome")%></option>
<%recorder.movenext
wend
%>
</select>
%>

seria basicamente isso para exibir todos valores dentro de um select(lista suspensa)... Flw? qq duvida postae

 

 

Lembrando, ninguém aqui está sendo pago pra te ajudar, então seja mais gentil... mesmo quando a resposta não for a que você espera...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Salgado

 

Sobre a equipe, desculpe... realmente não sabia que eram voluntários... então seu fui rude lá vai...

 

PEÇO DESCULPAS para todos aqueles que não fui gentil.

 

Obrigado pela ajuda, vou tentar fazer...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.