Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   DBGrid Tipo Celdas Excel (https://www.clubdelphi.com/foros/showthread.php?t=31971)

david duarte 23-05-2006 16:01:12

DBGrid Tipo Celdas Excel
 
Hola a todos!!!!

Tengo una duda
Quiero utilizar un dbgrid para capturar datos de una tabla, solamente que mi datasource es un query y por lo tanto, no me deja modificar o capturar datos,
en este query, pues hago la seleccion pertinente y me muestra los datos que yo quiero.

Si enlazo mi datasource a una tabla, me deja capturar o cambiar perfectamente los datos en el dbgrid.

Como le puedo hacer para que me deje capturar los datos teniendo ligado el query??? o en caso contrario como le puedo hacer para que me deje capturar los datos en el dbgrid??
mis tablas las tengo en el servidor y la coneccion la hago por medio de clientsdataset.

Mientras tanto, seguire probando a ver que sale
Saludos!!!
Gracias!!!!

marcoszorrilla 23-05-2006 16:11:50

Bueno tienes que tener RequestLive = True no enlazar mas de una tabla en la consulta....

Un Saludo.

david duarte 23-05-2006 19:16:20

ok, muchas gracias, si me sirvio, nada mas que tengo que cambiarle unas cosas a mi proyecto porque cuando ejecuto la forma de captura(como tengo un stringgrid y tengo algunos refres y otras cosillas) me marca lo del pdoxusrs.lck, y me dice que esta siendo controlado por otro net.

Muchas Gracias!!!!
Saludos!!!!

david duarte 25-05-2006 00:45:37

Hola!!
he seguido investigando, pero no encuentro la manera de que en caso de que le den un espacio en blanco o que no capturen nada, no se guarde el NULL en la tabla, porque no puedo tener nulos,

Alguna opinion o idea??
pienso que seria en el oncolexit, pero no encuentro nada que me sirva
Saludos!!!!
Gracias!!!!

marcoszorrilla 25-05-2006 06:57:56

Eso no tiene nada que ver con la rejilla, sino con la tabla, si el campo esta definido para que no admita nulos, no los admitirá, otra solución puede ser el evento BeforeInsert del Ttable, en donde podrás comprobar si el valor es nulo y en ese caso lanzar un mensaje para el usuario a la vez que se rechace el registro.

Un Saludo.

Lepe 25-05-2006 10:05:39

Creo que marcos quería decir: BeforePost que es el evento justo antes de guardar el registro, y ha dado tiempo al usuario a rellenar los campos.

Saludos

marcoszorrilla 25-05-2006 14:40:18

Eso es tiene razón Lepe, a las 7 de la mañana a veces no hay suficiente lucidez, lo achacaremos a la flojedad del café, mañana mismo elevo una reclamación.

Un Saludo.

david duarte 25-05-2006 16:37:17

Hola!!!

Gracias por contestar!!!
Tengo una duda, probablemente sea muy tonta, pero no tengo ninguna tabla en la forma.

mi tabla esta en paradox, pero no le encuentro en donde ponerle para que no acepte nulos

Saludos y gracias otra vez!!!!

Lepe 25-05-2006 16:59:25

Debes abrir el Database Desktop, Reestructurar la tabla, y allí para cada campo, no permitir los valores nulos.

Saludos

david duarte 25-05-2006 17:20:03

Sip, eso si lo se, pero no encuentro esa opcion
solamente veo:

Required Field(no esta seleccionada)
Minimum Value(no tengo nada)
Maximum Value(no tengo nada)
Default Value(no tengo nada)

En la opcion de Table Properties tengo validity checks

No se si esta vien esa configuracion.

Gracias por contestar.
Saludos!!!

david duarte 26-05-2006 16:18:05

Hola!!!

Me encontre con un problema que la verdad no me gusta

Resulta que al poner el query en RequestLive = True, me genera los archivos .lck, y entonces nadie puede entrar al sistema.

Puedo utilizar un stringgrid como celdas de excel??? Siento que seria mas facil, guardo los cambios en memoria y cuando le den clic en un boton aceptar guardarlos en la tabla, y asi podrian entrar mas usuarios, (por lo menos a capturar datos en otras tablas).
Saludos!!!!

Y muchas gracias por dedicar tiempo a esta pregunta

david duarte 29-06-2006 19:43:54

ya logre hacer lo que queria, simplemente hay que poner la propiedad Options/goEditing del stringgrid a True; y con eso puedes escribir en cada celda, ya para guardar los datos seria un ciclo.

Saludos!!!!
Espero que a alguien le sirva


La franja horaria es GMT +2. Ahora son las 09:50:33.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi