Obtener la información del último registro de una tabla en una sentencia SQL-SELECT

2,117 views
Skip to first unread message

Roy Francisco Salas Benavides

unread,
Apr 29, 2014, 5:03:30 PM4/29/14
to publice...@googlegroups.com
Hola Grupo.
Existe alguna forma de poder conseguir la información del último registro de una tabla en una sola sentencia SELECT-SQL, distinta de tener que use el SELECT MAX(recno()) INTO CURSOR o algo así y luego enviar el cursor hasta ese registro ?

Una forma puede ser:
SELECT mitabla
GO BOTT
miregis = RECNO()
SELECT * FROM mitabla WHERE RECNO() = miregis

o

SELECT MAX(nfactura) as UltFact FROM mitabla INTO CURSOR micursor
maxnfactu = micursor.UltFact
SELECT * FROM mitabla WHERE nfactura = maxnfactu

En resumen, lo que ocupo saber es cual es el ultimo registro que se ha hecho en una tabla determinada y conseguir esa información, pero que lo pueda conseguir con una sola instrucción ... pensé en el SELECT TOP pero siento que no aplica a mi requerimiento.

Escucho sus aportes.

Gracias.
Saludos desde Costa Rica.

Luis Maria Guayan

unread,
Apr 29, 2014, 5:16:46 PM4/29/14
to publice...@googlegroups.com
SELECT TOP 1 * FROM MiTabla ORDER BY nfactura DESC

Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________

Geovanny Quiros Castillo

unread,
Apr 29, 2014, 5:16:42 PM4/29/14
to publice...@googlegroups.com
Select top 1 * from mitabla order by nfactura desc

Roy Fco. Salas B.

unread,
Apr 29, 2014, 5:40:45 PM4/29/14
to publice...@googlegroups.com
 NO PUEDE SER !!!! =-O :-[

Definitivamente, me revolcó la tecnología...

Muchas gracias Geovanny y Luis María.
Saludos.

Este mensaje no contiene virus ni malware porque la protección de avast! Antivirus está activa.


Pool

unread,
May 6, 2016, 10:19:08 PM5/6/16
to Comunidad de Visual Foxpro en Español
Alguien me puede ayudar a validar cuando me encuentro en la ultima fila de un grid  y se ejecute  la instrucciones pero no estoy en el ultmo no haga nada
por favor ayudenme 

Jairo Miranda

unread,
May 7, 2016, 11:29:15 AM5/7/16
to publicesvfoxpro
#DEFINE KEY_ENTER 13
#DEFINE KEY_TAB     9
LOCAL lnRow

*-- Check if the key pressed was ENTER or TAB and if so, go to the next row
IF (nShiftAltCtrl = 0) and INLIST(nKeyCode, KEY_TAB, KEY_ENTER)
WITH this.Parent.Parent
*-- Store the current row and change the position of the cursor
lnRow = .RelativeRow
lnRecNo = RECNO()
.ActivateCell(lnRow + 1, 1)
*-- Check if the row has been changed and if not set the focus to the add button
IF lnRecNo = RECNO()
* colocar codigo aqui..
ENDIF
ENDWITH

ENDIF

Jairo Miranda

unread,
May 7, 2016, 11:30:30 AM5/7/16
to publicesvfoxpro
El codigo anterior se coloca en el Keypress del text1 de la columna.

JM
Reply all
Reply to author
Forward
0 new messages