Ir para conteúdo
Fórum Script Brasil
  • 0

Executar sem abrir o access


Sal da Terra

Pergunta

Boa tarde pessoal,

Estou querendo saber dos profissionais de access, se é possivel eu fazer um script que verifique a data atual do sistema e compare com a data de um registro em uma determinada tabela, e então se foram iguais, que ele então grave em outra tabela! Mas sem precisar abrir o access e nem programa nenhum... é possivel isso? porque o cliente não usa todos os dias o sistema, então não tem como ele ativar nada...

Aguardo resposta!

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

Coloque em um módulo:

Private Declare Function IsWindowVisible Lib "user32" (ByVal hWnd As Long) As Long

Dim dwReturn As Long

'estas constantes já estão declaradas em outro módulo

'Public Const SW_HIDE = 0

'Public Const SW_SHOWNORMAL = 1

'Public Const SW_SHOWMINIMIZED = 2

'Public Const SW_SHOWMAXIMIZED = 3

'esta API também é usada em outros módulos e/ou procedimentos

Declare Function ShowWindow Lib "user32" (ByVal hWnd As Long, _

ByVal nCmdShow As Long) As Long

Public Function fAccessWindow(Optional Procedure As String, Optional SwitchStatus As Boolean, Optional StatusCheck As Boolean) As Boolean

If Procedure = "Hide" Then

dwReturn = ShowWindow(Application.hWndAccessApp, SW_HIDE)

End If

If Procedure = "Show" Then

dwReturn = ShowWindow(Application.hWndAccessApp, SW_SHOWMAXIMIZED)

End If

If Procedure = "Minimize" Then

dwReturn = ShowWindow(Application.hWndAccessApp, SW_SHOWMINIMIZED)

End If

If SwitchStatus = True Then

If IsWindowVisible(hWndAccessApp) = 1 Then

dwReturn = ShowWindow(Application.hWndAccessApp, SW_HIDE)

Else

dwReturn = ShowWindow(Application.hWndAccessApp, SW_SHOWMAXIMIZED)

End If

End If

If StatusCheck = True Then

If IsWindowVisible(hWndAccessApp) = 0 Then

fAccessWindow = False

End If

If IsWindowVisible(hWndAccessApp) = 1 Then

fAccessWindow = True

End If

End If

End Function

=====

Uso: Call fAccessWindow ("Hide",False,False)

Como é um código que irá ser executado após o Access abrir, a janela principal do Access pode aparecer por alguns instantes, antes do código ser executado, para evitar isso coloque na propriedade do ícone de atalho da tua aplicação, em Executar =Minimizado.

Link para o comentário
Compartilhar em outros sites

  • 0

Mas ele não quer abrir o access pois o cliente não usa todo dia o sistema.

O que você pode fazer é colocar um serviço no windows que faça isso todo dia, mas pra isso o computador tem que ou ficar ligado direto ou ser ligado todo dia. Esse serviço pode usar a DLL do access para se conectar e verificar o arquivo mas sem abrí-lo, pois o seu serviço faria a leitura do arquivo mdb, mas pra isso logicamente você precisaria gerar o executável win32 disso usando outra linguágem de programação.

Link para o comentário
Compartilhar em outros sites

  • 0

Amigo os comandos acima servem para deixar o banco de dados com cara de profissional ele pode abrir quando for o caso é so fazer um link na áre a de trabalho e executar minimizado

sei lá....o o meu fiz isso pois fica bem melhor trabalhar assim com aparencia de programa mesmo

abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Olá Andy! Interessante este código. Entrei pra procurar outra resposta e esta foi últil também. Funciona também na versão access 2007 e 2010?

Insiro todo este código num único módulo?

Obrigada!

Coloque em um módulo:

Private Declare Function IsWindowVisible Lib "user32" (ByVal hWnd As Long) As Long

Dim dwReturn As Long

'estas constantes já estão declaradas em outro módulo

'Public Const SW_HIDE = 0

'Public Const SW_SHOWNORMAL = 1

'Public Const SW_SHOWMINIMIZED = 2

'Public Const SW_SHOWMAXIMIZED = 3

'esta API também é usada em outros módulos e/ou procedimentos

Declare Function ShowWindow Lib "user32" (ByVal hWnd As Long, _

ByVal nCmdShow As Long) As Long

Public Function fAccessWindow(Optional Procedure As String, Optional SwitchStatus As Boolean, Optional StatusCheck As Boolean) As Boolean

If Procedure = "Hide" Then

dwReturn = ShowWindow(Application.hWndAccessApp, SW_HIDE)

End If

If Procedure = "Show" Then

dwReturn = ShowWindow(Application.hWndAccessApp, SW_SHOWMAXIMIZED)

End If

If Procedure = "Minimize" Then

dwReturn = ShowWindow(Application.hWndAccessApp, SW_SHOWMINIMIZED)

End If

If SwitchStatus = True Then

If IsWindowVisible(hWndAccessApp) = 1 Then

dwReturn = ShowWindow(Application.hWndAccessApp, SW_HIDE)

Else

dwReturn = ShowWindow(Application.hWndAccessApp, SW_SHOWMAXIMIZED)

End If

End If

If StatusCheck = True Then

If IsWindowVisible(hWndAccessApp) = 0 Then

fAccessWindow = False

End If

If IsWindowVisible(hWndAccessApp) = 1 Then

fAccessWindow = True

End If

End If

End Function

=====

Uso: Call fAccessWindow ("Hide",False,False)

Como é um código que irá ser executado após o Access abrir, a janela principal do Access pode aparecer por alguns instantes, antes do código ser executado, para evitar isso coloque na propriedade do ícone de atalho da tua aplicação, em Executar =Minimizado.

Link para o comentário
Compartilhar em outros sites

  • 0

Oi, Andy!

Eu tentei, mas não deu certo. Eu só criei um modulo como "MinimizaAccess" e colei o seu codigo lá dentro. Está certo? Precisa fazer mais alguma coisa além de mandar o access executar minimizado?

Valeu, Andy! Vou fazer isso!

E, por caso, você viu meu outro post? Sobre excluir tabelas no access na versão 2007?? Pode me ajudar com este também, por favor?

Preciso muito desta resposta!

AbÇ!

Rob.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...