Clipper On Line • Ver Tópico - Browse com ADO

Browse com ADO

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

 

Browse com ADO

Mensagempor JoséQuintas » 13 Abr 2020 21:04

Uma coisa importante que esqueci na conexão do exemplo do browse, no início do post:

conexão.cursorlocation = 3 // adUseClient

Sem isso, não há navegação no resultado e dá erro no browse.
Se puder, vou editar, porque isso é de extrema importância.

Estava quebrando a cabeça pra ajudar um usuário fazer funcionar no XHarbour, e no final o problema era esse.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 13529
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 839 vezes

Browse com ADO

Mensagempor JoséQuintas » 13 Abr 2020 21:21

Itamar M. Lins Jr. escreveu:Isso é um problema da rede mapeada, usando servidores de DBF, NetIO, LetoDbf, ADS, isso não "ecziste"
Como eu disse, normalmente eu não edito no browse. Mas existe essa possibilidade.


Faz um teste, só de curiosidade usando o SQLMIX + ODBC.
Fica quase igual ADO direto, mas acho que a diferença é aceitável.
Acho que você é o que mais usa opções diferentes, então tem condições de avaliar.

A vantagem?
Por ODBC basta o que vém no Harbour.
Pelo menos quem está começando já vai direto, sem se perder com necessidades extras do Harbour.
Depois que "brincar" e gostar do troço, aí cada um decide se continua, ou se usa as opções extras.

Aqui achei ruim sobre a memória utilizada pelo Harbour no SQLMIX+ODBC.
Mas no ADO nem dá pra saber, porque fica fora do programa, fica por conta do Windows mesmo.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 13529
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 839 vezes

Browse com ADO

Mensagempor Fernando queiroz » 13 Abr 2020 21:48

tela.jpg


Antes de usar o SQL eu usava o BROWSE DATABASE e editava diretamente no BROWSE agora com array a coisa ficou meio estranha, ai fique pensando porque não colocar os dados na mesma tela em um campo editável e quando quiser modificar dar um clique na linha do browse e passar a editar no campo abaixo.
sei la sao ideias , o que voces acham????
HARBOUR 3.2, HWGUI 2.22 B4, SEFAZCLASS, DBFCDX, PDFClass, LETODBF
Fernando queiroz
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 388
Data de registro: 12 Nov 2014 23:41
Cidade/Estado: Porto Alegre/RS
Curtiu: 4 vezes
Mens.Curtidas: 11 vezes

Browse com ADO

Mensagempor JoséQuintas » 13 Abr 2020 22:03

Num ambiente de janelas... porque não abrir uma janela?

Vai apresentar tudo com muito mais detalhes.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 13529
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 839 vezes

Browse com ADO

Mensagempor Itamar M. Lins Jr. » 13 Abr 2020 22:30

Ola!
Quintas, o browse é fundamental para PDV, ponto de venda, O vendedor digita o código apenas e ou passa o leitor de códigos de barras. Nisso ele apenas muda a quantidade se for o caso, e pula para a próxima linha de baixo. Essa é um exemplo que até com SQL tem que jogar em ARRAY para depois salvar, no DBF já fica pronto.
Neste caso ninguém faz JANELA ou DIALOG, é sempre uma linha debaixo da outra, dbedit/browse editáveis.

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 4281
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 149 vezes
Mens.Curtidas: 244 vezes

Browse com ADO

Mensagempor cjp » 11 Jul 2020 22:37

Gostaria de saber se existe alguma forma de filtrar um campo no Tbrowse com ADO.

Com o dbedit eu fazia:

set filter to cPrd$produto


Mas no Tbrowse com ADO isso não funciona.

Poderiam me ajudar, por favor?
Inacio de Carvalho Neto
cjp
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1086
Data de registro: 19 Nov 2010 21:29
Cidade/Estado: paraná
Curtiu: 6 vezes
Mens.Curtidas: 10 vezes

Browse com ADO

Mensagempor JoséQuintas » 12 Jul 2020 02:31

cjp escreveu:Gostaria de saber se existe alguma forma de filtrar um campo no Tbrowse com ADO.


oRs:Filter = "expressão SQL"

https://www.w3schools.com/asp/prop_rs_filter.asp
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 13529
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 839 vezes

Browse com ADO

Mensagempor cjp » 12 Jul 2020 18:17

Eu tentei desta forma:

            prd=space(15)
            @ maxrow()-1,1 say "Produto:"get prd pict "@!"
          read
          oRs:Filter="upper(produto) like '%"+alltrim(prd)+"%'"


Mas não deu certo. Está dando o erro WINOLE/1006 Os argumentos sÒo incorretos, estÒo fora do intervalo aceitßvel ou estÒo em conflito. (0x800A0BB9): ADODB.Recordset.

Tem algo errado?
Inacio de Carvalho Neto
cjp
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1086
Data de registro: 19 Nov 2010 21:29
Cidade/Estado: paraná
Curtiu: 6 vezes
Mens.Curtidas: 10 vezes

Browse com ADO

Mensagempor JoséQuintas » 12 Jul 2020 19:55

cjp escreveu:Tem algo errado?


A expressão tem que ser no formato ADO/SQL.
E Upper() não faz parte disso.

oRs:Filter = "produto like '%" + alltrim( prd ) + "%'"
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 13529
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 839 vezes

Browse com ADO

Mensagempor cjp » 12 Jul 2020 22:35

Coloquei upper para pegar texto com maiúsculas ou minúsculas. Vi neste link: https://www.w3schools.com/sql/func_mysql_upper.asp.

De qualquer forma, testei agora sem o upper, e funcionou tanto com maiúsculas e minúsculas.

Muito obrigado.

Só mais uma dúvida, por favor: precisaria dar um "refresh" no tbrowse, ou algo que atualizasse a lista depois do filter, porque ele está filtrando, mas só está aparecendo os itens filtrados um a um, à medida que teclo as setas. Não tem como aparecer todos os itens filtrados?

Minha função está assim:


   DO WHILE .T.
      oTBrowse:forceStable()
      oTBrowse:refreshCurrent()
      nKey := Inkey(0)
    
     if upper(chr(nkey)) =="P" .and. procname(1)="BROWSECOMPRAS"
            prd=space(15)
            @ maxrow()-1,1 say "Produto:"get prd pict "@!"
          read
          oRs:Filter="produto like '%"+alltrim(prd)+"%'"
    
     elseif nkey == 27
        cSair="S"
       exit
     endif
      IF oTBrowse:applyKey( nKey ) == TBR_EXIT
        cSair="S"
         EXIT
      ENDIF
   ENDDO

Inacio de Carvalho Neto
cjp
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1086
Data de registro: 19 Nov 2010 21:29
Cidade/Estado: paraná
Curtiu: 6 vezes
Mens.Curtidas: 10 vezes

Anterior



Retornar para Contribuições, Dicas e Tutoriais

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 1 visitante


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro