Update

Me sale un error que me resulta rarísimo!
Obviamente de Base de Datos o de conexión es el problema ahora.
¿Cuándo al compilar te da errores largos, como se hace para verlos completos?
¿Hay alguna manera de ver más detalles sobre los errores?
Por ejemplo me sale este error en la linea using sqlca; :
Database C0038:SQLSTATE =37000 [Microsoft][Controlador ODBC Microsoft Access]
Error de sintaxis(falta operador)en la expresión de consulta '0 alt_tot=0'...
Y sigue pero no puedo ver que más dice.
¿Qué problema tiene ahora?
Otra pregunta:
¿Cómo hago para moverme en un grid con las flechas del teclado?
Marcela

1 respuesta

Respuesta
1
La misma descripción de los errores presentados en un cuadro de dialo que bien dices, no es presentado en su totalidad, esta también integrado en la propiedad SQLERRTEXT, del objeto de conexión que controlas, por lo que te recomiendo que simplemente pintes por medio de un control adicional el valor de esta propiedad.
Con respecto a la segunda pregunta, aunque el datawindow no contiene el evento key o similar, este puede ser adicionado, simplemente añadiendo un nuevo evento y colocando en el EVENT_ID, la opción PBM_DWNKEY, el resto lo hace el motor de eventos de PB.
Una vez implementado este nuevo evento, ahora ya puedes controlar los movimientos del teclado ocasionados por el usuario. Y poder disparar alguna acción adicional, un ejemplo es substituir el TAB por el ENTER,
Ej.
INTEGER li_return = 0
CHOOSE CASE key
CASE KeyEnter!
SEND(HANDLE(THIS), 256, 9, 0)
li_return = 1
END CHOOSE
RETURN(li_return)
En el script anterior simplemente es interceptado el valor del teclado, el cual en este momento deberá ser 13 en decimal o KeyEnter!, y luego es modificado por medio de la función SEND(), trasladando un mensaje al sistema el cual corresponde a un valor 9, o sea el valor ASCII de pulsar la tecla TAB.
Por ultimo la variable li_return, inicialmente contiene el valor 0, pero cuando se cumple la condición del choose case, el valor es ahora 1, esto indica al evento key, que suspenda la secuencia de ejecución interna con respecto a este proceso.
El resultado si lo pruebas, es que cada vez que das enter dentro del grid, salta de una celda a otra, tal y como lo hiciera pulsando la tecla TAB.
Entonces de la misma forma puedes interrumpir la continuidad de las teclas de navegación como las flechas arriba, abajo, izquierda y derecha, y en su lugar, ejecutar alguna acción adicional.
Por lo que veo, el problema esta relacionado con una columna creo alt_tot.
Aparentemente esta columna esta integrada en algún datawindow, el cual esta basado en una tabla, la cual fue dueña de esa columna, y actualmente ya no, o en otras palabras, o renombraste la columna en la tabla, o simplemente la borraste,
Independientemente si es un proceso o un datawindow o un datastore, o incluso un cursor, es casi seguro que la columna en mención ya no existe.
Otra posibilidad, es que estas programando en una base de datos de pruebas, similar a la de producción, y en la base de datos de pruebas, incluiste una columna, y cuando conectaste tu aplicación a la base de datos de producción, esta da el error porque la columna alt_tot, no existe en esta base de datos.
Como recomendación podrías re-compilar la aplicación, y en este proceso seguro que encuentras el error.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas