Página 1 de 1

Duvidas utilizando SetRelation()

Publicado: Mar Mar 26, 2013 9:05 pm
por wmsei
Srs boa tarde,
Estou migrando do Clipper/xHarbour para o Xailer, utilizo muito a função DbSetRelation(), no Xailer quando uso SetRelation do DataSet, não traz o resultado que tinha no clipper, tem algum macete para trabalhar com o SetRelation no Xailer, se possí­vel enviem alguns exemplos com a funcionalidade do SetRelation.
Grato pelo retorno e atenção
Wagner

Duvidas utilizando SetRelation()

Publicado: Mié Mar 27, 2013 2:32 am
por Cassiano de Oliveira
Wagner bem vindo... disponibilize um exemplo com o teste q vc averiguou q
não funciona para que possamos ajudá-lo...
[]´s
"Wagner" wrote in message news:51520106$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Srs boa tarde,
Estou migrando do Clipper/xHarbour para o Xailer, utilizo
muito a função DbSetRelation(), no Xailer quando uso
SetRelation do DataSet, não traz o resultado que tinha no
clipper, tem algum macete para trabalhar com o SetRelation
no Xailer, se possí­vel enviem alguns exemplos com a
funcionalidade do SetRelation.
Grato pelo retorno e atenção
Wagner

Duvidas utilizando SetRelation()

Publicado: Mié Mar 27, 2013 3:43 pm
por wmsei
Cassiano bom dia,
Segue conforme solicitado:
::dbfMaster:cName := "CLIENT.DBF"
::dbfMaster:cProcess := "GENERAL"
::dbfMaster:lOpen := .t.
::dbfMaster:OrdSetFocus(2) //Nome
::dbfMaster:GoTop()
::dbfContasReceber:oDataSource := ::cdxdsMaster
::dbfContasReceber:cName := "CONREC.DBF"
::dbfContasReceber:lOpen := .t.
::dbfContasReceber:OrdSetFocus(2)
::dbfContasPagar:oDataSource := ::cdxdsMaster
::dbfContasPagar:cName := "CONPAG.DBF"
::dbfContasPagar:lOpen := .t.
::dbfContasPagar:OrdSetFocus(6)
::dbfMaster:SetRelation("CODIGO", ::dbfContasReceber, .t.)
::dbfMaster:SetRelation("CODIGO", ::dbfContasPagar, .t.)

Quando vou mostrar os dados do cliente e seus respectivos dados de Contas a Pagar e Contas a Receber, mostra todos os dados, nao relacionando somente os dados do cliente que esta selecionado.
Grato pelo retorno e atenção.
Wagner.

Duvidas utilizando SetRelation()

Publicado: Mié Mar 27, 2013 7:26 pm
por ChrisSoares
Também estou tendo problemas com o setRelation. Cheguei a postar a duvida a um tempo atrás, porém não tive nenhum retorno: Duvidas sobre o SetRelation.
Vou acompanhar seu post, caso tenha alguma novidade não deixe de relatar para eu e outros possam tirar essa duvida. Qualquer novidade lhe informo.
Abraços,

Duvidas utilizando SetRelation()

Publicado: Vie Mar 29, 2013 12:33 am
por Cassiano de Oliveira
Colegas estou começando a poucos meses talvez q nem alguns de vcs, na minha aplicação antes do Xailer utilizo DBF + CDX porém no Xailer estou fazendo em MySQL, mesmo assim baseado no exemplo do Cristiano fiz 2 projetos 1 relacionado ao SetRelation q foi a idéia inicial do tópico e fiz funcionar, porém não sei se da maneira correta, pois até onde sei o Relation não separa os registros da tabela, exemplo se eu estou no cliente 10 Fulano de tal o q o relation faz é posionar nas tabelas relacionadas ( CONREC - Contas a Receber e CONPAG - Contas a Pagar) nos registros q satisfaçam o relacionamento no caso que sejam o cliente 10 Fulano de tal, porém se rolarmos o Grid veremos q vemos os registros dos outros clientes q tem contas a receber e tb q tem contas a pagar...
No meu ponto de vista a maneira q ficaria mais clara seria "Filtrar" somente o q é do cliente 10 Fulano... então eu tb fiz um exemplo baseado na lógica, forms, tabelas etc do projeto inicial do Relation e fiz um com o Filter....
Deem uma olhada vejam se resolve, mas eu sou iniciante tb talvez tenha outra maneira de fazer, pois uma dificuldade q tive foi q ao mudar no DBNavigator e colocar no evento OnClickNext por exemplo para ele atualizar os browsers ele não pegava o Registro Seguinte e sim o registro q estava, ou seja, não funcionava... a maneira q encontrei para resolver isto tanto no projeto do Relation qto no projeto do Filter foi fazer com q após uma mudança via DBNavigator ativasse o Timer e após 100 milisegundos executava uma função q verificava se o registro foi alterado do que estava e atualizava os browsers... talvez tenha ficado meio gambiarra porque eu não domino muito bem os Eventos e demais ferramentas existentes no Xailer.
Caso algum colega possa melhorar o projeto fazendo de outra maneira q não tenha q passar por esse Timer seria interessante e talvez mais eficiente.
ATENí‡íƒO NOS ARQUIVOS ANEXADOS NíƒO ESTíƒO AS TABELAS, DEVIDO A LIMITES DE POSTAGEM DO Fí“RUM, AS TABELAS REFERENCIADAS NOS PROJETOS CONSTAM DO LINK DO PROJETO ORIGINAL FEITO PELO CRISTIANO... Duvidas sobre o SetRelation.
[]´s

