Programación General > Visual Basic 6.0 e inferiores

 Ventana Con 30 Campos

(1/2) > >>

UserCode:
hola, (esta vez si que no es algo tonto eso es seguro) es como el tratar de darle la vuelva (mejor solucion) a algo que tiene muchos campos.

Yo tengo esta ventana:
Lo que está en azul lo meto en una tabla, y lo que está en rojo va en otra tabla:


Lo que está en azul lo meto en esta tablita:


Y lo que está en rojo lo meto en esta otra: (o al menos esa es la idea)


Yo pensaba (o aun pienso) el que tal vez podría poner en el campo Motivo el string del checkbox pulsado. Pero para eso el ID debe repetirse

Es decir, si yo en la primera tabla (el recuadro azul) meto un registro, supongamos ID=1 entonces en la segunda tablita (recuadro rojo) meteria ID=1 lo cual sería la relacion entre ambas tablas. Pero si yo selecciono 5, 20 o los 30 checkbox, entonces en la 2da tabla habrían 30 registros todos con ID=1

Asi, si yo quiero ver los registros relacionados, pues creo y supongo que podría en una SQL filtrar los datos, indicando que me busque (para una consulta) todos los registros de la 2da Tabla que tengan el ID de la 1era Tabla.

¿Que me recomiendan? que haga esto asi o que la 2da Tabla sea diferente, es decir, hacer una tabla con 30 campos  :(
y validaria asi:

--- Código: Text --- If Check1.Value = 1 And TxtCampo1.Text<>"" Then   RsServicio("Campo1")=TxtCampo1.TextElse   RsServicio("Campo2")=""End IfIf Check2.Value = 1 And TxtCampo2.Text<>"" Then   RsServicio("Campo2")=TxtCampo2.TextElse   RsServicio("Campo2")=""End If    .    .    .    .If Check30.Value = 1 And TxtCampo30.Text<>"" Then   RsServicio("Campo30")=TxtCampo30.TextElse   RsServicio("Campo30")=""End If  
En una consulta, yo activaria el CheckBox dependiendo si el campo de la Tabla tiene o no valor (el dato es numerico), si el campo está vacio checkbox.Value=0, si está lleno, checkbox.value=1 y pongo en el Textbox el dato.

Pero hacer esto ultimo, una tabla con 30 campos, y la otra pestaña tiene como 20, pues serían muchos campos, y luego escribir el codigo validando cada uno  :(

Por eso habia pensado si podría tal vez dejar la 2da Tabla como está y no meterle tantos campos. ¿cómo podría hacer para un caso como este?

EDITANDO:
Me he dado cuenta mientras empiezo todo esto, que va a ser más dificil de lo que pensé, algo me dice que no habra mucha opinión sobre este post, al menos yo me enrrede todo comenzando con esta loca idea de ver si debo o no hacer una tabla de muchos campos  <_< vamos a ver.

UserCode:
Si, ya me decidí, la 2da tablita la voy a dividir en 2 tablas  <_<
la primera con 30 campos (cotenido de la primera pestaña de la ventana)
la segunda con 19 campos (contenido de la segunda pestaña de la ventana)

Igual siempre, habrá que escribir muuuuucho código para validar todos esos TextBox y los CheckBox.

Al parecer no hay otra mejor forma, que se le va a hacer :brickwall:

UserCode:
me voy a tomar un tiempito  <_<  de puro análisis a pensar a papel y lapiz sobre esto, porque haciendo lo ultimo escrito sirve para el programa, pero no para los reportes.

Si algunos campos no se llenan, quedara el campo vacio o con un 0 en la tabla
(suponiendo que le indique al programa que si no hay nada, que ponga un 0 o deja el campo vacio)

En el reporte no podría poner todos esos campos, 30 campos, ni siquiera con hoja horizontal y con fuente de letra 8 entrarian todos, a muy pegados unos con otros y no sabría como hacer por algun Query el que salgan los datos siempre y cuando tengan un valor <>"" o <>0.

a darle pelea  :lightsabre:  :comp:

así sea que me tome varios dias o más a puro papel y lapiz hehehe  :P

Jose Arriagada:
Tu solucion es bastante burda, por decirlo, suavemente. Pero soluciona tu problema. Que sea lo mas eficiente, es otra cosa.

Si tienes un minima nocion de gestion de base de datos, podrias haber modelo tu problema y asunto arreglado.

Por el icono del formulario, espero que no seas de CHILE, por que, deja bastante que desear tu solucion...

F_Tanori:

--- Cita de: "UserCode" ---Yo pensaba (o aun pienso) el que tal vez podría poner en el campo Motivo el string del checkbox pulsado. Pero para eso el ID debe repetirse

Es decir, si yo en la primera tabla (el recuadro azul) meto un registro, supongamos ID=1 entonces en la segunda tablita (recuadro rojo) meteria ID=1 lo cual sería la relacion entre ambas tablas. Pero si yo selecciono 5, 20 o los 30 checkbox, entonces en la 2da tabla habrían 30 registros todos con ID=1

--- Fin de la cita ---

yo apoyo esa solucion :good: asi es como realmente se debe hacer :P


Para la otra solucion no es dificil validar 30 campos :P

Mira lo que yo haria es crear un arreglo de 'checks' y uno de 'textbox' con el index correspondiente es decir

el check(0) es otro
el textbox(0) es el text que esta enseguida de otro

el check(1) es Paquete Encontrado
el textbox(1) es el text que esta enseguida de Paquete Encontrado

el check(2) es Paquete Robado
el textbox(2) es el text que esta enseguida de Paquete Robado

y asi para poder recorrer los dos controles en un solo for B) no importa que sean 30,40,50...

por ultimo en la propiedad tag del textbox guardar el nombre del campo (de la tabla) para poder saber a que campo se va guardar....


Bien te dejo un ejemplo


Saludos

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa