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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Relatorio do Access atraves do VB
Valmirmg
UBERLANDIA
MG - BRASIL
Postada em 03/08/2006 15:27 hs            
Galera, é o seguinte, tenho um sistema que gera um relatório direto do access, ou seja, o sistema conecta com o banco Access e abre o relatório feito direto no access, pois bem, a função que fiz funciona belezinha, mas com um problema, na primeira vez que mando abrir o relatorio ele abre beleza, mas na hora q eu fecho ele incrementa uma senha no banco de dados access, e não sei o pq esta acontecendo isso. na proxima vez q vou abrir, já não é possivel pois o banco esta protegido com senha.. alguem pode me explicar como que o access esta criando esta senha sempre no primeiro acesso ao relatorio, ou seja, sempre ocorre na primeira vez que estou utilizando e sempre na hora do fechamento da janela. abaixo segue o codigo que fiz para mostrar o relatorio do access


'Descrições das variaveis como parametro são:
   'strDbName - Caminho do Banco de Dados
   'NomeRelatorio - Nome do relatório a ser impresso no access

Function GeraRelatorio(strDbName As String, NomeRelatorio As String) As String

Dim RelatorioAccess As Object

If MsgBox("Deseja Vizualizar o Relatório antes de Imprimir?", vbYesNo, "Visualização") = vbYes Then
    Set RelatorioAccess = GetObject(strDbName, "Access.Application")
    strReportName = NomeRelatorio
    With RelatorioAccess
        .Visible = True
        .DoCmd.OpenReport strReportName, acViewPreview
        .DoCmd.Maximize
    End With
    Else
        Set RelatorioAccess = CreateObject("Access.Application")
        With RelatorioAccess
            .OpenCurrentDatabase FilePath:=strDbName
            .DoCmd.OpenReport ReportName:=NomeRelatorio
        End With
            MsgBox "Boletim impresso com Sucesso!", vbInformation
End If
End Function

---------------------------------
Valmir Ferreira Rocha
Sistemas de Informação
---------------------------------
     
>>|Bedin|<<
SANTO ANDRE
SP - BRASIL
Postada em 03/08/2006 20:08 hs            
Entre em modo exclusivo no seu BD e defina uma senha, depois:Private Sub IMPRIMIR_Click()strDbName = "C:ALUNOSBanco_Escola.mdb"MSG_IMPRIMIR = MsgBox("Deseja vizualizar o Boletim antes de Imprimir?", vbYesNoCancel, "Sistema Alunos") If MSG_IMPRIMIR = vbYes Then        Set RelatorioAccess = GetObject(strDbName, "Access.Application")        strReportName = "ALUNO"        With RelatorioAccess        .Visible = True         .DoCmd.OpenReport strReportName, acViewPreview, ""         .DoCmd.Maximize    End With Else  If MSG_IMPRIMIR = vbCancel Then    Exit Sub  Else    Set RelatorioAccess = CreateObject("Access.Application")           With RelatorioAccess       .OpenCurrentDatabase filepath:="C:ALUNOSBanco_Escola.mdb", bstrPassword:=" sua senha " 'Coloque aki a senha do Banco       .DoCmd.OpenReport ReportName:="ALUNO"    End With       MsgBox "Boletim impresso com Sucesso!", vbInformation, "Sistema Alunos"  End If End IfEnd Subhehe...

.:Rodrigo Bedin:.
     
>>|Bedin|<<
SANTO ANDRE
SP - BRASIL
Postada em 03/08/2006 20:16 hs            
Entre em modo exclusivo no seu BD e defina uma senha, depois:

Private Sub IMPRIMIR_Click()
strDbName = "C:Banco_Escola.mdb"

MSG_IMPRIMIR = MsgBox("Deseja vizualizar o Boletim antes de Imprimir?", vbYesNoCancel, "Sistema Alunos")

If MSG_IMPRIMIR = vbYes Then
    
    Set RelatorioAccess = GetObject(strDbName, "Access.Application")
    
    strReportName = "ALUNO"
    
    With RelatorioAccess
        .Visible = True
        .DoCmd.OpenReport strReportName, acViewPreview, ""
        .DoCmd.Maximize
    End With
Else
  If MSG_IMPRIMIR = vbCancel Then
    Exit Sub
  Else
    Set RelatorioAccess = CreateObject("Access.Application")
      
    With RelatorioAccess
       .OpenCurrentDatabase filepath:="C:Banco_Escola.mdb", bstrPassword:=" sua senha " 'Coloque aki a senha do Banco
       .DoCmd.OpenReport ReportName:="ALUNO"
    End With
       MsgBox "Boletim impresso com Sucesso!", vbInformation, "Sistema Alunos"
  End If
End If
End Sub


hehe...  

.:Rodrigo Bedin:.
TÓPICO EDITADO
   
Valmirmg
UBERLANDIA
MG - BRASIL
Postada em 04/08/2006 09:40 hs            
Amigo, neste codigo q me passou vc esta verificando a senha na impressão, e o meu problema esta na visualização, fiz diversos teste, e constatei q apartir do momento q entra nesse codigo
With RelatorioAccess
        .Visible = True
        .DoCmd.OpenReport strReportName, acViewPreview, ""
        .DoCmd.Maximize
End With

a senha é criada, pois qdo .DoCmd.Maximize posso olhar no banco que já esta com restrição de senha, se eu fechar, na proxima vez q abrir ele pedirá senha.

fiz varios teste tipo, desconectando o banco antes de abrir o relatório, e da na mesma., qdo eu defino uma senha para o banco de dados, eu preciso fazer a conecção, como faz quando ele tem senha.

---------------------------------
Valmir Ferreira Rocha
Sistemas de Informação
---------------------------------
     
>>|Bedin|<<
SANTO ANDRE
SP - BRASIL
Postada em 04/08/2006 11:23 hs            
DAO
Sub DAOAbrirBDProtegido()
  Dim DB As DAO.Database

  'O parâmetro pwd (q é a senha - 4o parâmetro) é case
  'sensitive (diferencia A de a) e - ao contrário do que
  'diz a documentação do VB - os parâmetros exclusive e
  'read-only (2o e 3o parâmetros) devem ser falsos.
  Set DB DBEngine.OpenDatabase(App.Path & "SeuBD.MDB", _
         False, False, ";pwd=senha")
  DB.Close
End Sub

ADO
Sub ADOAbrirBDProtegido()
  Dim CNN As New ADODB.Connection
  CNN.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
           "Data Source=" & App.Path &"SeuBD.MDB;Jet " & _
           "OLEDB:Database Password=senha;"
  CNN.Close
End Sub

'no codigo..
With RelatorioAccess
       .OpenCurrentDatabase filepath:="C:Banco_Escola.mdb", bstrPassword:="senha "

Onde "senha" é a sua senha. Quer dizer, subistitua "senha" pela senha do banco de dados.


fmz?!

.:Rodrigo Bedin:.
     
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