CONSULTA SQL COM CAMPO SIM/NAO BANCO ACCESS!
Ola pessoal, tenho um campo na minha tabela que é um campo verificador SIM/NAO OU 0/1.
Eu preciso que ele busque os dados que sejam apenas verdadeiros (1) na tabela, lembrando que eu não sei qual vai ser o campo verificador pois eu tenho 20 campos que representam a profissão da pessoa e que quando ele clicar no botao com a profissao ele vai jogar para um textbox o nome do campo na tabela. Faço a busca da seguinte forma para o relatorio no dbgrid.
Dim db As Database
Dim query As String
Dim dyn As Recordset
Set db = OpenDatabase([Ô]c:\Sistema\Cadastro.Mdb[Ô], False, False, [Ô];PWD=senha[Ô])
query = [Ô]SELECT * FROM Tabela order by nome[Ô]
Set dyn = db.OpenRecordset(query, dbOpenDynaset)
While Not dyn.EOF
If dyn([Ô]CIDADE[Ô]) = CIDADE Then
DYN1.AddNew
DYN1([Ô]CODIGO[Ô]) = dyn([Ô]CODIGO[Ô])
DYN1([Ô]EMPRESA[Ô]) = dyn([Ô]EMPRESA[Ô])
DYN1([Ô]CIDADE[Ô]) = dyn([Ô]CIDADE[Ô])
DYN1.Update
End If
dyn.MoveNext
Wend
db.Close
Data1.Refresh
Eu preciso que ele busque os dados que sejam apenas verdadeiros (1) na tabela, lembrando que eu não sei qual vai ser o campo verificador pois eu tenho 20 campos que representam a profissão da pessoa e que quando ele clicar no botao com a profissao ele vai jogar para um textbox o nome do campo na tabela. Faço a busca da seguinte forma para o relatorio no dbgrid.
Dim db As Database
Dim query As String
Dim dyn As Recordset
Set db = OpenDatabase([Ô]c:\Sistema\Cadastro.Mdb[Ô], False, False, [Ô];PWD=senha[Ô])
query = [Ô]SELECT * FROM Tabela order by nome[Ô]
Set dyn = db.OpenRecordset(query, dbOpenDynaset)
While Not dyn.EOF
If dyn([Ô]CIDADE[Ô]) = CIDADE Then
DYN1.AddNew
DYN1([Ô]CODIGO[Ô]) = dyn([Ô]CODIGO[Ô])
DYN1([Ô]EMPRESA[Ô]) = dyn([Ô]EMPRESA[Ô])
DYN1([Ô]CIDADE[Ô]) = dyn([Ô]CIDADE[Ô])
DYN1.Update
End If
dyn.MoveNext
Wend
db.Close
Data1.Refresh
não entendi tente ser mais especifico
Acho que o que vc precisa é:
Se true não der certo, coloque 1.
query = [Ô]SELECT * FROM Tabela order by nome where NomeDoSeuCampo=true[Ô]
Se true não der certo, coloque 1.
Obrigado pela tentativa llia!
Vou tentar explicar amais facil no meu campo cadastro tenho 10 checkbox para descrever que uma pessoa pode ter mais de uma profissao ok.
Entao eu vou ter um botao com o nome da profissao para pessoa clicar e entao vai para uma tela que gera um relatorio com os nomes das pessoas que possuem aquela profissao.
O campo que seleciono a profissao no cadastro é checkbox, entao a busca tem que pegar se o checkbox esta como 1 que significa que ele tem a profissao selecionada e entao jogar para tela no meu dbgrid.
Vou tentar explicar amais facil no meu campo cadastro tenho 10 checkbox para descrever que uma pessoa pode ter mais de uma profissao ok.
Entao eu vou ter um botao com o nome da profissao para pessoa clicar e entao vai para uma tela que gera um relatorio com os nomes das pessoas que possuem aquela profissao.
O campo que seleciono a profissao no cadastro é checkbox, entao a busca tem que pegar se o checkbox esta como 1 que significa que ele tem a profissao selecionada e entao jogar para tela no meu dbgrid.
LLAIA teste melhor e funcionou sim a busca um problema resolvido más tem mais um coisa se eu colocar na busca sql que profissao1=true ele busca todos os cadastros que estao ticados no checkbox profissao1. So que eu esqueci que eu não sei qual profissão ele pode escolher para pesquisar tipo profissao1 - profissao2 - profissao3 etc.
então a busca teria que ter um variavel que recebesse esta informação para colocar na linha de busca do sql tipo:
query = [Ô]SELECT * FROM Tabela where Variavel=true[Ô]
a variavel é a que receberia a profissao que ele escolher.
então a busca teria que ter um variavel que recebesse esta informação para colocar na linha de busca do sql tipo:
query = [Ô]SELECT * FROM Tabela where Variavel=true[Ô]
a variavel é a que receberia a profissao que ele escolher.
Pessoal olha colocando assim ele funciona olha!
If Profissao = [Ô]Profissao1[Ô] Then
query = [Ô]SELECT * FROM lojista where Profissao1=true[Ô]
ElseIf Profissao = [Ô]Profissao2[Ô] Then
query = [Ô]SELECT * FROM lojista where Profissao2=true[Ô]
End If
assim ele funciona mais ai vou ter que colocar todos os 10 IF e se aumentar amanha as profissoes vou ter que almentar os IF tb. Porisso quera uma forma de colocar isso dentro da busca como uma condição dele receber o nome do campo que foi selecionado.
If Profissao = [Ô]Profissao1[Ô] Then
query = [Ô]SELECT * FROM lojista where Profissao1=true[Ô]
ElseIf Profissao = [Ô]Profissao2[Ô] Then
query = [Ô]SELECT * FROM lojista where Profissao2=true[Ô]
End If
assim ele funciona mais ai vou ter que colocar todos os 10 IF e se aumentar amanha as profissoes vou ter que almentar os IF tb. Porisso quera uma forma de colocar isso dentro da busca como uma condição dele receber o nome do campo que foi selecionado.
assim colega
coloque as profissões no combo e proceda desta maneira
query = [Ô]SELECT * FROM lojista where [Ô] & ComboProfissao.List(ComboProfissao.ListIndex) & [Ô] = true[Ô]
ai basta que você selecione a profissao no combo e ela sera buscada
coloque as profissões no combo e proceda desta maneira
query = [Ô]SELECT * FROM lojista where [Ô] & ComboProfissao.List(ComboProfissao.ListIndex) & [Ô] = true[Ô]
ai basta que você selecione a profissao no combo e ela sera buscada
Marcelo e LLaia muito obrigado por mais esta ajuda valeu por compartilhar seus conhecimentos com nos iniciantes ob.
Tópico encerrado , respostas não são mais permitidas