Consulta pelo dbedit ou tbrowse
Enviado: 05 Abr 2011 23:25
Boa noite como fazer uma consulta usando dbedit ou tbrowse obrigado
Código: Selecionar todos
CLEAR
@01,00 TO 03,79 DOUBLE
@04,00 TO 23,79 DOUBLE
@06,01 TO 06,78 DOUBLE
@21,01 TO 21,78 DOUBLE
@06,00 SAY CHR(204)
@21,00 SAY CHR(204)
@06,79 SAY CHR(185)
@21,79 SAY CHR(185)
SELECT 1
USE CLIENTE
IF (!FILE("CODIGO.NTX"))
INDEX ON STR(CODIGO,5,0) TO CODIGO
ENDIF
SET INDEX TO CODIGO
DO WHILE .T.
vCodigo:=0
cSai:="N"
@02,25 SAY "[ Consulta por Codigo ]"
@22,63 SAY "< ESC Sair ! >"
@05,01 SAY "Codigo...................:" GET vCodigo PICTURE "99999" VALID(vCodigo>0)
READ
IF LASTKEY()=27
EXIT
ENDIF
GO TOP
SEEK vCodigo
IF FOUND()
@ 07,01 SAY "Nome................:" +NOME
@ 08,01 SAY "Endereco............:" +ENDERECO
@ 09,01 SAY "Complemento.........:" +COMPL
@ 10,01 SAY "Bairro..............:" +BAIRRO
@ 11,01 SAY "Cidade..............:" +CIDADE
@ 12,01 SAY "Telefone............:" +TELEFONE
@ 13,01 SAY "Celular.............:" +CELULAR
@ 14,01 SAY "Telefone Comercial..:" +TELCOM
@ 15,01 SAY "Data de Aniversario.:" +DTOC(ANIVER)
@ 16,01 SAY "Nome Mae............:" +MAE
@ 17,01 SAY "Cep.................:" +CEP
@ 18,01 SAY "Estado..............:" +UF
@ 19,01 SAY "Email...............:" +EMAIL
@ 20,01 SAY "C.p.f...............:" +CPF
@ 20,42 SAY "Rg..................:" +RG
ELSE
ALERT("Codigo Nao Cadastro !")
ENDIF
@ 22,01 SAY "Deseja Sair?...:" GET cSai PICTURE "@!" VALID (cSai $ "SN")
READ
IF cSai= "S"
EXIT
ENDIF
ENDDO
CLEAR
RETURNCódigo: Selecionar todos
CLEAR SCREEN
@01,00 TO 03,79 DOUBLE
@04,00 TO 23,79 DOUBLE
@06,01 TO 06,78 DOUBLE
@21,01 TO 21,78 DOUBLE
@06,00 SAY CHR(204)
@21,00 SAY CHR(204)
@06,79 SAY CHR(185)
@21,79 SAY CHR(185)
SELECT 1
USE CLIENTE
IF (!FILE("CLIENTE.NTX"))
INDEX ON NOME TO CLIENTE
ENDIF
SET INDEX TO CLIENTE
DO WHILE .T.
vNome:=SPACE(50)
cSai= "N"
@02,25 SAY "[ Consulta por Nome ]"
@20,63 SAY "< ESC Sair ! >"
@22,01 SAY "Digite o Nome.:" GET vNome PICTURE "@!"
READ
IF LASTKEY()=27
EXIT
ENDIF
GO TOP
SEEK vNome
IF (FOUND())
@07,01 SAY "Nome..................:" +NOME
@08,01 SAY "Endereco..............:" +ENDERECO
@09,01 SAY "Complemento...........:" +COMPL
@10,01 SAY "Bairro................:" +BAIRRO
@11,01 SAY "Cidade................:" +CIDADE
@12,01 SAY "Telefone..............:" +TELEFONE
@13,01 SAY "Celular...............:" +CELULAR
@14,01 SAY "Telefone comercial....:" +TELCOM
@15,01 SAY "Data Aniversario......:" +DTOC(ANIVER)
@16,01 SAY "Nome Mae..............:" +MAE
@17,01 SAY "Cep...................:" +CEP
@18,01 SAY "Estado................:" +UF
@19,01 SAY "E-mail................:" +EMAIL
@20,01 SAY "C.p.f.................:" +CPF
@18,28 SAY "Rg....................:" +RG
ELSE
ALERT("Nome Nao Cadastrado !")
ENDIF
READ
IF cSai= "S"
EXIT
ENDIF
ENDDO
CLEARCódigo: Selecionar todos
***************************************
FUNCTION loc_on()
***************************************
* cChave sera o grupo do item
cor(1)
WHILE .T.
tel22 := SAVESCREEN()
nAprima := .T.
mEugRupa := crd->codigo
* criar tbrowse
oPropri := tbrowsedb (05,28,17,70)
tela(04,27,18,71)
tela(18,27,22,71,'.')
* filtro tbrowse com a func skipwhil()
oProPri:SKIPBLOCK := {|x| SKIPWHIL(x, {||item->cod_grup == cChave})}
oPropri:GOTOPBLOCK := {| | SKIPWHIL((LASTREC()* -1),{||item->cod_grup == cChave})}
oproPri:GOBOTTOMBLOCK := {| | SKIPWHIL((LASTREC()* 1), {||item->cod_grup == cChave})}
* defino colunas do tbrowse
oCol1 := tbcolumnnew(" PRODUTOS CADASTRADOS", {||" ³ " + item->produto + " ³ "})
oProPri:addcolumn(oCol1)
WHILE .T.
WHILE(!oPropri:stabilize())
END
IF nAprima
sset(2)
IF _MODE == 'pItem1'
IF EMPTY(pItem1)
forca_lc()
ELSE
SEEK gPitem + RTRIM(pItem1)
END
ELSEIF _MODE == 'pItem2'
IF EMPTY(pItem2)
forca_lc()
ELSE
SEEK gPitem + RTRIM(pItem2)
END
ELSEIF _MODE == 'pItem3'
IF EMPTY(pItem3)
forca_lc()
ELSE
SEEK gPitem + RTRIM(pItem3)
END
ELSEIF _MODE == 'pItem4'
IF EMPTY(pItem4)
forca_lc()
ELSE
SEEK gPitem + RTRIM(pItem4)
END
END
IF EOF()
forca_lc()
oPropri:refreshall()
KEYBOARD(CHR(47)); KEYBOARD(CHR(47))
END
oPropri:refreshall()
KEYBOARD(CHR(47)); KEYBOARD(CHR(47))
END
@ 19,30 SAY SUBSTR(desc_p1,1,37)
@ 20,30 SAY SUBSTR(desc_p1,38,70)
nTecla := INKEY(0)
DO CASE
CASE ( nTecla == K_ESC )
EXIT
CASE ( nTecla == K_ENTER )
EXIT
CASE ( nTecla == K_DOWN )
oPropri:down ()
CASE ( nTecla == K_UP )
oPropri:up ()
CASE ( nTecla == K_LEFT )
oPropri:left ()
CASE ( nTecla == K_RIGHT )
oPropri:right ()
CASE ( nTecla == K_PGUP )
oPropri:pageup ()
CASE ( nTecla == K_PGDN )
oPropri:pagedown ()
CASE ( nTecla == K_CTRL_PGUP )
oPropri:gotop ()
CASE ( nTecla == K_CTRL_PGDN )
oPropri:gobottom ()
OTHERWISE
*** ENC100B2.PRG
IF nAprima
nAprima := .F.
ELSE
ver_teclado()
END
ENDCASE
oPropri:refreshall()
END
EXIT
END
cor(0)
RESTSCREEN(,,,,tel22); RELEASE tel22
RETURN
***************************************
FUNCTION SKIPWHIL (x,key_val)
***************************************
LOCAL i := 0
IF LASTKEY() == 0
RETURN i
END
IF (x > 0 .AND. RECNO() <> LASTREC()+1)
WHILE (i < x)
SKIP 1
IF EOF() .OR. !(EVAL(key_val))
SKIP -1
EXIT
END
i++
END
ELSEIF (x < 0)
WHILE (i > x)
SKIP -1
IF BOF()
EXIT
END
IF !(EVAL(key_val))
SKIP 1
EXIT
END
i--
END
END
RETURN i