MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

3 participantes

    [Resolvido]Problema em codigo para criar MsgBox

    Pedromelo
    Pedromelo
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 90
    Registrado : 13/07/2012

    [Resolvido]Problema em codigo para criar MsgBox Empty [Resolvido]Problema em codigo para criar MsgBox

    Mensagem  Pedromelo 30/5/2013, 22:34

    Boas.
    Estou a ter problema em um código que fiz e sinceramente não consigo ver onde esta o mal.
    Alguém me pode ajudar?
    Não sei se o problema e por minha base de dados estar com palavra passe.
    Se for eu uso o sistema de palavra encriptada na tabela com recurso a fncCrip.
    Set db = ws.OpenDatabase(caminho, False, False, ";PWD=" & fncCrip(DLookup("senha", "tblCaminhoBe"), 102030))

    Option Compare Database
    Option Explicit
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    -------------------------------------
    Dim strsql, Xc, first As String

    Xc = DLookup("Path_0", "tblCaminhoBe")

           strsql = "SELECT * from tblUsuários IN '" & Xc & "' where Usuario = " & Login.Usuario
           Set db = CurrentDb
           Set rs = db.OpenRecordset(strsql)
           
           If Not rs.BOF Then
           first = rs("Primeiro")
           Set db = Nothing
           Set rs = Nothing
           
    If first = False Then Exit Sub
    If MsgBox("Bem vindo" & Login.Usuario & "!" _
    & vbCrLf & "Esta fazendo login em:" & fOSMachineName() _
    & "e com Windows:" & MostraVersao & "." & vbCrLf _
    & "DESEJA GUARDAR ESTE PC COMO PRINCIPAL?" _
    , vbInformation, "Configuração") = vbNo Then Exit Sub
    rs.Edit
    rs("Primeiro") = False
    rs("PC") = fOSMachineName()
    rs("Ip") = MostraVersao
    rs.Update
    rs.Close
    End If
    Set db = Nothing
    Set rs = Nothing
    -------------------------------------


    Última edição por Pedromelo em 11/9/2021, 00:06, editado 1 vez(es)
    Pedromelo
    Pedromelo
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 90
    Registrado : 13/07/2012

    [Resolvido]Problema em codigo para criar MsgBox Empty Re: [Resolvido]Problema em codigo para criar MsgBox

    Mensagem  Pedromelo 31/5/2013, 15:05

    Ninguém consegue me dar uma ideia
    de como poderei resolver a questão?
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3780
    Registrado : 04/04/2010

    [Resolvido]Problema em codigo para criar MsgBox Empty Re: [Resolvido]Problema em codigo para criar MsgBox

    Mensagem  Avelino Sampaio 31/5/2013, 18:12

    Ficou confuso.

    Se vc usa esta linha

    Set db = ws.OpenDatabase(caminho, False, False, ";PWD=" & fncCrip(DLookup("senha", "tblCaminhoBe"), 102030))

    Experimente assim:

    Set db = ws.OpenDatabase(caminho, False, False, ";PWD=" & fncCrip(DLookup("senha", "tblCaminhoBe"), 102030))
    strsql = "SELECT * from tblUsuários WHERE Usuario = " & Login.Usuario
    Set rs = db.OpenRecordset(strsql)
    ...
    ...

    Sucesso!


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso irrestrito ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    Pedromelo
    Pedromelo
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 90
    Registrado : 13/07/2012

    [Resolvido]Problema em codigo para criar MsgBox Empty Re: [Resolvido]Problema em codigo para criar MsgBox

    Mensagem  Pedromelo 31/5/2013, 18:31

    Tenho uma outra função que usa essa linha:

    Option Compare Database
    Public db As DAO.Database
    Public ws As DAO.Workspace
    Private rs As DAO.Recordset
    Public SQL As String

    -------------------------------------------
    Public Function Desconectar()
    SQL = "Select * From 0Administração "
    SQL = SQL & "Where ID = 1"
    Set ws = DBEngine.Workspaces(0)

    Set db = ws.OpenDatabase(caminho, False, False, ";PWD=" & fncCrip(DLookup("senha", "tblCaminhoBe"), 102030))
    Set rs = db.OpenRecordset(SQL)
    Desconectar = rs!DesconectarTodos
    If Desconectar = True Then
    DoCmd.OpenForm "Desconectar"
    End If
    db.Close: Set bd = Nothing
    End Function


    Tentei adaptar esse codigo na função mas me da erro na linha a verde.

    Option Compare Database
    Public db As DAO.Database
    Public ws As DAO.Workspace
    Private rs As DAO.Recordset
    Public SQL As String
    -------------------------------------
    Dim first As String

    strsql = "SELECT * from tblUsuários where Usuario = " & Login.Usuario
    Set ws = DBEngine.Workspaces(0)
    Set db = ws.OpenDatabase(caminho, False, False, ";PWD=" & fncCrip(DLookup("senha", "tblCaminhoBe"), 102030))
    Set rs = db.OpenRecordset(SQL)

    If Not rs.BOF Then
    first = rs("Primeiro")
    Set db = Nothing
    Set rs = Nothing

    If first = False Then Exit Sub
    If MsgBox("Bem vindo" & Login.Usuario & "!" _
    & vbCrLf & "Esta fazendo login em:" & fOSMachineName() _
    & "e com Windows:" & MostraVersao & "." & vbCrLf _
    & "DESEJA GUARDAR ESTE PC COMO PRINCIPAL?" _
    , vbInformation, "Configuração") = vbNo Then Exit Sub
    rs.Edit
    rs("Primeiro") = False
    rs("PC") = fOSMachineName()
    rs("Ip") = MostraVersao
    rs.Update
    rs.Close
    End If
    Set db = Nothing
    Set rs = Nothing
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3780
    Registrado : 04/04/2010

    [Resolvido]Problema em codigo para criar MsgBox Empty Re: [Resolvido]Problema em codigo para criar MsgBox

    Mensagem  Avelino Sampaio 31/5/2013, 18:36

    Experimente omitir o ws e veja se funciona.

    'Set ws = DBEngine.Workspaces(0)
    Set db = OpenDatabase(caminho, False, False, ";PWD=" & fncCrip(DLookup("senha", "tblCaminhoBe"), 102030))


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso irrestrito ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    Pedromelo
    Pedromelo
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 90
    Registrado : 13/07/2012

    [Resolvido]Problema em codigo para criar MsgBox Empty Re: [Resolvido]Problema em codigo para criar MsgBox

    Mensagem  Pedromelo 31/5/2013, 19:29

    já tentei isso mas da erro.
    e não percebo porque funciona na função desconectar e não na que estou fazendo....
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3780
    Registrado : 04/04/2010

    [Resolvido]Problema em codigo para criar MsgBox Empty Re: [Resolvido]Problema em codigo para criar MsgBox

    Mensagem  Avelino Sampaio 31/5/2013, 19:51

    Se os códigos estiverem em módulos globais, basta publica a variavel uma unica vez, que servirá em todas as funções. O que pode esta havendo então é uma duplicidade das variáveis.

    Se for este o caso elimene a declaração das variáveis em um dos módulos

    Public db As DAO.Database
    Public ws As DAO.Workspace
    Private rs As DAO.Recordset
    Public SQL As String


    Ou como teste, altere o nome das variáveis

    Public db2 As DAO.Database
    Public ws2 As DAO.Workspace
    Private rs2 As DAO.Recordset
    Public SQL2 As String


    Aguardamos


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso irrestrito ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    Pedromelo
    Pedromelo
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 90
    Registrado : 13/07/2012

    [Resolvido]Problema em codigo para criar MsgBox Empty Re: [Resolvido]Problema em codigo para criar MsgBox

    Mensagem  Pedromelo 31/5/2013, 21:58

    Bom fiz algumas alterações e ja obtenho alguma coisa.
    alterei o codigo para o seguinte.

    Option Compare Database
    Option Explicit
    Dim db1 As DAO.Database
    Dim rs1 As DAO.Recordset
    Dim strsql As String
    Dim Xc As String

    --------------------------------------
    Xc = DLookup("Path_0", "tblCaminhoBe") '"[NomeBE] = 'STControl.accdb'")

    strsql = "SELECT * from tblUsuários IN '" & Xc & "' where Usuario = ' " & Login.Usuario & " ' "
    Set db1 = OpenDatabase(caminho, False, False, ";PWD=" & fncCrip(DLookup("senha", "tblCaminhoBe"), 102030))

    Set rs1 = db1.OpenRecordset(strsql)

    If Not rs1.BOF Then
    first = rs1("Primeiro")
    Set db1 = Nothing
    Set rs1 = Nothing

    If first = False Then Exit Sub
    If MsgBox("Bem vindo" & Login.Usuario & "!" _
    & vbCrLf & "Esta fazendo login em:" & fOSMachineName() _
    & "e com Windows:" & MostraVersao & "." & vbCrLf _
    & "DESEJA GUARDAR ESTE PC COMO PRINCIPAL?" _
    , vbInformation, "Configuração") = vbNo Then Exit Sub
    rs1.Edit
    rs1("Primeiro") = False
    rs1("PC") = fOSMachineName()
    rs1("Ip") = MostraVersao
    rs1.Update
    rs1.Close
    End If
    Set db1 = Nothing
    Set rs1 = Nothing
    Else
    MsgBox "Senha inválida." & vbCrLf & vbCrLf & "Redigite a senha ou entre em contato com o administrador.", vbInformation, "Aviso"
    Me!Senha = Null
    Me!Senha.SetFocus
    End If
    End With
    End Sub


    agora obtenho o seguinte erro na parte em verde

    Run-time error '3061'
    Poucos Parâmetros. 1 esperado.

    Ja descobri o erro. alterei o que esta a azul.
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3780
    Registrado : 04/04/2010

    [Resolvido]Problema em codigo para criar MsgBox Empty Re: [Resolvido]Problema em codigo para criar MsgBox

    Mensagem  Avelino Sampaio 31/5/2013, 22:16

    Vc não precisa da clausula IN'' pois já esta acessando a consulta pelo Opendatabase.

    Aonde está a variável "caminho" , que aponta para o seu back-end ?

    strsql = "SELECT * FROM tblUsuários WHERE Usuario = '" & Login.Usuario & "'"
    Set db1 = OpenDatabase(caminho, False, False, ";PWD=" & fncCrip(DLookup("senha", "tblCaminhoBe"), 102030))
    Set rs1 = db1.OpenRecordset(strsql)

    Aguardamos


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso irrestrito ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    Pedromelo
    Pedromelo
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 90
    Registrado : 13/07/2012

    [Resolvido]Problema em codigo para criar MsgBox Empty Re: [Resolvido]Problema em codigo para criar MsgBox

    Mensagem  Pedromelo 31/5/2013, 22:17

    estava me dando problema com a formula pra mostrar a versão do windows.
    mas ja encontrei o problema.

    Afinal já não esta a dar. não faz nada.....
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3704
    Registrado : 22/11/2016

    [Resolvido]Problema em codigo para criar MsgBox Empty Re: [Resolvido]Problema em codigo para criar MsgBox

    Mensagem  DamascenoJr. 7/9/2021, 18:56

    Pedro, conseguiu resolver essa questão?

    Aguardamos...


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.

      Data/hora atual: 24/9/2022, 19:46