FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
ADOQuery no permita nuevos registros, pero si actualizaciones
buen día a todos,
mi problema es el siguiente, tengo un ADOQuery, un DataSource y un DBGrid y estan conectados asi: DBGrid conectado al DataSource y este conectado al ADOQuery, a lo cual todo funciona perfectamente. mi duda va a que quiero que desde el DBGrid se pueda modificar los datos de la consulta hecha en el ADOQuery (eso se hace directamente en el DBGrid, no hay problema), pero que desde el mismo DBGrid no se pueda insertar un nuevo registro, pues al ir al ultimo registro mostrado en el DBGrid y bajar una linea mas da la opción de insertar un nuevo registro y eso es lo que no quiero que pase. en pocas palabras que desde el DBGrid modifique los registros existentes pero que no permita un nuevo registro, el DBGrid tiene la propiedad ReadOnly pero no me dejaría modificar los registros existentes, también he visto que el ADOQuery tiene un evento BeforeInsert en el cual creo que se podría colocar algo que no dejara una nueva inserción de registro, pero no se como iría el código, espero una colaboración. trabajo en C++ builder Embarcadero XE2, gracias. |
#2
|
||||
|
||||
Hola odiseus.
Cita:
Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#3
|
|||
|
|||
gracias por responder ecfisa, pero he intentado lo que me muestras y no cumple con lo que yo quiero, pues igual da la opción de insertar un nuevo registro así después no lo haga, pero eso puede ser un poco confuso para el usuario, asi que lo he intentado por otro lado que se me ocurrio y me dio!
lo que hice fue lo siguiente: como el usuario interactua por medio del DBGrid y al moverse en el mismo, el cambio de registro se marca en el ADOQuery haciendo cambiar de estado al DataSouce entonces fui al evento StateChange del DataSource y puse un condicional que al ver que llego al final de los registros no me de la opción de ingresar uno nuevo sino que siempre me deje el cursor en el ultimo, pero si permitiendo modificar los existentes, el código fue así (C++): Código:
void __fastcall TDM::DataSourceStateChange(TObject *Sender) { If (ADOQuery->Eof) { ADOQuery->Last(); } } |
#4
|
||||
|
||||
Hola odiseus.
Tenes razón, de ese modo es mucho más claro para el usuario. Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
no añade nuevos registros | danielmj | Conexión con bases de datos | 5 | 17-08-2011 18:05:15 |
Monitorear nuevos registros | Willo | Conexión con bases de datos | 1 | 09-03-2008 05:04:16 |
cantidad de registros devueltos por adoquery | ozegarra | OOP | 2 | 16-01-2008 16:39:43 |
Modo de insertar nuevos registros y HOLA | nachito_tuc | Conexión con bases de datos | 5 | 01-08-2006 13:13:08 |
Actualizaciones de Campos en un ADOQuery!! | Chocoslovaco | Conexión con bases de datos | 19 | 22-07-2005 00:25:55 |
|