bom dia amigos ..
Fiz uma função a tempos para buscar registros na minha base de dados de produtos que contenha palavras chaves .. porem quando o usuario deixa um espaço sem querer na frente da pesquisa apresenta um erro de sintax .. como poderia resolver este problema ?? preciso tirar esse espaço inicial caso haja ...
segue codigo..
******************************************************************************
*---------------------*
procedure BUSCA_PRO // FILTRA PELA DESCRIۂO PRODUTOS QUE CONTEM POR PALAVRAS CHAVES // USANDO INDICES TEMPORARIOS
*---------------------*
local Getlist := {}
LOCAL cQuery := "", cParte := "", nParte := 0, aList, cFiltro := space(36),;
vBusc
SETCURSOR(2)
vBusc := SavEnv(00,00,25,80)
SETCOLOR("N/W*,W*/B+")
WIN(14,17,19,62, "B£squeda", WT_AZUL1BRANCO, WD_AZUL1BRANCO)
FRAME(16,18,18,61,"Informe la Descripci¢n",1,3,3,3)
SET COLOR TO "R/W*"
@17,19 say "" get cFiltro picture "@!" COLOR "R/W*"
read
if lastkey()=27
rstenv(vBusc)
return(2)
endif
IF !Empty(cFiltro)
aList := hb_RegExSplit(" ",cFiltro)
FOR EACH cParte IN aList
IF Empty(cParte)
Exit
ENDIF
IF ++nParte > 1
cQuery += ' .AND. '
ENDIF
cQuery += "'" + cParte + "'" + ' $ cc_descr'
NEXT
IF PRO->(ordNumber("TMPFILTRO_PROD")) > 0
PRO->(ordDestroy("TMPFILTRO_PROD"))
EndIf
Index on cc_descr tag TMPFILTRO_PROD FOR &cQuery temporary
PRO->(dbGoTop())
ENDIF
rstenv(vBusc)
RETURN(2)
*/
------------------- Internal Error Handling Information ---------------------
Subsystem Call ....: BASE
System Code .......: 1449
Default Status ....: .F.
Description .......: Erro de sintaxe
Operation .........: &
Arguments .........: [ 1] = Type: C Val: {||}
Involved File .....:
Dos Error Code ....: 0
Saludos a todos .. abraço!