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]Fonfigurara Conexão DSN Less via Formulario

    Bred
    Bred
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 115
    Registrado : 15/09/2010

    [Resolvido]Fonfigurara Conexão DSN Less via Formulario Empty Fonfigurara Conexão DSN Less via Formulario

    Mensagem  Bred 23/2/2013, 10:36

    Bom Dia a todos!

    Pessoal esto criando um projeto access onde faço a vinculação de tabelas de um banco sql server, bom a conexão funcionou perfeitamente, mas uso esse projeto para me conectar em banco diferente e logo cada banco tem senhas diferentes e cada então a cada conexão tenho que alterar as configurações da conexão ai criei um formulário de configuração para ser aberto toda vez que o projeto for aberto e não conseguir encontrar o sql server. mas ao invés de abri o meu forme ele abre uma tela de logon do próprio DSN Las. queria contar com a ajuda do fórum pra poder substituir o formulário do dsn less pelo meu formulário personalizado, pois ja faz sema que estou queimando neoronios e não conseguir nada, segue abaixo um exemplo do esta acontecendo. desde já fico grato pela atenção de todos.
    Anexos
    [Resolvido]Fonfigurara Conexão DSN Less via Formulario AttachmentDSN LESS.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (563 Kb) Baixado 68 vez(es)
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    [Resolvido]Fonfigurara Conexão DSN Less via Formulario Empty Re: [Resolvido]Fonfigurara Conexão DSN Less via Formulario

    Mensagem  Cláudio Más 25/2/2013, 20:18

    Na função AttachDSNLessTable, substitua:

    stConnect = "ODBC;DRIVER={SQL Native Client};SERVER=" & stServer & ";DATABASE=" & stDatabase & ";UID=" & stUserName & ";PWD=" & stPassword & ";Option=3;"

    por:

    stConnect = "ODBC;Provider=MSDASQL.1;DRIVER=SQL Server;SERVER=" & stServer & ";UID=" & stUserName & ";PWD=" & stPassword & ";DATABASE=" & stDatabase
    Bred
    Bred
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 115
    Registrado : 15/09/2010

    [Resolvido]Fonfigurara Conexão DSN Less via Formulario Empty Re: [Resolvido]Fonfigurara Conexão DSN Less via Formulario

    Mensagem  Bred 26/2/2013, 10:45

    Amigo Cláudio, antes de mais nada quero ser muito grato pela atenção ajuda que vem me dando, pois ainda continuarei precisarei muito conta vossa ajuda.

    Fiz as alterações na linha como você me indicou mas assim quando faço a simulação de ip, usuário, senha errados ele volta a abrir o logon do sql server.veja como ficou meu codigo:

    [Function AttachDSNLessTable(stLocalTableName As String, stRemoteTableName As String, stServer As String, stDatabase As String, Optional stUserName As String, Optional stPassword As String)

    On Error GoTo AttachDSNLessTable_Err
    Dim td As TableDef
    Dim stConnect As String


    For Each td In CurrentDb.TableDefs
    If td.Name = stLocalTableName Then
    ' deletar as tabelas local ao sair do sistema
    CurrentDb.TableDefs.Delete stLocalTableName
    End If
    Next

    'If Len(stUserName) = 0 Then
    '/ / Use autenticação confiável se stUsername não é fornecido.
    'stConnect = "ODBC; DRIVER ={SQL Native Client};SERVER=" & stServer & ";DATABASE=" & stDatabase & ";Trusted_Connection=Yes"
    'Else


    '/ / AVISO: Isto irá poupar o nome de usuário e a senha com as informações da tabela vinculada.
    'stConnect = "ODBC;DRIVER={SQL Native Client};SERVER=" & stServer & ";DATABASE=" & stDatabase & ";UID=" & stUserName & ";PWD=" & stPassword & ";Option=3;"
    stConnect = "ODBC;Provider=MSDASQL.1;DRIVER=SQL Server;SERVER=" & stServer & ";UID=" & stUserName & ";PWD=" & stPassword & ";DATABASE=" & stDatabase

    'End If

    Set td = CurrentDb.CreateTableDef(stLocalTableName, dbAttachSavePWD, stRemoteTableName, stConnect)
    CurrentDb.TableDefs.Append td
    AttachDSNLessTable = True
    Exit Function

    AttachDSNLessTable_Err:
    AttachDSNLessTable = False
    MsgBox "AttachDSNLessTable encontrou um erro inesperado: " & Err.Description

    End Function]

    Como você pode ver até a função que usa a autenticação confiavel eu desabilitei e nada
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    [Resolvido]Fonfigurara Conexão DSN Less via Formulario Empty Re: [Resolvido]Fonfigurara Conexão DSN Less via Formulario

    Mensagem  Cláudio Más 26/2/2013, 12:36

    bred, não sei se tem como evitar essa situação, a não ser informando corretamente os dados de conexão.
    Ou eu não entendi bem o problema.
    Bred
    Bred
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 115
    Registrado : 15/09/2010

    [Resolvido]Fonfigurara Conexão DSN Less via Formulario Empty Re: [Resolvido]Fonfigurara Conexão DSN Less via Formulario

    Mensagem  Bred 26/2/2013, 13:27

    Veja bem... eu queria substitui essa tela de configuração de logon pelo meu formulário, ou seja quando algumas das credenciais de acesso ao banco não estiver correto ao invés de abri o logon do sql server ele abrir o meu formulário onde eu informaria as credenciais correta como você pode ver no exemplo eu utilizo as credencias armazenadas em uma tabela.
    Claudio eu estava pensado o seguinte sera que tem a possibilidade de criar um modulo que testasse a conexão com o banco e esse teste retornasse uma com firmação de "sim" ou 'não" sendo assim nos poderiamos colcar na confirmação "não" para abrir o formalrio e na confirmação "sim" ele executaria a função AttachDSNLessTable dessa forma evitariamos essa situação, mas tem um prém não sei como por essa ideia na pratica. oque você acha?
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    [Resolvido]Fonfigurara Conexão DSN Less via Formulario Empty Re: [Resolvido]Fonfigurara Conexão DSN Less via Formulario

    Mensagem  Cláudio Más 26/2/2013, 13:33

    bred, essa seria a solução, tudo o que vc mencionou pode ser feito.
    O problema é evitar a tela de logon ao testar a conexão com algum dado incorreto, acho que não tem como. Isso fatalmente vai ocorrer (abrir a tela de logon do SQL Server).
    Ou seja, o formulário serviria apenas para informar os dados corretos de conexão.
    Avelino João
    Avelino João
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Angola
    Mensagens : 316
    Registrado : 10/03/2012

    [Resolvido]Fonfigurara Conexão DSN Less via Formulario Empty Re: [Resolvido]Fonfigurara Conexão DSN Less via Formulario

    Mensagem  Avelino João 26/2/2013, 13:51

    bred boa tarde no código que eu postei tinha um formulário que abre em caso de erro de conexão, agora tu pode ultrapassar isso de outra forma mais profissional, porque não criar uma tabela em tempo de execução no front – end e ter outra tabela no servidor com os dados de acesso do servidor e importar esses mesmo dados para tabela do front –end quando você tiver a carregar o sistema ao sair é só eliminar essa mesma tabela, veja o código abaixo.
    Codigo para criar tabela

    Function ModCreateTable()

    SQL = "CREATE TABLE tbl_Config" & _
    "(ID_Config AUTOINCREMENT, " & _
    "Servidor VARCHAR(225) NOT NULL, " & _
    "USServer VARCHAR(100) NOT NULL," & _
    "PWServer VARCHAR(50) NOT NULL," & _
    "DbServer VARCHAR(100) NOT NULL," & _
    "Port VARCHAR(20) NOT NULL," & _
    "Obs VARCHAR(255) NOT NULL," & _
    "CONSTRAINT PK_ID_Config PRIMARY KEY (ID_Config))"
    DoCmd.RunSQL SQL 'Criação de table com três campos + chave primária (com identity)
    End Function
    Codigo para copiar dado do servidor

    Function Copserver()
    Dim Con As New ADODB.Connection
    Dim rstADO As New ADODB.Recordset
    Dim rstDao As DAO.Recordset
    Con.ConnectionString = "DRIVER={MySQL ODBC 5.1 Driver};SERVER=127.0.0.1;PORT=3306;" _
    & "DATABASE=maestro;UID=root;PASSWORD=007;OPTION=3;"

    Con.Open
    rstADO.Open "SELECT * FROM tblserver", Con, adOpenStatic, adLockOptimistic
    Set rstDao = CurrentDb.OpenRecordset("SELECT * FROM tbl_Config")

    Do Until rstADO.EOF
    rstDao.AddNew
    'copiar os campos, registo por registo
    rstDao("ID_Config").Value = rstADO("ID_Config").Value
    rstDao("Servidor").Value = rstADO("Servidor").Value
    rstDao("USServer").Value = rstADO("USServer").Value
    rstDao("PWServer").Value = rstADO("PWServer").Value
    rstDao("DbServer").Value = rstADO("DbServer").Value
    rstDao("Port").Value = rstADO("Port").Value
    rstDao("Obs").Value = rstADO("Obs").Value
    rstDao.Update
    rstADO.MoveNext
    Loop

    Con.Close
    End Function






    .................................................................................
    Proaccess - Angola
    Bred
    Bred
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 115
    Registrado : 15/09/2010

    [Resolvido]Fonfigurara Conexão DSN Less via Formulario Empty Re: [Resolvido]Fonfigurara Conexão DSN Less via Formulario

    Mensagem  Bred 26/2/2013, 16:32

    Boa Tarde ... Caro amigo Avelino João, esto a analisar o código ao um bom tempo e não conseguir compreender em que situação posso adapta-lo ao meu problema, pois j´tenho uma tabela no front-end onde armazeno dados, como você pode ver no exemplo que postei no inicio do tópico.
    Avelino João
    Avelino João
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Angola
    Mensagens : 316
    Registrado : 10/03/2012

    [Resolvido]Fonfigurara Conexão DSN Less via Formulario Empty Re: [Resolvido]Fonfigurara Conexão DSN Less via Formulario

    Mensagem  Avelino João 26/2/2013, 16:44

    bred veja que estou a criar a tabela sempre que eu carrega o programa ela importa os dados de configuração do servidor que esta na tabela no servidor ao sair do sistema voce destrui a tabela dessa forma voce não precisa usar um formulario para configura o acesso ao servidor também evita de andar em toda as estações para configurar o sistema, basta cadastrar o acesso do servidor na tabela que esta no servidor.


    .................................................................................
    Proaccess - Angola
    Bred
    Bred
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 115
    Registrado : 15/09/2010

    [Resolvido]Fonfigurara Conexão DSN Less via Formulario Empty Re: [Resolvido]Fonfigurara Conexão DSN Less via Formulario

    Mensagem  Bred 26/2/2013, 17:08

    Avelino até ai estou conseguindo entender, mas vamos supor que eu execute esse projeto para conectar em outro banco com conexão de ip e credenciais de de login diferente ai ai eu teria que alterar o código do modulo manualmente ou tentar logar pela tela de login do sql server ai eu voltaria a ter o mesmo problema, certo? se estiver errado por favor corrija-me pois sou iniciante.
    Avelino João
    Avelino João
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Angola
    Mensagens : 316
    Registrado : 10/03/2012

    [Resolvido]Fonfigurara Conexão DSN Less via Formulario Empty Re: [Resolvido]Fonfigurara Conexão DSN Less via Formulario

    Mensagem  Avelino João 27/2/2013, 08:36

    Não precisa mudar o endereço no modulo basta mudar na tabela ola pode tambem criar uma tabela para o modulo que copia os dados no servidor


    .................................................................................
    Proaccess - Angola
    Bred
    Bred
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 115
    Registrado : 15/09/2010

    [Resolvido]Fonfigurara Conexão DSN Less via Formulario Empty Re: [Resolvido]Fonfigurara Conexão DSN Less via Formulario

    Mensagem  Bred 27/2/2013, 12:19

    estou adaptando assim que tiver um resultado lhe informarei....
    Bred
    Bred
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 115
    Registrado : 15/09/2010

    [Resolvido]Fonfigurara Conexão DSN Less via Formulario Empty Re: [Resolvido]Fonfigurara Conexão DSN Less via Formulario

    Mensagem  Bred 4/3/2013, 10:44

    antes de mais nada quero agradecer o ao claudio e o avelino, que me deram uma força enorme...
    apesar de não conseguir resolver o problema vou marcar como resolvido, cheguei a conclusão de o access não tem recursos suficiente para adicionar a função que queria.

    mais uma vez obrigado a todos.
    Avelino João
    Avelino João
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Angola
    Mensagens : 316
    Registrado : 10/03/2012

    [Resolvido]Fonfigurara Conexão DSN Less via Formulario Empty Re: [Resolvido]Fonfigurara Conexão DSN Less via Formulario

    Mensagem  Avelino João 4/3/2013, 13:54

    bred boa tarde access tem muito recursos suficiente é só voce ser criativo ola estou a postar um exemplo do Danny Lesandrini que tem haver com tua duvida tenho tido pouco tempo mostra-te como resolver o teu problema brevemente irei lançar um software com front-end em access pra você ver a verdadeira capacidade do Ms Access, nesse exemplo voce exporta as tabelas para o servidor para poder fazer o link tens já tabela no front-end para voltar vincular basta fazer login no formulário.
    Qualquer duvida acessa o link abaixo

    databasejournal.com/features/mssql/article.php/1491011/ODBC-DSN-Less-Connection-Tutorial.htm
    Copiar link e colar no navegador
    Anexos
    [Resolvido]Fonfigurara Conexão DSN Less via Formulario Attachmentodbc_link.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (39 Kb) Baixado 147 vez(es)


    .................................................................................
    Proaccess - Angola
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    [Resolvido]Fonfigurara Conexão DSN Less via Formulario Empty Re: [Resolvido]Fonfigurara Conexão DSN Less via Formulario

    Mensagem  Cláudio Más 5/3/2013, 14:39

    Na segunda página do link postado pelo Avelino João tem a função ValidateConnectString(), que serve para evitar a tela de login do SQL Server quando os parâmetros de conexão estiverem errados.

    Conteúdo patrocinado


    [Resolvido]Fonfigurara Conexão DSN Less via Formulario Empty Re: [Resolvido]Fonfigurara Conexão DSN Less via Formulario

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 24/11/2024, 13:09