AJUDAR EM CONSULTA SQL!

JONASJTG 29/06/2016 12:15:22
#464278
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

JONASJTG 02/07/2016 01:35:34
#464418
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!
ALVAROVB2009 02/07/2016 13:04:56
#464429
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
ALVAROVB2009 02/07/2016 14:47:31
#464432
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?!
JONASJTG 02/07/2016 15:54:55
#464433
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?
JONASJTG 02/07/2016 23:14:57
#464437
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.
ALVAROVB2009 04/07/2016 19:31:43
#464477
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
JONASJTG 04/07/2016 22:22:01
#464481
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á?
ALVAROVB2009 05/07/2016 21:27:23
#464512
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
JONASJTG 07/07/2016 18:22:40
#464622
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






Página 6 de 7 [65 registro(s)]
Tópico encerrado , respostas não são mais permitidas