[Resolvido]Mensagem de "sem dados" após clicar em botão de pesquisa
cafpr em 1/11/2017, 03:55
Pesquisei mas não encontrei solução para a questão que é:
Há um formulário de pesquisa com campos data inicial e data final onde após inserir as datas há um botão de comando pesquisar e é ai
que necessito que após clicar neste botão e não haver dados aparecer uma mensagem de: Sem dados.
Re: [Resolvido]Mensagem de "sem dados" após clicar em botão de pesquisa
CassioFabre em 1/11/2017, 11:43
Voce pode, antes de fazer a pesquisa, fazer uma contagem na tabela com os parâmetros que deseja. Exemplo:
set rs = currentdb.openrecordset("SELECT COUNT([campo_tbl]) as c FROM [tbl] WHERE [parametros]")
If rs!c = 0 then
MsgBox "Nenhum dado encontrado para pesquisa!", vbExclamation, "Sem dados"
'aqui o código da pesquisa normal
FabioPaes em 1/11/2017, 15:17
Seria interessante o amigo postar como é realizado o Filtro. Pois se for realizado através de DAO.Recordset, não precisa nem realizar uma segunda consulta para contar o registro... Pode ser utilizado a propriedade BOF para determinar se o Recordset tem ou não dados... Se ele nao tiver, emite alerta. Se tiver, Segue...Assim, melhoramos o desempenho do nosso APP.
Veja mais aqui: msdn.microsoft.com/pt-br/library/office/ff821459.aspx
Set rs = DB.OpenRecordset("SELECT * FROm tb1 WHERE CampoCriterio='AAA'")
MsgBox "Nao Há dados"
rs.MoveNext: rs.MoveFirst
cafpr em 1/11/2017, 19:56
Em access 2013
ControleEstoque - Cópia.zip
(1.4 Mb) Baixado 15 vez(es)
CassioFabre em 3/11/2017, 09:29
É sempre bom informar que está usando formulário acoplados e não desacoplados como imaginamos. Basta usar 3 linhas de código e seu problema é resolvido. Substitua o código do botão filtrar pelo abaixo:
Private Sub Comando116_Click()
If Not IsNull(Me.DataInicial) And Not IsNull(Me.DataFinal) Then
Me.Filter = "[DataEntrada] Between #" & Format$(Me![DataInicial], _
"mm/dd/yyyy") & "# And #" & Format$(Me![DataFinal], "mm/dd/yyyy") & "#"
MsgBox "Não há dados para o filtro!", vbCritical, "Dados"
(1.4 Mb) Baixado 24 vez(es)
cafpr em 4/11/2017, 21:17
Você está certo, nas dúvidas postadas quanto mais detalhes melhor. Vou procurar lembrar-me.
Testei em outros forms acoplados e com códigos diferentes para filtrar e acrescentando ao final a expressão abaixo funciona perfeitamente.