Jump to content
Fórum Script Brasil
  • 0

Executar sem abrir o access


Sal da Terra

Question

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 to comment
Share on other sites

10 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

  • 0

Amigo R.Rubin você deve ir nas propriedades do primeiro formulario no evento ao carregar e colocar o modulo call que está ai

propriedades do formulario que abre em primeiro lugar no item ao carregar depis cole o codigo

Call fAccessWindow ("Hide",False,False)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...