![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Modificación de varios registros a la vez
Hola muy buenas,
Tengo una base de datos creada, con ella trabajo registro a registro, alta, baja, modificaciones lo que sea necesario registro a registro, pero ahora quisiera trabajar con un contenedor donde pueda modificar varios registros y con un botón poder grabar esos registros modificados de una vez, así les pedía opinión para ver cómo es la mejor manera posible si la mejor manera es utilizar un DbGrid o un StringGrid, donde en la primera columna escribiría el código Maestro y con un intro aparecieran los campos que yo eligiera asociados a ese registro, modificar el campo pertinente y en la segunda fila el siguiente codigo maestro y la misma operación.... , un click al button y quedar grabados todos los registros, ¿Es posible hacerlo con un StringGrid o DbGrid? o existe otra forma de hacerlo, Gracias. |
#2
|
||||
|
||||
¿Y si utilizas UPDATE de SQL? TDbGrid es solamente una MUESTRA de los datos...
__________________
Felipe Eduardo Ortiz López. Delphi programmers does it recursively... "Un programador, es un creador de universos en donde sólo él es responsable. Universos de complejidad prácticamente ilimitada que se puede crear en forma de programas de ordenador." - Joseph Weizenbaum. Témele a los profetas... y a aquellos que están listos para morir por "la verdad", ya que como regla general hacen morir a muchos otros con ellos, frecuentemente antes que ellos, y a veces en lugar de ellos. — Umberto Eco |
#3
|
||||
|
||||
Independientemente de la forma, que es lo de menos, no me queda claro lo que quieres hacer (que es lo más importante).
¿A qué refieres con " varios registros a la vez"? ¿Te refieres en que estén en la misma transacción (o todos o ninguno)?
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#4
|
|||
|
|||
Me refiero a poder modificar varios registros de una vez (los registros que yo elija), primero los busco uno a uno, en un formato de rejillas como "dbgrid", en la primera columna introduzco el número de registro y me aparecen los distintos campos, en la segunda linea introduzco otro registro con sus campos, modificando el mismo campo en cada uno de los registros, una vez finalizado la introducción de registros y modificados, grabarlos todos ellos en un click de button, entonces la pregunta era cual sería el modo de hacerlo más sencillo, me parecía que tenía que ser implementarlo en un stringGrid pero no estoy seguro:
TiammatMX, nunca he probado con UPDATE de SQL, me informaré cómo funciona y ver si esta es buena opcion. Gracias. |
#5
|
|||
|
|||
Sería el mismo caso que cuando voy a comprar varios artículos en una tienda, y se ve en pantalla una cuadrícula con varias columnas y filas, en la columna de la izquierda introducen el código y en las siguientes aparecen su caracteristicas, como por ejemplo en una ferretería, compro 30 tornillos, introduzco el código en la primera columna, y ya aparecen en el resto de columnas sus características, como puede ser en en una columna el material que está hecho, en otra la longitud, en otra la forma etc, etc, y en la última introduce cantidad que compro, luego en la siguiente fila introducen el código de por ejemplo sierras en la siguiente otro artículo, y al final con un click me sale el ticket y se queda grabado todos los articulos con las cantidades compradas.
Pero en un dbgrid no lo puedo hacer, en un stringrid tampoco, en un drawgrid tampoco, como podría conseguirlo. |
#6
|
||||
|
||||
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#7
|
|||
|
|||
No está claro lo que quieres: modificas el mismo campo pero la modificación es la misma en todos los registros o es distinta, si es dintinta haz que se guarde al salir de cada campo modificado y si la modificación es la misma en todos los campos sería como te dice TiammatMX, es lenguaje SQL que por lo que dices no conoces. Aquí tienes algunos tutoriales:
http://www.asptutor.com/sql/ http://deletesql.com/viewforum.php?f...66dae8489bb0eb http://www.aulaclic.es/sql/f_sql.htm |
#8
|
|||
|
|||
Vamos a ver, tengo una tabla con cinco campos y ya tengo grabados 100 registros, ahora bien, en un formulario nuevo inserto un Dbgrid y un Button 1, el Dbgrid lo configuro para que esté vacío sin ningún dato, aunque sí me aparezca en la parte superior el nombre de los cinco campos de la tabla, el primer campo es el código, quiero modificar el campo 3 de los siguientes registros el 18 el 20 el 60 el 75 y el 90, pues bien introduzco en la columna 1 que corresponde al campo 1, que seria la celda (1,1) introduzco el 18 (pulso intro) y automáticamente me salgan los datos de la tabla del campo 2,3,4 y 5 modifico el campo 3 y me voy a la fila 2 (celda 2,1) e introduzco el codigo 20 (pulso intro) me vuelven a salir los datos del registro 20 campo 2,3 4 y 5 y modifico el campo 3 de ese registro por que sólo quiero modificar el campo 3 de estos registros, y así sucesivamente el registro 60,75 y 90. Finalizo de introducir todos los registros de los cuales sólo he modificado el campo 3 de cada uno de ellos, pulso Button 1 y me graba los cinco registros con la modificación del campo 3 de todos los registros de una sóla vez.
Está claro que con un Dbgrid no lo puedo hacer, la pregunta es si la posibilidad es implementarlo con un stringgrid ó TDrawGrid que reconociera el click de la celda [1.1] y me rellenara los campos que pido, luego reconocer la celda [2,1] volviera a llenar los campos en la fila 2..., y una vez finalizado pulsar el Button 1 y que fuera reconociendo las celdas para grabar todos los registros que he introducido y los grabara todos juntos con la modificación del campo 3. o bien existe otra forma más sencilla, por eso os lo pido para no estar perdiendo el tiempo, Gracias. |
#9
|
||||
|
||||
Cita:
Tu solución: Generar un campo a tu tabla (ya sea calculado o permanente) el cual será boolean, y pondrás al principio de tu TDbGrid. Si pulsas sobre él, su contenido cambiará al estado contrario, así podrás tener control sobre los marcados/no marcados. Procesas los registros de tu preferencia basado en el estado de éste campo y ¡listo!, problema resuelto.
__________________
Felipe Eduardo Ortiz López. Delphi programmers does it recursively... "Un programador, es un creador de universos en donde sólo él es responsable. Universos de complejidad prácticamente ilimitada que se puede crear en forma de programas de ordenador." - Joseph Weizenbaum. Témele a los profetas... y a aquellos que están listos para morir por "la verdad", ya que como regla general hacen morir a muchos otros con ellos, frecuentemente antes que ellos, y a veces en lugar de ellos. — Umberto Eco |
#10
|
|||
|
|||
Si es una buena solución, pero pensé que delphi tenía algún desarrollo para este caso, ya que lo veo en todos los establecimientos donde voy y está muy extendido, lo de partir de una especie de DbGrid vacío y hacer click en la celda [1,1] crear el evento para implementar y rellenar la fila [1,2], [1,3],.... según los campos elegidos de una tabla y luego en la celda de abajo [2,1] lo mismo y rellenar las celdas [2,2],[2,3] y así sucesivamente..., pero se ve que no han considerado este caso los de delphi, de todas formas muchas gracias.
|
#11
|
||||
|
||||
De hecho, es LA ÚNICA SOLUCIÓN..., y sí, los desarrolladores de Delphi piensan en todo, pero no cumplen caprichos, algunos de ellos muy necesarios...
Tristemente.
__________________
Felipe Eduardo Ortiz López. Delphi programmers does it recursively... "Un programador, es un creador de universos en donde sólo él es responsable. Universos de complejidad prácticamente ilimitada que se puede crear en forma de programas de ordenador." - Joseph Weizenbaum. Témele a los profetas... y a aquellos que están listos para morir por "la verdad", ya que como regla general hacen morir a muchos otros con ellos, frecuentemente antes que ellos, y a veces en lugar de ellos. — Umberto Eco |
#12
|
||||
|
||||
Cita:
![]() .
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Error al insertar varios registros | el_barto | PHP | 2 | 18-12-2010 01:57:13 |
Concatenar varios registros | mjjj | SQL | 7 | 01-07-2010 23:35:19 |
Modificacion de registros en Builder 6 | paco_galo | C++ Builder | 0 | 26-04-2007 02:51:52 |
Seleccionar Registros por fecha de introducción/modificación | dec | Trucos | 0 | 02-07-2006 10:12:47 |
![]() |
|