![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
almacenar datos con un DBGrid haciendo Doble clik en una celda
Disculpen señores pero tengo otra pregunta para ustedes .. a ver si me pueden ayudar?? la verdad espero que si???
Quiero almacenar datos en una tabla de 2 columnas del DBGrid pero quiero que este evento ocurra solo cuando yo le de doble click a la fila o al registro del dbgrid... pero no se que evento es el indicado para utilizar.... Utilice el evento ONDBLCLIK pero me marco error ... cual debo usar.... o creen que deberia usar OnKeyPress para darle ENTER y almacenar los datos??? cual? me recomiendan??? |
#2
|
||||
|
||||
Cita:
// Saludos |
#3
|
|||
|
|||
jajaj ok roman aqui te pongo el codigo que utilizo para almacenar los 2 datos en una tabla llamada IBTgrupos_al..
[CODE delphi] procedure Tcrear_grupo.alumnosDblClick(Sender: TObject); var nombre_grupo:string; begin nombre_grupo:=crear_grupo.clave_grupo.Text; //Asigna el nombre del Grupo a la variable if nombre_grupo<>'' then //Compara si el nombre del grupo fue proporcionado begin //pasa los parametros desde el DBGrid y almacena los datos ModuloSID.IBQalm_grupos.Params[0].AsString:=nombre_grupo; ModuloSID.IBQalm_grupos.Params[1].AsString:=alumnos.Fields[0].AsString; ModuloSID.IBQalm_grupos.ExecSQL; application.CreateForm(Tinfo_grupo, info_grupo); //Abre el mensage para indicar que el alumno ha sido almacenado en el grupo info_grupo.label1.Caption:='El alumno con la Matricula ' + alumnos.Fields[0].AsString + ' ha sido inscrito en el Grupo ' + crear_grupo.clave_grupo.Text; //Se limpia el registro que fue almacenado alumnos.EditorMode:=true; alumnos.Fields[0].AsString:=''; alumnos.Fields[1].AsString:=''; alumnos.Fields[2].AsString:=''; alumnos.Fields[3].AsString:=''; alumnos.Fields[4].AsString:=''; alumnos.Fields[5].AsVariant:=''; alumnos.Fields[6].AsString:=''; alumnos.Refresh; //se actualiza el DBGRid end else begin showMessage('Necesita indicar el nombre del Grupo'); ModuloSID.IBQsel_alum.Cancel; end; //Se cierra y abre la tabla para actualizar valores ModuloSID.IBTgrupos_al.Close; ModuloSID.IBTgrupos_al.Open; ModuloSID.IBQalm_grupos.Close; end; [/code] en donde nombre_grupo es la variable que almacena el nombre del grupo el cual va a hacer insertado en la tabla "IBTgrupos_al", "IBQalm_grupos" es el SQL que almacena los 2 valores en la tabla estos 2 valores los estoy pasando por parametros.... "MODULOSID" es el modulo de datos, El error que me sale dice: "Not in EDIT MODE" pero no me dice que componente no esta en modo de edicion.. sera el DBgrid???' |
#4
|
||||
|
||||
Ese error que citas es porque no has puesto el dataset en modo de edicion.
Antes de alumnos.EditorMode:=true; pon esto ==> alumnos.Edit; y antes de alumnos.EditorMode:=true; ==> alumnos.Post;
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#5
|
||||
|
||||
Perdon
Ahora estoy confudio Que es alumnos? el DBGRID? Si es asi me retracto de lo anterior
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#6
|
|||
|
|||
Oye VTdleon pero si estoy utilizando SQl para almacenar datos en una tabla no es necesario que yo utilice las clausulas EDIT y POST en la tabla que quiero almacenar por que estoy utilizando el metodo INSERTINTO (sql) por lo cual no necesito hacer POST para guardar valores.....
Pero GRax por el comentario... no sera que el DBgrid no esta en modo de edicion para borrar el registro que ya ha sido almacenado???? como se pone en modo edit???? |
#7
|
||||
|
||||
Conviene que aprendas a usar el debugger de Delphi para determinar con mayor precisión en qué parte del código te está saltando un error.
También creo que ya es tiempo que aprendas a usar las etiquetas [ code ] o [ delphi ]. No es muy cortés pretender que te ayuden si no te tomas esta mínima molestia. De lo que alcanzo a ver del código lo único que parece presentar algún problema es en Cita:
// Saludos |
#8
|
||||
|
||||
El DBGRID apunta a un IBQuery? Por que si es asi, este nunca estara en modo de edicion.
Utiliza IBDataset (Propiedades SQLInsert, SQLModify,...) para esto.
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#9
|
||||
|
||||
Cita:
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#10
|
|||
|
|||
Oye Roman Perdon por lo de las etiquetas creo que no las use correctamente.. pero creo que si pudiste entender lo que te queria decir.. bueno tratare de usar el debugger si me dices como funciona...
ok?? perdon por las molestias causadas.... voy a checar y a tratar deutilizar el debugger como me sugeriste |
#11
|
||||
|
||||
Cita:
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! Última edición por vtdeleon fecha: 29-06-2005 a las 20:07:15. Razón: Correccion Etiqueta |
![]() |
|
|
![]() |
|