Filtrar DBF a ARRAY

HMG en Español

Moderator: Rathinagiri

Post Reply
User avatar
AidTIC
Posts: 93
Joined: Mon Apr 22, 2013 8:29 am
DBs Used: DBF
Been thanked: 3 times
Contact:

Filtrar DBF a ARRAY

Post by AidTIC » Wed Aug 22, 2018 5:27 pm

Hola,

Me gustaría seleccionar ciertos registros que cumplan una condición de un DBF pasandolo directamente a un Array()

Es posible??

Hello,
I would like to select certain records that meet a condition of a DBF by passing it directly to an Array ()

It's possible??



Estaba peleando con :

Code: Select all

RDDSETDEFAULT( "DBFNTX" )
    cDiario := cPatDia+"Diario.dbf"
    aFichAcc := "DBQ="+ALLTRIM(cDiario)+";Driver={Microsoft dBASE Driver (*.dbf)}"
    IF (conn1 := RDDINFO( RDDI_CONNECT, { "ODBC", aFichAcc } )) == ""
                	   DBUSEAREA( .T.,, "select * from diario", "aTablet" ,.F.,,,conn1)
			    MSGINFO(aTablet->DIA_NUMASI, "DIA_NUMASI")

	                    MSGINFO ("Si he Podido Conectar con " + aFichAcc , "Buena Connexion" )
	   
                	   Close aTablet
          ELSE
	                   MSGINFO ("No he Podido Conectar con " + aFichAcc , "Error de Connexion" )
		              ThisWindow.Release
	                EndIF
Skydone Solutions
www.skydone.com

User avatar
andyglezl
Posts: 1160
Joined: Fri Oct 26, 2012 7:58 pm
Location: Guadalajara Jalisco, MX
Has thanked: 35 times
Been thanked: 73 times
Contact:

Post by andyglezl » Wed Aug 22, 2018 9:17 pm

Quizà esto te puede servir...

USE MiDBF // CPO1, CPO2, CPO3, CPO4

MiArray := {}
MiDBF->( DBEVAL( {|| IF( SUBSTR( CPO1, 1, 2 ) == "P2" .AND. "Oct" $ CPO2, AADD( Miarray, { CPO1, CPO2, CPO3, CPO4 } ), nil ) } ) )
msgdebug( Miarray )
Andrés González López
Desde Guadalajara, Jalisco. México.

User avatar
AidTIC
Posts: 93
Joined: Mon Apr 22, 2013 8:29 am
DBs Used: DBF
Been thanked: 3 times
Contact:

Post by AidTIC » Thu Aug 23, 2018 10:01 am

Perfecto,

Habría manera de que el campo fuera referencia?

Perfect,

Would there be a way for the field to be a reference?

Code: Select all

USE MiDBF // CPO1, CPO2, CPO3, CPO4

MiArray := {}
MiDBF->( DBEVAL( {|| IF( SUBSTR( CPO1, 1, 2 ) == "P2" .AND. "Oct" $ CPO2, AADD( Miarray, { CPO1, CPO2, CPO3, CPO4 } ), nil ) } ) )
msgdebug( Miarray )
msginfo (Miarray [2] ["CPO2"])

muchas gracias / thank you very much
Skydone Solutions
www.skydone.com

User avatar
AidTIC
Posts: 93
Joined: Mon Apr 22, 2013 8:29 am
DBs Used: DBF
Been thanked: 3 times
Contact:

Post by AidTIC » Thu Aug 23, 2018 11:22 am

Quiero del fichero de diario, crear 2 array, uno, solo con los numeros de asiento y saldo del apunte. Que cumpla una condicion.

Y otro con los asientos que he cogido en el primer array.

mil gracias

I want from the log file, create 2 array, one, only with the seat numbers and balance of the note. That meets a condition.

And another with the seats that I have taken in the first array.

thank you

Code: Select all

AbrirTablas('DiarioOn')
aNasie := {}
aAsien := {}
DiarioOn->( DBEVAL( {|| IF( DIA_CUENTA + StrZero(DIA_SUBCUE,5) = cBanCue .AND. DtoS(DIA_FECASI) >= DtoS(vFecIni) .and. DtoS(DIA_FECASI) <= Dtos(vFecFin) , AADD( aNasie, { DIA_NUMASI , DIA_FECASI, DIA_IMPDEB - DIA_IMPHAB } ), nil ) } ) )
msgdebug( aNasie )

DiarioOn->(DBGotop())
DiarioOn->( DBEVAL( {|| IF( ASCAN(aNasie ["DIA_NUMASI"] , DIA_NUMASI) = 0 , AADD( aAsien, { DIA_NUMASI , DIA_FECASI, DIA_IMPDEB - DIA_IMPHAB, DIA_CUENTA , DIA_SUBCUE, DIA_CONCEP } ), nil ) } ) )
msgdebug( aAsien )
Skydone Solutions
www.skydone.com

Post Reply