PESQUISAR UM CAMPO EM UMA TABELA - .MDB
Tenho um banco de dados . mdb, neste banco de dados tem uma tabela cliente, e nessa tabela tem um campo OBS. ok.
O que preciso fazer é verificar todo o banco de dados e saber quantos do campo [Ô]obs[Ô] estão preenchidos e quantos não estão.
Tipo, quero ver em números em um textBox o total de não preenchidos, e em outro TextBox o total de preenchidos.
Não sou fera em VB. Então não estou me acertando em escrever esse código.
Ficaria extremamente grato, pela ajuda de vocês, sei que são feras na parada.
Agradeço de coração, vida longa e prospera, a todos.
Não é exatamente de VB que você precisa, mas de um comando SQL.
Supondo que sua tabela chame-se [Ô]tabMusicas[Ô] (sem as aspas, óbvio) e o campo observações chame-se [Ô]obs[Ô] (sem as aspas, óbvio):
select Nz(count(obs),0) as total_vazios from tabMusicas where (trim(obs)=[Ô][Ô]) or (isnull(obs))
Eu não uso Access (.mdb) a muitos e muitos anos. Procurei converter do comando SQL que seria no PostGreSQL para você usar no Access. Em teoria, deverá funcionar.
Tudo de bom.
Citação::
Colega DJROBERTOSC,
Não é exatamente de VB que você precisa, mas de um comando SQL.
Supondo que sua tabela chame-se [Ô]tabMusicas[Ô] (sem as aspas, óbvio) e o campo observações chame-se [Ô]obs[Ô] (sem as aspas, óbvio):select Nz(count(obs),0) as total_vazios from tabMusicas where (trim(obs)=[Ô][Ô]) or (isnull(obs))
Eu não uso Access (.mdb) a muitos e muitos anos. Procurei converter do comando SQL que seria no PostGreSQL para você usar no Access. Em teoria, deverá funcionar.
Tudo de bom.
Olá, caro amigo, não consegui realizar essa operação, não entendi esses códigos, por ex. Select Nz. Agradeço de coração sua ajuda, mas poderia ser mais explicito, (ainda sou meio leigo,hehe) Obrigado. :)
sql = [Ô]Select * from teste where IsNull(obs) [Ô] [ô] Para vazios
sql = [Ô]select * from teste where obs is not null[Ô] [ô]Para não vazios
[Ô]Select[Ô] é a instrução que vai fazer a operação de [Ô]selecionar[Ô].
[Ô]Count(obs)[Ô] é a contagem de quantos campos [Ô]obs[Ô].
[Ô]Nz[Ô] é para não nulo, porque a contagem acima poderia resultar em [Ô]nada a trazer[Ô], então se nenhum registro atender aos critérios, ao invés de [Ô]nada[Ô] virá zero, por isto Nz(count(obs),0) que substitui um eventual [Ô]vazio[Ô] por zero.
[Ô]where (trim(obs)=[Ô][Ô]) or (isnull(obs))[Ô] é para que a [Ô]seleção de contagem[Ô] seja feita para os registros em que o campo obs seja vazio (nada dentro) ou nulo (nulo é diferente de [Ô]nada dentro[Ô], que poderia ser entendido como string vazia).
Assim a expressão:
select Nz(count(obs),0) as total_vazios from tabMusicas where (trim(obs)=[Ô][Ô]) or (isnull(obs))
é traduzida como
selecione a contagem dos campos obs, substituindo eventual nada por zero, quando o campo obs for igual a nada dentro ou se o campo obs for nulo
Agora é questão de você executar o comando SQL acima, no seu Access.
Caso não consiga rodar o comando SQL, então faltaria conhecimento de manejo do banco de dados e, neste caso, até sugiro que você não execute qualquer comando, sendo mais aconselhável você chamar algum profissional para fazer a operação para você.
Tudo de bom.
Citação::
Colega DJROBERTOSC,
[Ô]Select[Ô] é a instrução que vai fazer a operação de [Ô]selecionar[Ô].
[Ô]Count(obs)[Ô] é a contagem de quantos campos [Ô]obs[Ô].
[Ô]Nz[Ô] é para não nulo, porque a contagem acima poderia resultar em [Ô]nada a trazer[Ô], então se nenhum registro atender aos critérios, ao invés de [Ô]nada[Ô] virá zero, por isto Nz(count(obs),0) que substitui um eventual [Ô]vazio[Ô] por zero.
[Ô]where (trim(obs)=[Ô][Ô]) or (isnull(obs))[Ô] é para que a [Ô]seleção de contagem[Ô] seja feita para os registros em que o campo obs seja vazio (nada dentro) ou nulo (nulo é diferente de [Ô]nada dentro[Ô], que poderia ser entendido como string vazia).
Assim a expressão:
select Nz(count(obs),0) as total_vazios from tabMusicas where (trim(obs)=[Ô][Ô]) or (isnull(obs))
é traduzida como
selecione a contagem dos campos obs, substituindo eventual nada por zero, quando o campo obs for igual a nada dentro ou se o campo obs for nulo
Agora é questão de você executar o comando SQL acima, no seu Access.
Caso não consiga rodar o comando SQL, então faltaria conhecimento de manejo do banco de dados e, neste caso, até sugiro que você não execute qualquer comando, sendo mais aconselhável você chamar algum profissional para fazer a operação para você.
Tudo de bom.
Caro amigo Euzébio Cruz, muito, mas muito obrigado mesmo por toda a explicação, agradeço de coração a sua dedicação em ajudar. Obrigado mais uma vez. :)
Não precisa agradecer, tudo é feito com intuito de ajudar.
Mas sua educação, em um mundo cada vez mais repleto de pessoas egoÃstas, é muito bem vindo. é até um acalanto.
Veja em https://www.youtube.com/watch?v=_pE7S-lzpa4 um exemplo de como executar comandos SQL no Access.
Se não conseguir, volte a postar aqui que a gente vai tentando ajudar.
Tudo de bom.
select Nz(count(obs),0) as total_vazios from tabMusicas where (trim(obs)=[Ô][Ô]) or (isnull(obs))
Isto eu testei e funiona.
sql = [Ô]Select * from teste where IsNull(obs) [Ô] [ô] Para vazios
sql = [Ô]select * from teste where obs is not null[Ô] [ô]Para não vazios
Conforme eu disse no meu post inicial, com a resposta...
Citação:Eu não uso Access (.mdb) a muitos e muitos anos. Procurei converter do comando SQL que seria no PostGreSQL para você usar no Access. Em teoria, deverá funcionar.
Como uso FreeBSD e não tenho Windows à disposição, nem tenho como testar.
Ou melhor, estou no momento em máquina com Windows, mas nada é instalado nela, só Windows que veio no Notebook mesmo (OEM).
Mas imagino que o colega que abriu o post vá testar e, como eu disse no post anterior, caso não consiga, ele pode voltar a postar aqui que tentaremos ir ajudando.
Tudo de bom.