Ajuda num filtro ADO
Moderador: Moderadores
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Ajuda num filtro ADO
O ADO tem uma coisa chata no filtro: não aceita qualquer coisa
Não pode: ( a or b ) and ( a or c )
Mas aceita ( a and b ) or ( a and c )
Situação:
- O filtro pode ser em vários campos
- O filtro pode conter várias palavras
Então é criar uma expressão com N filtros para N campos, mas só pode usar AND de conjuntos OR
Esse acima não dá.
Talvez inverter a coisa nesse filtro.
Não pode: ( a or b ) and ( a or c )
Mas aceita ( a and b ) or ( a and c )
Situação:
- O filtro pode ser em vários campos
- O filtro pode conter várias palavras
Então é criar uma expressão com N filtros para N campos, mas só pode usar AND de conjuntos OR
Esse acima não dá.
Talvez inverter a coisa nesse filtro.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Ajuda num filtro ADO
Ok, seria trocar tudo pra OR.
Só não sei se o atual vai fazer falta.... talvez tenha que deixar os dois.
E tem também a opção de "iniciando com", que eu poderia multiplicar pra todas as palavras....
Vixe.. vai virar um filtro linguição por causa da limitação, se eu conseguir fazer.... rs
Só não sei se o atual vai fazer falta.... talvez tenha que deixar os dois.
E tem também a opção de "iniciando com", que eu poderia multiplicar pra todas as palavras....
Vixe.. vai virar um filtro linguição por causa da limitação, se eu conseguir fazer.... rs
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Ajuda num filtro ADO
Talvez
=a =b +c +d e f
quando = procurar no início
quando + considerar ambos num mesmo campo
quando sem nada procurar qualquer
mas tudo junto... um misto... vai ser complicado....
=a =b +c +d e f
quando = procurar no início
quando + considerar ambos num mesmo campo
quando sem nada procurar qualquer
mas tudo junto... um misto... vai ser complicado....
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Ajuda num filtro ADO
acho que seria isto?
( campo1 =a AND +c AND +d ) or ( campo1 =b AND +c AND +d ) or ( campo2 =a AND +c AND +d ) or ( campo2 =b AND +c AND +d ) or ( campo1 e AND +c AND +d) or ( campo2 e AND +c AND +d) or ( campo2 f AND +c AND +d )
( campo1 =a AND +c AND +d ) or ( campo1 =b AND +c AND +d ) or ( campo2 =a AND +c AND +d ) or ( campo2 =b AND +c AND +d ) or ( campo1 e AND +c AND +d) or ( campo2 e AND +c AND +d) or ( campo2 f AND +c AND +d )
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Ajuda num filtro ADO
Ainda falta o "e" e o "f", que precisariam do OR e não pode.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Ajuda num filtro ADO
Ao utilizar os operadores AND e OR não existe precedência entrer eles e você pode agrupá-los entre parênteses. Ex:("Nome = 'Jose' AND Sobrenome='Silva'" ). O que você não pode fazer é agrupar cláusulas usando OR com grupos de cláusulas usando AND . Assim
(Nome = 'Jose' OR Nome = 'Carlos') AND Sobrenome = 'Silva'
Deverá ser substituida por
(Sobrenome = 'Silva' AND Nome = 'Jose') OR (Sobrenome = 'Silva' AND Nome = 'Silva')
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Ajuda num filtro ADO
O ideal nesses casos é salvar a query antes de mandar em um arquivo com hb_memowrit e depois copiar e colar no seu cliente sql.
Ajuda num filtro ADO
Porque o ADO, que eu saiba, é uma ponte. Então não faz sentido dizer que o ADO não aceita. Quem não aceita é o banco
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Ajuda num filtro ADO
Não exatamente.Vlademiro escreveu:Porque o ADO, que eu saiba, é uma ponte. Então não faz sentido dizer que o ADO não aceita. Quem não aceita é o banco
Considere o ADO como um "DBF" que tem vida própria.
Uma vez trazendo do banco de dados, não precisa nova consulta pra filtrar, isso pode ser feito localmente.
E, com certeza, isso fica extremamente rápido.
Basta considerar que não precisa rede, servidor, nada pra o usuário brincar o quanto quiser com a consulta.
O usuário pode ficar horas pesquisando que não atrapalha ninguém.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Ajuda num filtro ADO
Acho arriscado. Uma estação pode mudar alguma coisa importante e o gerente continua com os valores antigos simulando o orçamento do mês seguinte feliz da vida.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Ajuda num filtro ADO
Imagine ir filtrando conforme vai digitando.
Pra que ficar consultando servidor a cada tecla?
Pra que ficar consultando servidor a cada tecla?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Ajuda num filtro ADO
Geralmente o gerente se baseia no mês anterior, ou dia anterior.Vlademiro escreveu:Acho arriscado. Uma estação pode mudar alguma coisa importante e o gerente continua com os valores antigos simulando o orçamento do mês seguinte feliz da vida.
No mesmo caso, como ele vai terminar um planejamento, se os valores podem se alterar durante o planejamento?
Aí sim, ele não vai ficar nada feliz.
oConsulta := Conexao:Execute( "SELECT ..." )
oConsulta:Filter = "valor > 5000 AND nome like '%globo%'"
ou conforme vai digitando
cDigitado += Chr( nkey )
oConsulta:Filter = "NOME LIKE '%" + digitado + '%'"
Nota: editado porque filter é propriedade e não método
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Ajuda num filtro ADO
Detalhe interessante:
o ADO tem algo parecido com RecNo(), que é o bookmark.
Ao aplicar um filtro, fica sequencial.
E pra retirar o filtro: oConsulta:Filter = ""
A parte visível sempre fica com bookmark numerado de 1 até onde der, sem "pular" numeração.
Também pode ser usado pra criar do zero, sem servidor.
Sei lá se dá pra comparar com DBF, Array, SQL, ou tudo junto, com opção de ficar ou não vinculado ao servidor/banco de origem.
o ADO tem algo parecido com RecNo(), que é o bookmark.
Ao aplicar um filtro, fica sequencial.
E pra retirar o filtro: oConsulta:Filter = ""
A parte visível sempre fica com bookmark numerado de 1 até onde der, sem "pular" numeração.
Também pode ser usado pra criar do zero, sem servidor.
Sei lá se dá pra comparar com DBF, Array, SQL, ou tudo junto, com opção de ficar ou não vinculado ao servidor/banco de origem.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Ajuda num filtro ADO
Surgiu uma necessidade.
No bancário em DBF eu tinha filtro por valor, e agora com a mudança não tenho mais.
Ainda pensando em como acrescentar isso no "bolo".
No bancário em DBF eu tinha filtro por valor, e agora com a mudança não tenho mais.
Ainda pensando em como acrescentar isso no "bolo".
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
