USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Compactar banco mdb com senha via código.
EdsonZanatta
PORTO FERREIRA
SP - BRASIL
Postada em 02/06/2004 19:32 hs            
Quero implementar uma rotina, para compactar o banco via código, para precaver possíveis erros. através de uma checagem entre 4 ou 5 dias, logo no primeiro acesso ao sistema, ocorre o bloqueio do banco, a compactação, e em seguida o sistema ja é liberado para uso. Se alguém puder ajudar ?
     
Vaughyman
RIO DE JANEIRO
RJ - BRASIL
Postada em 02/06/2004 20:49 hs            
Uso essa sem problemas:
 
'Iniciamos o tratamento de erros.
  'Se algo der errado, vamos para a linha indicada.
  On Error GoTo ErroCompactar
  'Declaramos as variáveis
  Dim JR As New JRO.JetEngine
  Dim S_DbNome As String, S_DbTemp As String
S_DbNome = C:OndeEstaSuaBaseDeDados '"C:BaseDeDadosBD.mdb"
 S_DbTemp = App.Path & "BDTemporario.mdb"
'Descobrimos se o Arquivo Temp existe...
  If Dir$(S_DbTemp) <> "" Then
    'Se existe, deletamos (vide *Kill lá em baixo)
    Call Kill(S_DbTemp)
  End If
 'Compactamos o banco de dados com o
  'nome de Arquivo Temp
  JR.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                     "Data Source=" & S_DbNome & ";", _
                     "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                     "Data Source=" & S_DbTemp & ";Jet." & _
                     "OLEDB:Engine Type = 5;"
  'Este "Engine Type" no final indica a versão do Access que está
  'sendo usada. Veja os valores e as versões correspondentes:
  '5 (Defaut) para Access 2000
  '4 para Access 97
  '3 para Access 95/6
  '2 para Access 2
  '1 para Access 1
'Se Arquivo Original existir...
  If Dir$(S_DbNome) <> "" Then
    'deleta
    Call Kill(S_DbNome)
  End If
'Aqui, vc poderia usar a instrução
  'Name (vide *Name lá em baixo)
  JR.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                     "Data Source=" & S_DbTemp & ";", _
                     "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                     "Data Source=" & S_DbNome & ";Jet." & _
                     "OLEDB:Engine Type = 5;"
'Se chegamos até aqui, avisa ao usuário que
  'tudo correu bem...
 ' MsgBox "Compactação do Banco de Dados " & _
         S_DbNome & " executada com sucesso.", _
         vbOKOnly + vbInformation, "Compactação"
  Set JR = Nothing
Call Kill(S_DbTemp)
Exit Sub
ErroCompactar:
 'Se caiu aqui, é porque houve erro. Avise ao usuário.
  MsgBox "Houve um erro inesperado ao compactar a " & _
         "Base de Dados. Pode haver usuários conectados a ela.", vbOKOnly + vbInformation, _
         "Compactação"
  'Limpa o erro. Não é obrigatório mais é de bom
  'costume fazer.
  Err.Clear

"IF FUNCIONOU = TRUE THEN Emoções

     BLOQUEIE O POST

ELSE Emoções

    POST NOVAMENTE INFORMANDO O QUE ACONTECEU

ENDIF Emoções

     
Rochª
Pontos: 2843 Pontos: 2843 Pontos: 2843
RIO DE JANEIRO
RJ - BRASIL
Postada em 02/06/2004 22:31 hs            

__________________________________________________________________________
Qualquer coisa post
 
Emoções
Rochª
     
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página