Hay alguien que esté usando "(" ")" en la definición de la clave del índice ?
En caso afirmativo:
-
Que RDD usas ?
-
Cual es la expresión (clave del índice) que usas ?
-
Estás usando harbour ó xharbour ?
gracias ![]()
Hay alguien que esté usando "(" ")" en la definición de la clave del índice ?
En caso afirmativo:
Que RDD usas ?
Cual es la expresión (clave del índice) que usas ?
Estás usando harbour ó xharbour ?
gracias ![]()
INDEX Str(SERIE,4)+Str(NUMERO,6) TO tempAngel,
Usas Harbour ó xHarbour ?
Nosotros recomendamos Harbour ![]()
Harbour desde el primer día ![]()
AngelSalom wrote:Harbour desde el primer día
Use TabCPost Alias FCPost
Index On StrZero(FCPost->PV) + StrZero(FCPost->CodPost) Tag CPostal
...
...
Index On SubS(Base102->Dato1, 1,6) + SubS(Base102->Dato1,7,1) Tag Ind01
....
....
Index On SubS(CGral->TDato,1, 2) + Decrypt(SubS(CGral->TDato,14,30) , "CLAVE") Tag Tag02 for Decrypt(SubS(CGral->TDato,1,2) , "CLAVE") == "01"INDEX ON field->nss+dtos(fecha)+str(mov,1) TAG "nss_fecha"if empty(indfile->cond)
index on &(indfile->key) TAG (indfile->tagname) TO (cPath + alltrim(indfile->datafile))
else
index on &(indfile->key) TAG (indfile->tagname) TO (cPath + alltrim(indfile->datafile)) FOR &(indfile->cond)
endif#command INDEX ON <key> [TAG <(tag)>] TO <(bag)> ;
[FOR <for>] [WHILE <while>] [NEXT <next>] ;
[RECORD <rec>] [<rest:REST>] [<all:ALL>] ;
[EVAL <eval>] [EVERY <every>] [<unique: UNIQUE>] ;
[<ascend: ASCENDING>] [<descend: DESCENDING>] ;
[<add: ADDITIVE>] [<cur: USECURRENT>] [<cust: CUSTOM>] ;
[<noopt: NOOPTIMIZE>] [<mem: MEMORY, TEMPORARY>] ;
[<filter: USEFILTER>] [<ex: EXCLUSIVE>] => ;
ordCondSet( <"for">, <{for}>, [<.all.>], <{while}>, ;
<{eval}>, <every>, RECNO(), <next>, <rec>, ;
[<.rest.>], [<.descend.>],, ;
[<.add.>], [<.cur.>], [<.cust.>], [<.noopt.>], ;
<"while">, [<.mem.>], [<.filter.>], [<.ex.>] ) ;;
ordCreate( <(bag)>, <(tag)>, <"key">, <{key}>, [<.unique.>] )Antonio, nunca, pero nunca pude hacer funcionar en la generación de un indice una macro expansión; y la vez que la genero, era un desastre la búsqueda, traía cualquier cosa...
Conclusión ... adios a las macro expansión.
Un abrazo. Miguel
Miguel,
Si, es lo más inteligente ![]()
IndexarFileNtx( _Inv+ovarsis:COTURLIN+_Dbf, _Inv+ovarsis:ACTLCODIGO+_Ntx, "ACTL_Codi" )#include "fivewin.ch"
//-------------------------------------------//
#define FALSE .F.
#define TRUE .T.
//-------------------------------------------//
function IndexarFileNtx( cFile, cIndex, cKey )
if File( cIndex )
if FErase( cIndex ) != 0
MsgStop("No Se Pudo Borrar "+cIndex, "AVC/Sistemas")
endif
endif
if OpenExclusive( cFile, "ordenar" )
IndexBarShow( cFile, cIndex, cKey )
dbClearIndex()
dbCloseArea()
endif
Return Nil
//-------------------------------------------//
static function IndexBarShow( cFile, cIndex, cKey )
local oDlg
local oMtr
local oSay:= Array(7)
local oFont
local nPos
local nTotRecs:= RecCount()
local lExit:= FALSE
cIndex := UPPER( cIndex )
DEFINE FONT oFont NAME "TAHOMA" SIZE 0,-12 BOLD
DEFINE DIALOG oDlg RESOURCE "INDICE_NTX" TITLE "Creando Indice" ICON "ICONAVC" FONT oFont
REDEFINE SAY oSay[1] ID 100 OF oDlg PROMPT "Unidad : " + SubStr( cIndex, 1, 3 )
REDEFINE SAY oSay[2] ID 101 OF oDlg PROMPT "Path : " + FilePath( cIndex )
REDEFINE SAY oSay[3] ID 102 OF oDlg PROMPT "Archivo : " + FileDbfNtx( cFile )
REDEFINE SAY oSay[4] ID 103 OF oDlg PROMPT "Indice : " + FileDbfNtx( cIndex )
REDEFINE SAY oSay[5] ID 104 OF oDlg PROMPT "Registros Indexados: "
REDEFINE SAY oSay[6] ID 105 OF oDlg PROMPT Transform(0,"99,999,999")
REDEFINE SAY oSay[7] ID 106 OF oDlg PROMPT "DE " + Transform(nTotRecs,"99,999,999")
REDEFINE METEREX oMtr VAR nPos TOTAL nTotRecs ID 200 OF oDlg;
GRADIENT CHUNK { { 1/2, nRGB( 255, 251, 229 ), nRGB( 250, 223, 143 ) } , ;
{ 1/2, nRGB( 244, 194, 51 ), nRGB( 252, 235, 173 ) } }
oDlg:lHelpIcon:= .F.
oDlg:bStart:= {|| StartIndex( cIndex, cKey, oMtr, oSay, nTotRecs ), lExit := TRUE, oDlg:End()}
ACTIVATE DIALOG oDlg;
CENTER;
VALID lExit
Return Nil
//-------------------------------------------//
static function StartIndex( cIndex, cKey, oMtr, oSay, nTotRecs )
INDEX ON &cKey TO &cIndex EVAL ( oMtr:Set( RecNo() ), oSay[6]:SetText( Transform(RecNo(),"99,999,999") ), SysRefresh(), TRUE )
Return Nil
//-------------------------------------------//
function FilePath( cFile )
local nPos, cFilePath
if ( nPos := RAT( "\", cFile )) != 0
cFilePath := SubStr( cFile, 1, nPos )
else
cFilePath := ""
endif
Return cFilePath
//-------------------------------------------//
function FileDbfNtx( cFile )
local nPos, cNomFile
if ( nPos := RAT( "\", cFile )) != 0
cNomFile := SubStr( cFile, nPos+1, LEN( cFile ) )
else
cNomFile := ""
endif
Return cNomFile
// FINALSe me olvidaba; Uso Harbour
Albeiro.