Attached files SetFilter.rar (10.3 KB)Â SetRelation.rar (4.4 KB)Â

Duvidas utilizando SetRelation()

Publicado: Vie Mar 29, 2013 12:34 am
por Cassiano de Oliveira
Texto original pois a postagem via WEB bagunçou os caracteres...
Colegas estou começando a poucos meses talvez q nem alguns de vcs, na minha
aplicação antes do Xailer utilizo DBF + CDX porém no Xailer estou fazendo
em MySQL, mesmo assim baseado no exemplo do Cristiano fiz 2 projetos 1
relacionado ao SetRelation q foi a idéia inicial do tópico e fiz funcionar,
porém não sei se da maneira correta, pois até onde sei o Relation não separa
os registros da tabela, exemplo se eu estou no cliente 10 Fulano de tal o q
o relation faz é posionar nas tabelas relacionadas ( CONREC - Contas a
Receber e CONPAG - Contas a Pagar) nos registros q satifaçam o
relacionamento no caso que sejam o cliente 10 Fulano de tal, porém se
rolarmos o Grid veremos q vemos os registros dos outros clientes q tem
contas a receber e tb q tem contas a pagar...
No meu ponto de vista a maneira q ficaria mais clara seria "Filtrar" somente
o q é do cliente 10 Fulano... então eu tb fiz um exemplo baseado na lógica,
forms, tabelas etc do projeto inicial do Relation e fiz um com o Filter....
Deem uma olhada vejam se resolve, mas eu sou iniciante tb talvez tenha outra
maneira de fazer, pois uma dificuldade q tive foi q ao mudar no DBNavigator
e colocar no Evento OnClickNext por exemplo para ele atualizar os browsers
ele não pegava o Registro Seguinte e sim o registro q estava, ou seja, não
funcionava... a maneira q encontrei para resolver isto tanto no projeto do
Relation qto no projeto do Filter foi fazer com q após uma mudança via
DBNavigator ativasse o Timer e após 100 milisegundos executava uma função q
verificava se o registro foi alterado do que estava e atualizava os
browsers... talvez tenha ficado meio gambiarra porque eu não domino muito
bem os Eventos e demais ferramentas existentes no Xailer.
Caso algum colega possa melhorar o projeto fazendo de outra maneira q não
tenha q passar por esse Timer seria interessante e talvez mais eficiente.
[]´s
"Cassiano de Oliveira" wrote in message news:5154d352$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Colegas estou comeíƒÂ§ando a poucos meses talvez q nem alguns
de vcs, na minha aplicaíƒÂ§íƒÂ£o antes do Xailer utilizo DBF +
CDX poríƒÂ©m no Xailer estou fazendo em MySQL, mesmo assim
baseado no exemplo do Cristiano fiz 2 projetos 1 relacionado
ao SetRelation q foi a idíƒÂ©ia inicial do tíƒÂ³pico e fiz
funcionar, poríƒÂ©m níƒÂ£o sei se da maneira correta, pois atíƒÂ©
onde sei o Relation níƒÂ£o separa os registros da tabela,
exemplo se eu estou no cliente 10 Fulano de tal o q o
relation faz íƒÂ© posionar nas tabelas relacionadas ( CONREC -
Contas a Receber e CONPAG - Contas a Pagar) nos registros q
satisfaíƒÂ§am o relacionamento no caso que sejam o cliente 10
Fulano de tal, poríƒÂ©m se rolarmos o Grid veremos q vemos os
registros dos outros clientes q tem contas a receber e tb q
tem contas a pagar...
No meu ponto de vista a maneira q ficaria mais clara seria
"Filtrar" somente o q íƒÂ© do cliente 10 Fulano... entíƒÂ£o eu
tb fiz um exemplo baseado na líƒÂ³gica, forms, tabelas etc do
projeto inicial do Relation e fiz um com o Filter....
Deem uma olhada vejam se resolve, mas eu sou iniciante tb
talvez tenha outra maneira de fazer, pois uma dificuldade q
tive foi q ao mudar no DBNavigator e colocar no evento
OnClickNext por exemplo para ele atualizar os browsers ele
níƒÂ£o pegava o Registro Seguinte e sim o registro q estava,
ou seja, níƒÂ£o funcionava... a maneira q encontrei para
resolver isto tanto no projeto do Relation qto no projeto do
Filter foi fazer com q apíƒÂ³s uma mudaníƒÂ§a via DBNavigator
ativasse o Timer e apíƒÂ³s 100 milisegundos executava uma
funíƒÂ§íƒÂ£o q verificava se o registro foi alterado do que
estava e atualizava os browsers... talvez tenha ficado meio
gambiarra porque eu níƒÂ£o domino muito bem os Eventos e
demais ferramentas existentes no Xailer.
Caso algum colega possa melhorar o projeto fazendo de outra
maneira q níƒÂ£o tenha q passar por esse Timer seria
interessante e talvez mais eficiente.
ATENíƒâ€¡íƒÆ’O NOS ARQUIVOS ANEXADOS NíƒÆ’O ESTíƒÆ’O AS TABELAS,
DEVIDO A LIMITES DE POSTAGEM DO Fíƒâ€œRUM, AS TABELAS
REFERENCIADAS NOS PROJETOS CONSTAM DO LINK DO PROJETO
ORIGINAL FEITO PELO CRISTIANO...
http://www.xailer.com/forum/index.php?t ... =16806&amp ;start=0&
[]í‚´s