![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Hola
Ves que bien he vuelto a ser respetado en mi grupo de admiradores. Vamos, pero esta ronda la invito yo. Saludos Maestro. |
|
#2
|
|||
|
|||
|
He probado con el requestlive y todo lo que decis y funciona pero con un pero.
Solo funciona si el dbgrid coge los datos de una consulta en la que solo lees datos de una tabla. El problema viene si intentas modificar los registros de un dbgrid que coge el resultado de una query en la que utilizas varias tablas. Ahí ya no te deja modificar nada, en cambio si son datos solo de una tabla no hay problema. Hay solución para esto ? |
|
#3
|
||||
|
||||
|
Cita:
// Saludos |
|
#4
|
|||
|
|||
|
Puedes especificar un poco más o ponerme un código de ejemplo para que vea como sería.
Por ejemplo si mostraras en un dbgrid una consulta de este tipo : select campo1,campo2,campo3,campo4 from tabla1,tabla2 where campo1=edit1.text Una vez te sale la consulta en el dbgrid, como harías para que te dejará modificar cualquier registro del resultado y se quedará guardado ? |
|
#5
|
||||
|
||||
|
Para empezar, difícilmente pondría una consulta así pues no hay ninguna condición que relacione ambas tablas.
Ahora, debes tener en claro qué es lo que quieres hacer. Porque al decir que quieres modificar un registro y guardarlo puede parecer obvio cuál es el objetivo, pero, ¿un registro de dónde? Los datos provienen de dos (o más) tablas y sólamente puedes hacer un UPDATE, DELETE o INSERT de una de ellas. Vamos a ver un ejemplo concreto. Tengo tablas de alumnos, grupos y las inscripciones de los primeros en los segundos: alumno = (id, nombre) grupo = (id, clave, salon, creditos) inscripcion = (alumno_id, grupo_id, calificacion) Para presentar una lista de los alumnos de un grupo dado, a fin de que el maestro pueda asentar calificaciones, uso esta consulta SQL
En este caso, me interesa poder actualizar el campo calificacion, es decir, quiero actualizar la tabla de inscripciones. Puedes entonce usar la propiedad ModifySQL de un objeto UpdateSQL conectado a tu Query, poniendo la siguiente sentencia:
En esta consulta hay tres parámetros: calificacion, OLD_alumno_id y OLD_grupo_id. Si esta fuese una consulta independiente, tendríamos que sustituir el parámetro calificación antes de ejecutar la consulta, y asímismo proporcionar los valores de los otros parámetros para indicar cuál es el registro que deseamos modificar. El mecanismo de los objetos UpdateSQL nos facilitan esto, rellenando en automático los parámetros que coincidan con nombres de campos en la consulta SELECT (calificacion en este caso), proveyendo los valores que vengan del control de edición. Y otro lado, hacen uso de parámetros especiales OLD_, que contienen los valores de los campos indicados, tal y como venían de la consulta SELECT. En el ejemplo, OLD_alumno_id y OLD_grupo_id serán llenados en automático, por los valores de los campos alumno_id y grupo_id que originalmente venían con los datos. Esto quiere decir entonces, que tu consulta SELECT debe necesariamente incluir los campos necesarios para identificar al registro que se va a modificar (o borrar en el caso de DeleteSQL), aun y cuando tales campos no los muestres al usuario. // Saludos |
|
#6
|
|||
|
|||
|
Ok, ahora lo tengo un poquito más claro, pero lo he probado y no funciona.
La consulta sql que yo muestro en el dbgrid exactamente es la siguiente :
Lo que quiero es que cualquier regilla del dbgrid una vez que se muestre la consulta sea modificable y que al insertar un nuevo valor este se quede guardado. He conectado un objeto updatesql a la query y he probado con la propiedad modify tal y como dice roman, pero no consigo que me funcione. Podrías decirme cual es la consulta que tendría que poner en la propiedad modify para que pudiera editarlo todo ? |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| error al borrar un registro | noshy | SQL | 1 | 12-05-2006 20:13:07 |
| Borrar lineas detalle al borrar registro maestro | akinom38 | Conexión con bases de datos | 3 | 11-01-2006 10:38:07 |
| borrar registro desde un query | fabian20s | Conexión con bases de datos | 2 | 25-03-2005 13:48:50 |
| Borrar e Insertar un registro de una tabla con Query | Draco | Conexión con bases de datos | 4 | 06-05-2004 17:27:37 |
| Borrar registro .mdb con ADO | Masu | Conexión con bases de datos | 3 | 23-02-2004 19:16:10 |
|