none
Abertura de mdb protegido por mdw via código RRS feed

  • Pergunta

  • Eu utilizo uma consulta inclusão para inserir dados em uma mdb protegido por mdw.
    Com o código abaixo, postado no site de nosso amigo JR eu abro a conexão com esse mdb.

    Sub AbreDBProtegido(ByVal strMDWPath As String, _
    ByVal strUser As String, ByVal strPwd As String, _
    ByVal strMDBPath As String)

    On Error GoTo Trata_Err
    ' Escrito por Joao Rodrigues (JR)
    ' http://www.accessjr.cjb.net - JUN/2002.

    ' strMDWPath - caminho do arquivo MDW.
    ' strUser - nome do usuário.
    ' strPwd - senha do usuário.
    ' strMDBPath - caminho do arquivo MDB/MDE.

    Dim cnn As New ADODB.Connection, strCnn As String

    ' Define a string de conexão.
    strCnn = "Provider=Microsoft.Jet.OLEDB.4.0;" _
    & "Password=" & strPwd & ";User ID=" & strUser _
    & ";Data Source=" & strMDBPath & ";Mode=" &adModeReadWrite &";" _
    & "Jet OLEDBTongue Tiedystem database=" & strMDWPath

    cnn.ConnectionString = strCnn
    cnn.Open ' UserID e Password poderiam ser passados
    ' aqui também.

    Sai:
    If cnn.State = adStateOpen Then
    'aqui eu executo minha consulta
    DoCmd.OpenQuery "Consulta1"
    cnn.Close ' Libera recursos.
    End If
    Set cnn = Nothing ' Libera recursos.
    Exit Sub

    Trata_Err:
    MsgBox Err.Description, vbCritical, Err.Source
    Resume Sai
    End Sub


    O que ocorre é que ao executar a consulta, ele informa que não há privilegios para inserir dados na tabela.

    Algume podeira me dar uma luz no que eu estou fazendo errado.

    Observo que o usuário que abre o mdb, realmente não tem privilegio para acessar essa tabela. Essa operação é feita de forma "oculta" pelo aplicativo para controlar os usuarios que estão acessando o sistema. No código eu utilizo os dados para acessar corretamente o mdb protegido.

    quinta-feira, 21 de junho de 2007 17:33

Respostas

  • Olá,

     

    veja se usar cnn.Execute em vez de DoCmd.OpenQuery resolve. Não testei, mas faz mais sentido, pois usa o objeto de conexão que você abriu.

    sexta-feira, 22 de junho de 2007 05:34
    Moderador