Checkboxes complicados

30/06/2003 - 23:50 por Zman | Informe spam
Hola a todo el mundo,

a ver si me consigo explicar porque esto es un poco lioso:

TEngo una base de datos con tres tablas (tengo más tablas pero éstas son las
que me interesan), la relación que existe entre las tres es muchos a muchos,
es decir, hay dos relaciones de uno a muchos sobre la tabla del medio.
Total, una tabla es Clientes y la otra es Documentos, la del medio es la de
muchos a muchos, repito.

El caso es que una vez que tengo dados de alta Clientes y Documentos lo que
quiero hacer es relacionarlos, es decir, quiero saber qué Documentos puede
ver cada Cliente. Entonces, se me había ocurrido una manera sencilla para
trabajar pero no sé implementarla, a ver si me pueden ayudar.

Lo que quiero hacer es que cuando quiera seleccionar los Documentos para un
Cliente determinado me gustaría que saliese una lista de todos los
Documentos (fácil), pero quiero que salga un checkbox al lado de cada uno,
de manera que yo voy haciendo clic sobre los que quiero asignar a ese
Cliente, aquí está el problema, esto lo tengo en un formulario pero cuando
empiezo a crear registros en la tabla del medio me tengo que fijar si el
chekbox está activado (no problem) pero lo que no sé cómo hacer es saber a
qué documento pertenecía ese chekbox.

El recorrido lo hago mediante un For Each doc in Request.Form, pero claro,
dónde está el valor del documento?

Uff, no sé si me habré explicado, la verdad es que se me han olvidado las
ideas, ahora mismo lo tengo implementado pero de una manera más espartana
(haciéndolo de uno en uno) pero así se tiene que poder hacer no?

Les estaré eternamente agradecido.

Javier
 

Leer las respuestas

#1 Miguel Gonzalez
01/07/2003 - 10:36 | Informe spam
No acabo de entender la solución que estás abordando, aunque si creo
comprender el problema.

Prueba con lo siguiente:

Página de los "checkbox2: este código te generará un conjunto de "checkbox"
en el que cada uno de ellos guarda el código de un documento...

<%Do While Not rs.EOF%>
<input type="checkbox" name="codidoc"
value="<%rs.Fields("CodigoDocumento"%>">
<%rs.MoveNext%>
<%Loop%>

Página de recogida de datos (el formulario sólo envía los valores de los
"checkbox" que hayan sido seleccionados):

Los datos que envia el formulario puedes almacenarlos en un array...

<%
docselects = Split(Request.Form("codidoc"),",")
%>

Y para recuperarlos...

<%
For i = LBound(docselects) To UBound(docselects)
valor = Trim(docselects(i))
'aqui puedes hacer un insert para cada valor o construir un sql que los
agregue todos de golpe una vez terminado el bucle
Next
%>

Saludos!
Miguel


"Zman" escribió en el mensaje
news:
Hola a todo el mundo,

a ver si me consigo explicar porque esto es un poco lioso:

TEngo una base de datos con tres tablas (tengo más tablas pero éstas son


las
que me interesan), la relación que existe entre las tres es muchos a


muchos,
es decir, hay dos relaciones de uno a muchos sobre la tabla del medio.
Total, una tabla es Clientes y la otra es Documentos, la del medio es la


de
muchos a muchos, repito.

El caso es que una vez que tengo dados de alta Clientes y Documentos lo


que
quiero hacer es relacionarlos, es decir, quiero saber qué Documentos puede
ver cada Cliente. Entonces, se me había ocurrido una manera sencilla para
trabajar pero no sé implementarla, a ver si me pueden ayudar.

Lo que quiero hacer es que cuando quiera seleccionar los Documentos para


un
Cliente determinado me gustaría que saliese una lista de todos los
Documentos (fácil), pero quiero que salga un checkbox al lado de cada uno,
de manera que yo voy haciendo clic sobre los que quiero asignar a ese
Cliente, aquí está el problema, esto lo tengo en un formulario pero cuando
empiezo a crear registros en la tabla del medio me tengo que fijar si el
chekbox está activado (no problem) pero lo que no sé cómo hacer es saber a
qué documento pertenecía ese chekbox.

El recorrido lo hago mediante un For Each doc in Request.Form, pero claro,
dónde está el valor del documento?

Uff, no sé si me habré explicado, la verdad es que se me han olvidado las
ideas, ahora mismo lo tengo implementado pero de una manera más espartana
(haciéndolo de uno en uno) pero así se tiene que poder hacer no?

Les estaré eternamente agradecido.

Javier



Preguntas similares