Hola Antonio:
Primero, una disculpa por molestarte.
Podrías pedir a Mr. Rao, le tire un ojo a este error?
https://forums.fivetechsupport.com/view ... =3&t=43196
Saludos y muchas gracias
Antonio, tu ayuda por favor
Antonio, tu ayuda por favor
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
- Antonio Linares
- Site Admin
- Posts: 42259
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: Antonio, tu ayuda por favor
Mensaje enviado,
gracias!
gracias!
-
- Posts: 176
- Joined: Wed Jan 02, 2019 8:36 am
Re: Antonio, tu ayuda por favor
Buenos dias Armando
¿ puedes hacer esta pequeña prueba para comprobar si cierras la tabla ?
Leyendo tu código y el error 2147352567, parace una excepción de tipo DISP_E_EXCEPTION. La función que intenta leer la estructura devuelve un error (posiblemente no controlado). Viendo el video y observando que la primera vez si funciona y la segunda no, buscaría en la creación de la tabla.
La prueba que te pido es para ver si realmente la tabla se ha cerrado correctamente.
Si se cierra, miraría en la creación de la tabla la segunda vez.
Por ejemplo, en vez de poner :
pondria :
Es solo una idea. No estoy muy puesto en SQL
Saludos
¿ puedes hacer esta pequeña prueba para comprobar si cierras la tabla ?
Code: Select all | Expand
STATIC FUNCTION CloseTable()
oWnd := NIL
IF oRsHdr <> NIL
IF oRsHdr:State() = adStateOpen
MsgWait("Cerrando tabla oRsHdr","Atención",2) < --------- añade esta linea
oRsHdr:Close()
ENDIF
ENDIF
RETURN(.T.)
La prueba que te pido es para ver si realmente la tabla se ha cerrado correctamente.
Si se cierra, miraría en la creación de la tabla la segunda vez.
Por ejemplo, en vez de poner :
Code: Select all | Expand
IF oRsHdr == nil
MsgStop("I can't open the table HDRVDA !",oApp:cAplicacion)
FW_ShowAdoError(oApp:oCon)
RETURN(.F.)
ENDIF
Code: Select all | Expand
IF VALTYPE(oRsHdr) <> "O" // si no es un objeto
MsgStop("I can't open the table HDRVDA !",oApp:cAplicacion)
FW_ShowAdoError(oApp:oCon)
RETURN(.F.)
ENDIF
Saludos
Jesús Marín
Re: Antonio, tu ayuda por favor
Master Antonio y Jesús Marin:
Agradezco tu interés y apoyo, pero no, ninguna de las sugerencias solucionó el problema.
Como bien analizaste, la primera vez que entro con la tabla vacía, se agregan los dos
registros, uno de entrada y el siguiente de salida, y se muestran en el browse sin problema.
Al salir y regresar a seguir aumentando más registros, el browse tira el problema, ya probé
la primera sugerencia de Jesús y sí se cierra la tabla, también probé la segunda sugerencia y el problema
persiste.
Más datos, estoy simulando movimientos en un almacén, entradas y salidas, en las salidas
se debe llenar el campo HDR_SUC que contiene el número de la sucursal destino, no es el
caso de las entradas, ahí no hay sucursal destino, por esta razón el campo es Null
Lo curioso es que con solo invertir el orden en que se graban los registros, primero la salida y
después la entrada, todo funciona al 100.
Saludos y gracias nuevamente
Agradezco tu interés y apoyo, pero no, ninguna de las sugerencias solucionó el problema.
Como bien analizaste, la primera vez que entro con la tabla vacía, se agregan los dos
registros, uno de entrada y el siguiente de salida, y se muestran en el browse sin problema.
Al salir y regresar a seguir aumentando más registros, el browse tira el problema, ya probé
la primera sugerencia de Jesús y sí se cierra la tabla, también probé la segunda sugerencia y el problema
persiste.
Más datos, estoy simulando movimientos en un almacén, entradas y salidas, en las salidas
se debe llenar el campo HDR_SUC que contiene el número de la sucursal destino, no es el
caso de las entradas, ahí no hay sucursal destino, por esta razón el campo es Null
Lo curioso es que con solo invertir el orden en que se graban los registros, primero la salida y
después la entrada, todo funciona al 100.
Saludos y gracias nuevamente
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
-
- Posts: 176
- Joined: Wed Jan 02, 2019 8:36 am
Re: Antonio, tu ayuda por favor
Armando
Has probado a eliminar esta linea ?
En el movimiento de salida no grabas nada en el campo HDR_REF.
¿ qué ocurre si no grabas nada en el campo HDR_SUC ?
Saludos
Has probado a eliminar esta linea ?
Code: Select all | Expand
oRsHdr:Fields("HDR_SUC"):Value := AdoNull() // Only out movs has value
¿ qué ocurre si no grabas nada en el campo HDR_SUC ?
Saludos
Jesús Marín
Re: Antonio, tu ayuda por favor
Jesús:
Gracias, el problema sigue igual, grabando o no el Null.
Quitando el LEFT JOIN a la tabla sucursales, el problema se soluciona, peroooo
necesito mostrar el nombre de la sucursal en el Browse.
Empiezo a pensar que puede ser un pequeño bug en la clase TXBrowse, y que solo
el experto, Mr. Rao, no puede sacar del problema.
Saludos
Gracias, el problema sigue igual, grabando o no el Null.
Quitando el LEFT JOIN a la tabla sucursales, el problema se soluciona, peroooo
necesito mostrar el nombre de la sucursal en el Browse.
Empiezo a pensar que puede ser un pequeño bug en la clase TXBrowse, y que solo
el experto, Mr. Rao, no puede sacar del problema.
Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero