FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour mostrar una columna con el n煤mero progresivo en un xBrowse
Posts: 1335
Joined: Fri Jun 13, 2008 11:04 AM
mostrar una columna con el n煤mero progresivo en un xBrowse
Posted: Wed Nov 19, 2008 10:06 AM
Amigos,

驴C贸mo puedo mostrar el progresivo no en una columna, mientras que el uso de RecordSet (ADO) con xBrowse

S茅 c贸mo hacer esto, si un conjunto se utiliza en xBrowse oBrw: nArrayAt

Que estoy recibiendo de error cuando intento nArrayAt y nAt

Error Base/1111 Argument Error : Len From ErroSys, Line:0

Code
*-----------------------------------*
FUNCTION connect()
*-----------------------------------*
Local SQL,oBrw
Local oCon := CreateObject('ADODB.Connection')
Local oRecSet := CreateObject( "ADODB.RecordSet" )

oCon:ConnectionString:= "Driver={MySQL ODBC 3.51 Driver};Server=192.168.0.170;Port=3306;Database=MyDataBase;User=MyUser;Password=MyPassword;Option=3;"
TRY
   oCon:Open()
   msgInfo("Connected to Database") 
CATCH oError
   MsgInfo("Connection Failed")
   RETURN(.F.)
END

oRecSet:CursorLocation := adUseClient
oRecSet:LockType := adLockOptimistic
oRecSet:CursorType := adOpenDynamic
oRecSet:Source := "SELECT * FROM ISSUE_TRA WHERE FIN_YEAR=2004"
oRecSet:ActiveConnection(oCon)
oRecSet:Open()

if oRecSet:BOF .AND. oRecSet:EOF
   Msginfo("No Records")
   Return .F.
Endif

oRecSet:MoveFirst()

@0,0 XBROWSE oBrw ;
     OF oWnd ;         
     OBJECT oRecSet;
     LINES CELL
 
oCol:=oBrw:AddCol()
oCol:cHeader:="No #"
oCol:bStrdata:={ || oBrw:nArrayAt }   // Problem is here

oBrw:CreateFromCode()

RETURN .T.


Gracias

Anser
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
mostrar una columna con el n煤mero progresivo en un xBrowse
Posted: Wed Nov 19, 2008 02:23 PM
prueba esto...

oCol:bStrData:=GenProgessNumber( oBrw )
....

function GenProgressNumber( oBrw )
return {|| oBrw:nArrayAt }
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
mostrar una columna con el n煤mero progresivo en un xBrowse
Posted: Wed Nov 19, 2008 02:41 PM
Anser:

Intenta con oRecSet:AbsolutePosition()

oCol:bStrdata:={ || TRANSFORM(oRecSet:AbsolutePosition(),"@Z 99999") }


:AbsolutePosition() es el equivalente a la funci贸n RecNo() en DBF's

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
Posts: 1335
Joined: Fri Jun 13, 2008 11:04 AM
mostrar una columna con el n煤mero progresivo en un xBrowse
Posted: Thu Nov 20, 2008 05:57 AM
Estimado Armando

Su soluci贸n trabajado

oCol:bStrdata:={ || TRANSFORM(oRecSet:AbsolutePosition(),"@Z 99999") }


Estimado mcfox

su soluci贸n no funcion贸 y que estaba dando error

oCol:bStrData:=GenProgessNumber( oBrw )
....

function GenProgressNumber( oBrw )
return {|| oBrw:nArrayAt }



Por lo tanto, ha cambiado su c贸digo en GenProgressNumber( oBrw ) a

function GenProgressNumber( oBrw )
return {|| str(oBrw:nArrayAt) }


Al a帽adir str I evitarse el error, pero no progresiva en el xBrowse es siempre 0 en todas las l铆neas.

Gracias por tu ayuda.

Me dirijo aqu铆 que lo que he aprendido y espero que pueda ser 煤til para los ne贸fitos como yo y ayudarles a reducir su curva de aprendizaje.

As铆 que esta es la forma de obtener un progresivo no en xBrowse

SI matriz se utiliza en xBrowse entonces

C贸digo:

oCol:bStrData: = { || oBrw:nArrayAt }



Si se utiliza DBF en xBrowse entonces

C贸digo:

oCol:bStrData: = { | | str(RecNo() ) } / / Estoy dudoso de lo que ocurre aqu铆 si la DBF est谩 indexado



Si se utiliza de registros en xBrowse
C贸digo:

oCol: bStrdata: = {| | TRANSFORM(oRecSet:absolutePosition(),"Z 99999 ") }
                 Oreg贸n
oCol:bStrdata: = { | | str (oRecSet:absolutePosition() ) }


Saludas

Anser

Continue the discussion