In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Ayuda con dbf Locate

Foro público de Xailer en español
Responder
jemstv
Mensajes: 133
Registrado: Mar Jul 27, 2010 3:56 pm

Ayuda con dbf Locate

Mensaje por jemstv »


hola
ahora tengo un problema con un LOCATE
no importa el valor del cAMPO en la forma
siempre mustra en blanco y no la data del record
esto es lo que puse:
METHOD DBEdit30Exit( oSender, oNextCtl ) CLASS TForm1
LOCAL FTNO, MCO, MVE
WITH OBJECT ::oDBTOWS
::oDbTOWS:gotop()
FTNO := ::TFORM1:oDBEdit30:VALUE
IF ::oDbTOWS:Locate('TICKT_NO="'+FTNO+'"' )
MsgAlert(::oDbTows:tICKT_NO,'hIT')
ENDIF
if ::oDbTows:Eof()
MsgAlert('Ticket record not found')
return nil
endif
GRACIAS anticipadas
Rich
Mensajes: 75
Registrado: Mar Mar 12, 2013 1:50 am
Contactar:

Ayuda con dbf Locate

Mensaje por Rich »

Hola, me parece que tienes confusión en la forma de usar WITH OBJECT elobjeto(); END.
Resulta que cuando usas una estructura WITH OBJECT, las propiedades y métodos de la CLASE ya quedan apuntados y no necesitas calificarlos con ::oDBTOWS.
No sé qué quieres hacer, pero inténtalo del modo siguiente:
WITH OBJECT oDBTOWS() // Donde oDBTOWS debe ser una clase.
:GoTop()
FTNO := ::TFORM1:oDBEdit30:VALUE
IF :Locate('TICKT_NO="'+FTNO+'"' )
MsgAlert(:tICKT_NO,'hIT')
ENDIF
IF :Eof()
MsgAlert('Ticket record not found')
Return Nil
ENDIF
END // Si no cierras la estructura da error.
Espero haberte ayudado.
Sergalun.
Saludos amigos.
jemstv
Mensajes: 133
Registrado: Mar Jul 27, 2010 3:56 pm

Ayuda con dbf Locate

Mensaje por jemstv »

Gracias por tu aportacion
pero me temo que me perdi con lo de que tiene que ser una clase
nunca e creado una clase hasta ahora
si puedes tirar un ejemplo te lo agradezco
gracias
zeasoftware
Mensajes: 1831
Registrado: Mar Oct 11, 2005 9:53 am

Ayuda con dbf Locate

Mensaje por zeasoftware »

METHOD DBEdit30Exit( oSender, oNextCtl ) CLASS TForm1
LOCAL FTNO, MCO, MVE
WITH OBJECT ::oDBTOWS
:gotop()
FTNO := Trim(::oDBEdit30:VALUE) ///que longitud es el dato?
IF :Locate('TICKT_NO="' + FTNO + '"' )
MsgAlert(:tICKT_NO, 'hIT')
Else
MsgAlert('Ticket record not found')
return nil
endif
End With
Return ( Nil )
Yo hago algo así­, y uso Locate por que la DBF es pequeña, si vas a usar muchos datos mejor usa un indice y SEEK:
oSender:value := PadR(oSender:value, 15)
With Object ::oDBFLineas
If ( :Locate("Linea == '" + oSender:value + "'") )
::::::
:::::::
Saludos.
Ramón Zea
Móvil.: 993-231.62.29
Tel./Fax: 993-353-46-73
www.zeasoftware.com.mx
soporte@zeasoftware.com.mx
zeasoftware@hotmail.com
https://www.facebook.com/zeasoftware
Proveedor Autorizado:
REACHCORE
FACTURAXION
SERVISIM
"Josemo" escribió en el mensaje de noticias:53a60d8d$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
:x
hola
ahora tengo un problema con un LOCATE
no importa el valor del cAMPO en la forma
siempre mustra en blanco y no la data del record
esto es lo que puse:
METHOD DBEdit30Exit( oSender, oNextCtl ) CLASS TForm1
LOCAL FTNO, MCO, MVE
WITH OBJECT ::oDBTOWS
::oDbTOWS:gotop()
FTNO := ::TFORM1:oDBEdit30:VALUE
IF ::oDbTOWS:Locate('TICKT_NO="'+FTNO+'"' )
MsgAlert(::oDbTows:tICKT_NO,'hIT')
ENDIF
if ::oDbTows:Eof()
MsgAlert('Ticket record not found')
return nil
endif
GRACIAS anticipadas
--
jemstv
Mensajes: 133
Registrado: Mar Jul 27, 2010 3:56 pm

Ayuda con dbf Locate

Mensaje por jemstv »

Gracias por la info.
trate ambas formas y la primera
no presenta el mensaje de not found por lo que entenderia que el
locate fue .T.
al final del metodo hago un msginfo de varios campos del record que supuestamente localizo y salen en blanco
usando el segundo metodo siempre me da el
ticket not found
de nuevo gracias por la ayuda!!
Responder