Inquiridor
Data de vencimento

Pergunta
-
Pesoal, desculpe minha ignorância, sou novo em Access e estou com um probleminha aqui. Tenho um banco de dados com uma tabela entrada e vários campos, nome, endereço..., ...data de entrada e data de entrega. Preciso que o sistema me avise quando a data de entrega = ou < que a data atual, pois não posso deixar o serviço vencer, seria algo mais ou menos assim:
Se data de entrega <= data atual entao
Avise (MsgBox) "o servico tal da empresa tal datado para o dia tal está atrazado, verifique o que acontexeu!"
Fim_se, já criei uma consulta para pesquisar o banco de dados e ver se conseguia, mas foi em vão.
Esta é a instrução que criei:
If DCount("*", "vencidos") > 0 Then
v = DLookup("saida", "vencidos")
s = DLookup("servico", "vencidos")
c = DLookup("nome", "vencidos")
MsgBox "O Serviço intitulado " & s & " da empresa " & c & " previsto para o dia " & v & " Está vencido, favor dar uma importância maior" 'Inicia a mensagem
End If
e esta é a consulta:SELECT basededadosdeentrada.nome, basededadosdeentrada.servico, basededadosdeentrada.saida
FROM basededadosdeentrada
WHERE CDate(saida)<=CDate(Date)
ORDER BY basededadosdeentrada.saida;Alguém pode me ajudar?
Meu access é o 2003
sexta-feira, 23 de fevereiro de 2007 17:32
Todas as Respostas
-
Oi Claudionir,
crie uma consulta simples, trazendo todos os campos de sua tabela de serviços e coloque a seguinte expressão na linha de critério da coluna Entrega:
<=Date()
Desta forma a consulta só trará os itens vencidos (ou que estejam vencendo na data).
Crie um formulário para exibir os registros desta consulta e mande-o abrir na inicialização do aplicativo.
quarta-feira, 28 de fevereiro de 2007 03:16Moderador -
Então, eu já tenho um formulário que exibe estes dados e não preciso que a consulta busque todos os dados, eu preciso que ela busque só o Nome do Cliente, o Serviço e a data de vencimento, d' ai ao invés de exibir estes dados em um formulário eu quero que apareça apenas uma message dizendo "O serviço Tal, do Cliente Tal, venceu em Tal data, favor verificar o que deve ser feito para concluir este serviço" Entendeu?
Já tenho uma consulta com estes parâmetros ela chama-se vencidos (veja):
SELECT [nome], [servico], [saida]
FROM basededadosdeentrada
WHERE [saida] <= Date()
ORDER BY [saida], [nome], [servico];Dim data_atual As Date ' variável que armazenará a data do sistema no aplicativo
data_atual = Format(data_atual, dd / mm / yyyy) ' Atribuição da variável acima no formado 03/01/1976 por exemplo
Dim cliente As String ' variável que vai pegar os dados do campo nome na tabela
cliente = vencidos.nome.coumt ' atribuição da variável aima
Dim descricao As String ' variável que vai pegar os dados do campo servico na tabela
descricao = vencidos.servico.coumt ' atribuição da variável aima
Dim vencimento As String ' variável que vai pegar os dados do campo vencido na tabela
vencimento = vencido.saida.count ' atribuição da variável aima
If vencimento.Value <= data_atual Then ' instrução que compara se a data atual é igual ou maior que a do vencimento
MsgBox "O serviço intitulado " & descricao & " agendado para " & vencimento & " da empresa " & cliente & " está vencido, favor dar uma atenção especial a este serviço"
End IfPode me dizer o que está errado?
quarta-feira, 28 de fevereiro de 2007 17:56 -
Oi Claudionir,
se houver vários registros de serviços vencidos, como pretende exibir?
MsgBox sucessivas não são boa prática, o melhor seria exibir um aviso com todos os itens. Por este motivo eu sugeri usar um formulário. Você pode configurá-lo para se parecer com uma MsgBox, colocando Popup=True, Modal=True e borda tipo diálogo.
quarta-feira, 28 de fevereiro de 2007 23:18Moderador