![]() |
DBGrid no tiene nada asignado
Cordial saludo a los miembros del club.
Espero que me puedan ayudar con la siguiente inquietud. Tengo un DBGrid que le asigno una consulta sin ningún problema, cuando ejecuto la consulta el DBGrid me carga la información sin problemas. El problema está cuando trato de acceder a la información que contiene el DBGrid, me sale que no tiene nada asignado. Pero si vuelvo a ejecutar la consulta por segunda vez ya no pone problema. Hasta el momento de esta manera he pasado por alto este impase, pero me gustaría saber a que se debe y como solucionarlo.
*Resalto que puedo ver la información en el DBGrid pero al realizar este paso devuelve False Les agradezco mucho la ayuda que me puedan brindar. |
Hola ReiCk_Z.
Algunas dudas, Cita:
Cita:
Saludos :) |
No deberias acceder a los datos mediante el DBGrid. Lo correcto es usar el DataSet. Si el DBGrid se mueve al registro nro 5, en realidad lo que pasa tras los bastidores es que el DataSet se movio al registro nro 5, el DBGrid "se entera magicamente", y para reflejarlo, muestra el registro nro 5 como seleccionado. Pero quien contiene el estado es el DataSet. El DBGrid solamente muestra informacion
|
Hola ecfisa
Respondo tus preguntas: ¿ Cuál es "textualmente" el mensaje de error que te muestra ? Ya no me sale error porque como vez en el codigo la linea señalada evita que entre si el DBGrid no tiene nada asignado Pero antes de implementarla el error era: First chance exception at $006BE2FA. Exception class $C0000005 with message 'access violation at 0x006be2fa: read of address 0x00000000'. ¿ El modo en que accedes es con el código de tu mensaje en el evento OnKeyDown ? Sí... ¿ En que evento/procedimiento se ejecuta la consulta inicial ? R/ La consulta inicial se ejecuta en un DBLookComboBox1.CloseUp La primera vez que selecciono un dato del DBLookComboBox1 me ejecuta la consulta y me refleja la información en el DBGrid. lo raro del asunto es que cuando me posiciono en un registro del DBGrid y le doy enter no hace nada por que supuetamente el DBgrid no tiene ningun Valor asigando. Esto no tiene logica pues pudo ver la información reflejada en el DBGrid. Cuando vuelvo al DBLookComboBox1 y vuelvo a ejecutarlo ahora si puedo acceder a la información ¿ Para ejecutar la consulta por segunda vez llamas al mismo código ? Sí... ¿ Se ejecuta algún código o dispara otro método entre la primer asignación que da error y la segunda que funciona ? No... |
Hola AgustinOrtu
He analizado lo que dijistes: Cita:
Claro para esto me toco quitar la linea de código que tenia donde se comprobaba si el DBGrid tenia algo asignado. Seria bueno saber a que se debe este comportamiento: Que al ejecutar la consulta por primera vez el DBGrid muestre que no tiene nada asignado y al ejecutarlo por segunda vez si. Si alguien sabe la razón le agradecería que la comentaran para ampliar nuestro conocimiento. De todas maneras espero que este tema le sirva a las personas que estaban cometiendo este mismo error y que gracias a AgustinOrtu pude solventar. También quiero agradecerle a ecfisa, por tomarse su tiempo y analizar mi pregunta. |
Solamente podemos adivinar si no tenemos el codigo
|
Hola ReiCk_Z
Cita:
Saludos :) |
| La franja horaria es GMT +2. Ahora son las 07:23:28. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi