
Tô com problema: Não consigo gravar os dados de um formulário que tem varios checkboxes em uma tabela relacionada.
Tenho um formulario com tres campos:
nome (caixa de texto)
endereco (caixa de texto
departamentos (varios checkboxes)
Funciona assim: O usuário digite o nome, cho endereco e marca os ckeboxes correspondentes aos departamentos (estes departamentos estão cadastrados na tabela departamentos).
Para explicar melhor coloquei a estrutura das tabelas, logo abaixo:
Tabela: associado
codigo int not null,
nome varchar(80) not null,
endereco varchar(80) not null,
constraint pk_cod_associado primary key(codigo)
Tabela: departamento
cod_depto int not null,
nome varchar(80) not null
constraint pk_cod_depto primary key(cod_depto)
Tabela: associado_depto
associado int not null,
departamento int not null,
constraint pk_associado_departamento primary key(associado,departamento)
constraint fk_associadodep_associado foreign key(associado) references associado(codigo) on update cascade
constraint fk_associadodep_departamento foreign key(departamento) references departamento(cod_depto) on update cascade
Tô com problema na gravação dos dados !
Lógica:
1º: Tenho que gravar o nome e o endereco do associado na tabela associado (Consigo fazer, está funcionando)
2º: Tenho que gravar na tabela associado_depto(que possui a chave primária composta pelo codigo do departamento e o codigo do associado) o codigo e os departamentos escolhidos pelo usuario.
o problema está no 2º passo. Não estou conseguindo gravar na tabela associado_depto o nome e os departamentos escolhidos por cada associado.
<%
nome=Request.form("nome")
session("nome")=nome
Dim con,rs
set con =server.CreateObject("ADODB.Connection")
set rs =server.CreateObject("adodb.recordset")
con.open "provider=Microsoft.jet.oledb.4.0; Data source=" & server.MapPath("./bd/teste.mdb")
sql="select codigo, nome from associado"
rs.open sql,con,3,3
rs.addnew()
rs.fields("nome")=session("nome")
rs.Update
set rs_obtem_cod_associado = server.CreateObject("adodb.recordset")
sql_obtem_cod_associado="Select codigo from associado where nome='" & session("nome") & "'"
rs_obtem_cod_associado.open sql_obtem_cod_associado,con,3,3
%>
<%cod_associado=rs.fields("codigo").value
'exibe o codigo do associado recém gravado.
response.write cod_associado%>
O código acima grava os dados (coloquei só para gravar o nome) do associado na tabela associado. Funciona. Só que depois de gravar os dados do associado na tabela associado tenho que gravar na tabela
associado_depto, codigo do associado(por isso criei: rs_obtem_cod_associado.open sql_obtem_cod_associado,con,3,3
%>
<%cod_associado=rs.fields("codigo").value
'exibe o codigo do associado recém gravado.
response.write cod_associado%>
para poder pegar o codigo do associado recem gravado na tabela associado) e os departamentos que ele escolheu. Então depois que o usuário marcar os departamentos e clicar no botão gravar do formulário os dados ficarão armazenados assim:
Tabela: associado_depto
associado departamento
1 1
1 2
1 3
2 1
2 2
2 3
O meu problema é gravar os dados na tabela associado_depto.

