AJUDAR EM CONSULTA SQL!
Boa Tarde Alvaro!
Estou muito feliz com sua ajuda eu conseguir resolver o problema da imagem Na imagem semvacinar era pra mostra todos animais pq nenhum vacino2.
Mas ainda mostra os 1437,1275 e 1595 que não era pra mostra.
Teve tempo ou alguma ideia de como resolver para não mostra 1437,1275 e 1595. ?
Fico assim o código.
ElseIf Me.optsemvacinar.Value = True Then
If Codigo <> consulta(0) Then
Set List = lstLista.ListItems.Add(Text:=consulta(0)) [ô]id
If consulta(1) = [Ô]0000[Ô] Then
List.SubItems(1) = [Ô][Ô]
Else
List.SubItems(1) = consulta(1)
End If [ô]Brinco
If consulta(2) = [Ô]0000[Ô] Then
List.SubItems(2) = [Ô][Ô]
Else
List.SubItems(2) = consulta(2)
End If [ô]Pbrinco
If consulta(3) = [Ô]0000[Ô] Then
List.SubItems(3) = [Ô][Ô]
Else
List.SubItems(3) = consulta(3)
End If [ô]Nantigo
[ô]Se a data for 01/01/1900 deixa em branco [Ô][Ô]
If consulta(4) = [Ô]01/01/1900[Ô] Then
List.SubItems(4) = [Ô][Ô]
Else
List.SubItems(4) = consulta(4)
End If [ô]DatadeNasc
List.SubItems(5) = consulta(5) [ô]raca
List.SubItems(6) = consulta(6) [ô]animal
List.SubItems(7) = consulta(7) [ô]Especificar
List.SubItems(8) = consulta(8) [ô]fazenda
List.SubItems(9) = consulta(9) [ô]Observacoes
List.SubItems(10) = consulta(10) [ô]IdadeAtualdasVacas
List.SubItems(11) = consulta(11) [ô]ativo
[ô]Se for nulo a data ela coloca data 01/01/1900 e depois deixa em branco[Ô][Ô]
If IsNull(consulta(12)) Then
List.SubItems(12) = [Ô]01/01/1900[Ô]
List.SubItems(12) = [Ô][Ô]
Else: List.SubItems(12) = consulta(12)
End If [ô]Vacinação
[ô]Apaga todos que no ATIVO=NÃO
For i = 1 To lstLista.ListItems.Count
If lstLista.ListItems.Item(i).SubItems(11) = [Ô]Não[Ô] Then
Me.lstLista.ListItems.Remove (i)
End If
Next i
Codigo = consulta(0)
End If
Estou muito feliz com sua ajuda eu conseguir resolver o problema da imagem Na imagem semvacinar era pra mostra todos animais pq nenhum vacino2.
Mas ainda mostra os 1437,1275 e 1595 que não era pra mostra.
Teve tempo ou alguma ideia de como resolver para não mostra 1437,1275 e 1595. ?
Fico assim o código.
ElseIf Me.optsemvacinar.Value = True Then
If Codigo <> consulta(0) Then
Set List = lstLista.ListItems.Add(Text:=consulta(0)) [ô]id
If consulta(1) = [Ô]0000[Ô] Then
List.SubItems(1) = [Ô][Ô]
Else
List.SubItems(1) = consulta(1)
End If [ô]Brinco
If consulta(2) = [Ô]0000[Ô] Then
List.SubItems(2) = [Ô][Ô]
Else
List.SubItems(2) = consulta(2)
End If [ô]Pbrinco
If consulta(3) = [Ô]0000[Ô] Then
List.SubItems(3) = [Ô][Ô]
Else
List.SubItems(3) = consulta(3)
End If [ô]Nantigo
[ô]Se a data for 01/01/1900 deixa em branco [Ô][Ô]
If consulta(4) = [Ô]01/01/1900[Ô] Then
List.SubItems(4) = [Ô][Ô]
Else
List.SubItems(4) = consulta(4)
End If [ô]DatadeNasc
List.SubItems(5) = consulta(5) [ô]raca
List.SubItems(6) = consulta(6) [ô]animal
List.SubItems(7) = consulta(7) [ô]Especificar
List.SubItems(8) = consulta(8) [ô]fazenda
List.SubItems(9) = consulta(9) [ô]Observacoes
List.SubItems(10) = consulta(10) [ô]IdadeAtualdasVacas
List.SubItems(11) = consulta(11) [ô]ativo
[ô]Se for nulo a data ela coloca data 01/01/1900 e depois deixa em branco[Ô][Ô]
If IsNull(consulta(12)) Then
List.SubItems(12) = [Ô]01/01/1900[Ô]
List.SubItems(12) = [Ô][Ô]
Else: List.SubItems(12) = consulta(12)
End If [ô]Vacinação
[ô]Apaga todos que no ATIVO=NÃO
For i = 1 To lstLista.ListItems.Count
If lstLista.ListItems.Item(i).SubItems(11) = [Ô]Não[Ô] Then
Me.lstLista.ListItems.Remove (i)
End If
Next i
Codigo = consulta(0)
End If
Boa Noite alvaro!
Após vários teste não sei como resolver isso agora!
Vou anexar o projeto com o que eu consegui fazer e com banco de dados real para fazer o teste.
Resumo rápido:
Total de animais 800 ai em maio vacino 782 animais
Então está faltando 18 animais para vacinar certo.
Ao coloca a data inicial e data final me traga só os 18 que não vacino exemplo 02/07/2014 ate o dia atual 02/07/2016.
Observando o resultado da pesquisa o total e de 11 animais MAS O CERTO E 18.
Se vc colocar a data inicial de 02/07/2014 e data final de 30/05/2016.
Traz o resultado de 18 que eu preciso.
MAS EU QUERO QUE TRAGA O RESULTADO DE 18 NO DIA ATUAL. (02/07/2016)
Se puder me ajudar eu agradeço!
Após vários teste não sei como resolver isso agora!
Vou anexar o projeto com o que eu consegui fazer e com banco de dados real para fazer o teste.
Resumo rápido:
Total de animais 800 ai em maio vacino 782 animais
Então está faltando 18 animais para vacinar certo.
Ao coloca a data inicial e data final me traga só os 18 que não vacino exemplo 02/07/2014 ate o dia atual 02/07/2016.
Observando o resultado da pesquisa o total e de 11 animais MAS O CERTO E 18.
Se vc colocar a data inicial de 02/07/2014 e data final de 30/05/2016.
Traz o resultado de 18 que eu preciso.
MAS EU QUERO QUE TRAGA O RESULTADO DE 18 NO DIA ATUAL. (02/07/2016)
Se puder me ajudar eu agradeço!
Jonas estarei pegando o seu projeto e dando uma olhada como que ficou, não consegui pegar antes, pois essa semana foi muito corrida para mim, tive que entregar 1 projeto e estou tentando resolver o problema de um outro
Jonas estou olhando o código aqui e realmente o sistema esta trazendo certinho o que vc esta mandando, a linha em questão é:
If VBA.Month(Me.lstLista.ListItems(i).SubItems(12)) < mes_anterior Or VBA.Year(Me.lstLista.ListItems(i).SubItems(12)) = ano_atual Then
Essa linha é que faz a diferença, porque assim, quando vc joga a data final 30-05-2016, ele compara o mês de vacinação(12-05-2016) estou usando a data da x232 - codigo 221,
Nesse caso ele compara mês / ano 05-2016 vacinação com o mês / ano (05-2016) data final e se por acaso o mês de vacinação for menor que o mês da data final, ele exclui da lista, por isso que quando vc coloca o a data final 02-07-2016, essa vaca é excluÃda, pois o mês 5 é menor que o mês 7
Experimenta colocar o código abaixo no lugar desse seu
If VBA.Month(Me.lstLista.ListItems(i).SubItems(12)) <= mes_anterior And VBA.Year(Me.lstLista.ListItems(i).SubItems(12)) = ano_atual Then [ô]Traz 18 sem vacinar
Depois vc me fala
Mudei poucas coisas, más com a explicação que te dei acima, vc deverá entender o porque do meu comando
qqer coisa me da um toque ok?!
If VBA.Month(Me.lstLista.ListItems(i).SubItems(12)) < mes_anterior Or VBA.Year(Me.lstLista.ListItems(i).SubItems(12)) = ano_atual Then
Essa linha é que faz a diferença, porque assim, quando vc joga a data final 30-05-2016, ele compara o mês de vacinação(12-05-2016) estou usando a data da x232 - codigo 221,
Nesse caso ele compara mês / ano 05-2016 vacinação com o mês / ano (05-2016) data final e se por acaso o mês de vacinação for menor que o mês da data final, ele exclui da lista, por isso que quando vc coloca o a data final 02-07-2016, essa vaca é excluÃda, pois o mês 5 é menor que o mês 7
Experimenta colocar o código abaixo no lugar desse seu
If VBA.Month(Me.lstLista.ListItems(i).SubItems(12)) <= mes_anterior And VBA.Year(Me.lstLista.ListItems(i).SubItems(12)) = ano_atual Then [ô]Traz 18 sem vacinar
Depois vc me fala
Mudei poucas coisas, más com a explicação que te dei acima, vc deverá entender o porque do meu comando
qqer coisa me da um toque ok?!
Boa Tarde Alvaro!
NOSSA MUITO OBRIGADO!
Caramba era só o [Ô]OR[Ô] que tava errado já fazia 4 dias que tava nisso e nada.
Para que possamos finalizar o fórum uma penúltima duvida.
Tem como no listview eu OCULTAR a coluna [Ô]ID[Ô] Não para EXCLUIR.
Porque isso.
Quando eu faço a busca exemplo brinco x243 ai no listview apareceu x243 ai eu dou 2 cliques ele puxa para o cadastro para eu cadastra uma nova vacina ele pega pelo ID.
Eu não preciso que mostre o id no listview mas que ele esteja lá.
Como faço isso?
NOSSA MUITO OBRIGADO!
Caramba era só o [Ô]OR[Ô] que tava errado já fazia 4 dias que tava nisso e nada.
Para que possamos finalizar o fórum uma penúltima duvida.
Tem como no listview eu OCULTAR a coluna [Ô]ID[Ô] Não para EXCLUIR.
Porque isso.
Quando eu faço a busca exemplo brinco x243 ai no listview apareceu x243 ai eu dou 2 cliques ele puxa para o cadastro para eu cadastra uma nova vacina ele pega pelo ID.
Eu não preciso que mostre o id no listview mas que ele esteja lá.
Como faço isso?
BOA NOITE ALVARO!
Após 2 anos de tentativas finalmente consegui finaliza o controle falta terminar mais coisas!
Queria te agradecer por tudo que você fez pelas horas que cedeu do seu tempo para poder me ajudar.
Me desculpe por qualquer coisa que tenha feito.
Te agradeço do fundo do meu coração valeu mesmo!
Antes de eu finalizar o tropico queria que olha-se porque na page 2 do multipage não sai pelo ESC só isso.
Após 2 anos de tentativas finalmente consegui finaliza o controle falta terminar mais coisas!
Queria te agradecer por tudo que você fez pelas horas que cedeu do seu tempo para poder me ajudar.
Me desculpe por qualquer coisa que tenha feito.
Te agradeço do fundo do meu coração valeu mesmo!
Antes de eu finalizar o tropico queria que olha-se porque na page 2 do multipage não sai pelo ESC só isso.
Jonas que bom que deu certo, depois que entendi o que a opção semvacina era para exibir, ficou fácil para achar o erro
Más vc entendeu o pq eu mudei o código e o pq deu certo com o meu código?
o importante é vc entender, pois isso irá acontecer novamente mais para frente em outros sistemas
Agora queria saber que multipage é esse que vc esta falando
Más vc entendeu o pq eu mudei o código e o pq deu certo com o meu código?
o importante é vc entender, pois isso irá acontecer novamente mais para frente em outros sistemas
Agora queria saber que multipage é esse que vc esta falando
No projeto eu não sei se vc percebeu mas e um multipage de 2 paginas
cadastro e pesquisa
cadastro = page1
pesquisa = page2
No cadastro apertando botão ESC do teclado fecha normal mas clicando na aba de pesquisar não fecha pelo botão ESC.
Porque que não fecha será?
cadastro e pesquisa
cadastro = page1
pesquisa = page2
No cadastro apertando botão ESC do teclado fecha normal mas clicando na aba de pesquisar não fecha pelo botão ESC.
Porque que não fecha será?
Certo, essa é fácil rsrsrs
O problema é que existem 2 botões com a opção cancel=true, então nessa ele fica perdido, nisso vc precisa direcionar o form para fazer o que vc quer
Vamos lá
Primeiro vc tem que colocar o comando unload me, no botão sair da página de pesquisa, pois não tem e coloque o nome dele de btnsair2
Deixe a propriedade dele cancel = false
Na página de cadastro deixe também a propriedade cancel do botão sair como False
Feito isso vamos orientar o que ele deve fazer, ok ?!
Vai lá no UserForm_Initialize e no final de tudo coloque o comando
btnSair.Cancel = True
Nesse caso quando o esc for pressionado na primeira aba, ele vai sair do programa
Depois de 2 cliques no seu multipage e vá na função click
Lá coloque o comando
If Index = 0 Then
btnSair.Cancel = True
btnSair2.Cancel = False
Else
btnSair.Cancel = False
btnSair2.Cancel = True
End If
Dessa forma quando alguém clicar na aba pesquisa, ele vai executar o comando acima, a aba pesquisa tem o index=1, então ele vai orientar o sistema a usar o botão sair2 e se voltarem para a aba cadastro, ele orienta a usar o botão sair
qqer coisa pode perguntar
O problema é que existem 2 botões com a opção cancel=true, então nessa ele fica perdido, nisso vc precisa direcionar o form para fazer o que vc quer
Vamos lá
Primeiro vc tem que colocar o comando unload me, no botão sair da página de pesquisa, pois não tem e coloque o nome dele de btnsair2
Deixe a propriedade dele cancel = false
Na página de cadastro deixe também a propriedade cancel do botão sair como False
Feito isso vamos orientar o que ele deve fazer, ok ?!
Vai lá no UserForm_Initialize e no final de tudo coloque o comando
btnSair.Cancel = True
Nesse caso quando o esc for pressionado na primeira aba, ele vai sair do programa
Depois de 2 cliques no seu multipage e vá na função click
Lá coloque o comando
If Index = 0 Then
btnSair.Cancel = True
btnSair2.Cancel = False
Else
btnSair.Cancel = False
btnSair2.Cancel = True
End If
Dessa forma quando alguém clicar na aba pesquisa, ele vai executar o comando acima, a aba pesquisa tem o index=1, então ele vai orientar o sistema a usar o botão sair2 e se voltarem para a aba cadastro, ele orienta a usar o botão sair
qqer coisa pode perguntar
Boa Noite alvaro!
Muito Obrigado!
Ultima coisa prometo kkkkkkk
Tentei alterar o Ãcone do Excel na barra do Windows como na imagem acima mas não consegui tem como fazer isso?
Fiz os teste e só deu certo quando eu fiz desta forma abaixo não sei porque mais deu.
Private Sub btnSair_Click()
Unload Me
End Sub
Private Sub btnSair2_Click()
Unload Me
End Sub
Private Sub btnSair2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii = 27 Then
Unload Me
End If
End Sub
Private Sub MultiPage1_Click(ByVal Index As Long)
[ô]Sair pelo ESC
If Index = 0 Then
btnSair.Cancel = True
btnSair2.Cancel = False
Else
btnSair.Cancel = False
btnSair2.Cancel = True
End If
End Sub
Private Sub UserForm_Initialize()
Call SetBackColor(MultiPage1.Pages(0), RGB(0, 128, 128)) [ô]azulescuro.
Call SetBackColor(MultiPage1.Pages(1), RGB(0, 128, 128)) [ô]azulescuro.
Me.MultiPage1.Value = 0
Call carregar_dados
Call carregar_dados2
Call DesabilitaControles
Me.btn_editar2.Enabled = True
Me.btn_cancelar2.Enabled = False
Me.btn_excluir.Enabled = False
Me.btn_alterando2.Enabled = False
Call carregar_opcao
Call carregar_opcaopesquisa
Call testa_id
Call btn_vai_primeiro_Click
Me.ProgressBar2.visible = True
Me.optDataNasc.Value = True
btnSair.Cancel = True
End Sub
Muito Obrigado!
Ultima coisa prometo kkkkkkk
Tentei alterar o Ãcone do Excel na barra do Windows como na imagem acima mas não consegui tem como fazer isso?
Fiz os teste e só deu certo quando eu fiz desta forma abaixo não sei porque mais deu.
Private Sub btnSair_Click()
Unload Me
End Sub
Private Sub btnSair2_Click()
Unload Me
End Sub
Private Sub btnSair2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii = 27 Then
Unload Me
End If
End Sub
Private Sub MultiPage1_Click(ByVal Index As Long)
[ô]Sair pelo ESC
If Index = 0 Then
btnSair.Cancel = True
btnSair2.Cancel = False
Else
btnSair.Cancel = False
btnSair2.Cancel = True
End If
End Sub
Private Sub UserForm_Initialize()
Call SetBackColor(MultiPage1.Pages(0), RGB(0, 128, 128)) [ô]azulescuro.
Call SetBackColor(MultiPage1.Pages(1), RGB(0, 128, 128)) [ô]azulescuro.
Me.MultiPage1.Value = 0
Call carregar_dados
Call carregar_dados2
Call DesabilitaControles
Me.btn_editar2.Enabled = True
Me.btn_cancelar2.Enabled = False
Me.btn_excluir.Enabled = False
Me.btn_alterando2.Enabled = False
Call carregar_opcao
Call carregar_opcaopesquisa
Call testa_id
Call btn_vai_primeiro_Click
Me.ProgressBar2.visible = True
Me.optDataNasc.Value = True
btnSair.Cancel = True
End Sub
Tópico encerrado , respostas não são mais permitidas