Jump to content
Fivewin Brasil

get com string e numero


neto_23

Recommended Posts

tenho um campo numerico para produto

e esse campo faço consulta a partir dele com string

exemplo

bombom ao dar enter abre a tela da consulta para produto

ao retornar da seleção a variavel volta numero ...

algum exemplo para isso get com consulta

fw10.8harbour-xDev.70 Studio-bcc582-Mysql-Pelles

programadorcp80@hotmail.com.br ;

Link to comment
Share on other sites

tenho um campo numerico para produto

e esse campo faço consulta a partir dele com string

exemplo

bombom ao dar enter abre a tela da consulta para produto

ao retornar da seleção a variavel volta numero ...

algum exemplo para isso get com consulta

fw10.8harbour-xDev.70 Studio-bcc582-Mysql-Pelles

programadorcp80@hotmail.com.br ;

Link to comment
Share on other sites


...

// aqui o get para fazer pesquisa em outra base de dados

@ 080, 140 GET oFrc_Rece VAR cFrc_Rece PIXEL OF oDlg VALID LkPeTprc(cFrc_Rece, oFrc_Rece) COLOR CLR_GET1,CLR_GET2 SIZE 80, 10 BITMAP "" PICTURE "@!" ACTION PesqTprc( oFrc_Rece )

...

...

// Funcao Pesquisa Tipo de Recebimento

Function PesqTprc( oGet )

local oFontPeTprc, oLbx, oDlg, Apelido:=Alias()

DEFINE FONT oFontPeTprc NAME "Arial" SIZE 0, -12

DbSelectArea("Tprc")

Tprc->(DbSetOrder("Tprc2")) // poe na ordem alfabetica

Tprc->(DbGoTop())

DEFINE DIALOG oDlg FROM 4, 4 TO 24, 52 TITLE "Tipo de Recebimento"

@ 1.3,0 xBROWSE oLbx FIELDS Tprc->Cod_Tprc,;

Tprc->Nom_Tprc;

HEADERS "Cód",;

"Descrição Tip.Recebimento";

JUSTIFY .f., .f.;

SIZE 190, 120 FONT oFontPeTprc ALIAS "TPRC" OF oDlg

oLbx:nMarqueeStyle := MARQSTYLE_HIGHLROW

oLbx:nColDividerStyle := LINESTYLE_BLACK

oLbx:nRowDividerStyle := LINESTYLE_BLACK

oLbx:lColDividerComplete := .t.

oLbx:lFooter := .t.

oLbx:nFreeze := 0

oLbx:bClrSelFocus := {|| { CLR_BLACK, CLR_FOCO } }

oLbx:bClrStd := {|| { CLR_WHITE, IIF((Tipo->(ORDKEYNO()))%2==0, CLR_BRW1, CLR_BRW2) } }

oLbx:bKeyDown := {|nKey| BrwKeyPeTprc(nkey, oDlg, oLbx, oGet) }

oLbx:SetRDD()

oLbx:CreateFromCode()

oDlg:oClient := oLbx

oDlg:lHelpIcon := .f.

ACTIVATE DIALOG oDlg ON INIT ( oLbx:SetFocus() )

Tprc->(DbSetOrder("Tprc1"))

Select &Apelido // volta para area do 1o get

Return nil

*--------------------------------------------------------------------------------

static function BrwKeyPeTprc( nKey, oDlg, oLbx, oGet)

If nKey == VK_RETURN // enter pega o valor da pesquisa e atualiza o 1o get

oGet:varput(Tprc->Cod_Tpr) // atualiza o get

oGet:Refresh()

oDlg:End()

Endif

Return nil

*-----------------------------------------------------------------------

FUNCTION LkPeTprc( cKey, oFrc )

LOCAL W_Ok := .T.

DbSelectArea("Tprc")

Tprc->(DBSETORDER("Tprc1"))

Tprc->(Dbseek(cKey))

IF Tprc->(Eof()) // se chegar ao fim do arquivo abre browse para pesquisa

PesqTprc( oFrc )

W_Ok := .F.

ENDIF

RETURN ( W_Ok )

id=code>id=code>
Link to comment
Share on other sites

Eu faço dessa forma.

Como vc tem a consulta?

Tenho um módulo de consultas, onde eu abro um browse do tipo DBF (xbrowse) com a consulta desejada.

Nessa função, tem uma array - com 3 dimensões - que tem a consulta que eu quero abrir, o cargo do GET, e a variavel do banco de dados que vai retornar.

No Keydown, a barra de espaço ativa a consulta pela coluna ativa (Código, descrição, valor, data, etc). Quando o usuário dá enter no registro, ele busca o cargo do get naquela array definida alí em cima (busco com ASCAN) e retorno a variavel do banco de dados setada na array.

Parece meio confuso, mas funciona.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...