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


4 participantes

    [Resolvido]Usar um arquivo .ini pra vincular tabelas de um banco SQL Server

    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]Usar um arquivo .ini pra vincular tabelas de um banco SQL Server Empty Usar um arquivo .ini pra vincular tabelas de um banco SQL Server

    Mensagem  Bred 19/2/2013, 07:01

    Bom dia a todos... pessoal tenho um projeto onde uso tabelas vinculadas de um banco de dados Sql Server. fiz a vinculação usando o assistente do próprio Access dai funciona bem... mas uso esse projeto em vario servidores com caminho, nome, senha de banco diferente ai toda vez tenho que abrir o código fonte pra fazer essa configuração, queria saber se existe uma forma de manter essa configuração em um arquivo .ini dessa forma só faria a alteração do .ini sem precisar abrir o o projeto em modo estrutura e expor o código pro cliente. Desde já ficarei muito grato pela atenção.
    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]Usar um arquivo .ini pra vincular tabelas de um banco SQL Server Empty Re: [Resolvido]Usar um arquivo .ini pra vincular tabelas de um banco SQL Server

    Mensagem  Cláudio Más 19/2/2013, 08:00

    Bom dia,

    Não sei se tem como fazer utilizando um .ini.

    Pode ser feito atualizando os vínculos das tabelas via vba, a string de conexão seria mais ou menos assim:

    "ODBC;Description=arquivo_dsn;DRIVER=SQL Server Native Client 10.0;SERVER=SERVIDOR,1433;UID=sa;PWD=senha;APP=Microsoft Office 2003;WSID=SERVIDOR;DATABASE=BDados;LANGUAGE=Português (Brasil);"""

    O código para atualizar os vínculos:

    Código:
    Dim dbs As Database
    Dim tdf As TableDef
    Dim strConn As String

    strConn = "ODBC;Description=arquivo_dsn;DRIVER=SQL Server Native Client 10.0;SERVER=SERVIDOR,1433;UID=sa;PWD=senha;APP=Microsoft Office 2003;WSID=SERVIDOR;DATABASE=BDados;LANGUAGE=Português (Brasil);"""

    ' Loop por todas as tabelas do banco de dados.
    Set dbs = CurrentDb
    For Each tdf In dbs.TableDefs

        ' Se a tabela tem uma seqüência de conexão, é uma tabela vinculada.
        If Len(tdf.Connect) > 0 Then
            If Left$(tdf.Connect, 5) = "ODBC;" Then tdf.Connect = strConn: tdf.RefreshLink
        End If

    Next tdf
    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]Usar um arquivo .ini pra vincular tabelas de um banco SQL Server Empty Re: [Resolvido]Usar um arquivo .ini pra vincular tabelas de um banco SQL Server

    Mensagem  Bred 19/2/2013, 08:15

    Amigo Claudio.... desde ja grato pela atenção.... mas dessa forma toda vez que mudar a configuração do servidor terei que abrir o codigo do modulo para alterar senha e caminho, sendo assim não resolveria a minha questão...pois quero torna essa configuração de forma que possa ser feita sem precisar abri o projeto no modo estrutura e altera direto no código.
    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]Usar um arquivo .ini pra vincular tabelas de um banco SQL Server Empty Re: [Resolvido]Usar um arquivo .ini pra vincular tabelas de um banco SQL Server

    Mensagem  Cláudio Más 19/2/2013, 08:40

    Para que servem os formulários? Smile
    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]Usar um arquivo .ini pra vincular tabelas de um banco SQL Server Empty Re: [Resolvido]Usar um arquivo .ini pra vincular tabelas de um banco SQL Server

    Mensagem  Bred 19/2/2013, 09:21

    Me desculpe Cláudio mas não íntedi sua pergunta....
    ?????
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Usar um arquivo .ini pra vincular tabelas de um banco SQL Server Empty Re: [Resolvido]Usar um arquivo .ini pra vincular tabelas de um banco SQL Server

    Mensagem  Avelino Sampaio 19/2/2013, 09:29

    O amigo claudio esta te dizendo que não perecisa abrir o seu Banco de dados no modo designer para alterar o caminho e/ou senha.

    Vc pode programar o seu aplicativo para abrir um formulário a assim inserir os dados necessários para a nova vinculação.

    Sucesso!


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Usar um arquivo .ini pra vincular tabelas de um banco SQL Server Empty Re: [Resolvido]Usar um arquivo .ini pra vincular tabelas de um banco SQL Server

    Mensagem  Avelino Sampaio 19/2/2013, 09:34

    Veja aqui um ideia neste meu artigo:

    http://www.usandoaccess.com.br/tutoriais/tuto13.asp?id=1#inicio

    Sucesso!


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    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]Usar um arquivo .ini pra vincular tabelas de um banco SQL Server Empty Re: [Resolvido]Usar um arquivo .ini pra vincular tabelas de um banco SQL Server

    Mensagem  Cláudio Más 19/2/2013, 09:47

    bred, complementando a resposta do Avelino.

    Você pode usar uma caixa de listagem para exibir as opções de servidores SQL Server num formulário.
    Ao clicar em um botão no formulário, execute o código que mencionei anteriormente montando a variável strConn conforme o item selecionado na caixa de listagem.
    Você tem conhecimento de vba?
    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]Usar um arquivo .ini pra vincular tabelas de um banco SQL Server Empty Re: [Resolvido]Usar um arquivo .ini pra vincular tabelas de um banco SQL Server

    Mensagem  Avelino João 19/2/2013, 10:48

    Veja nesse topico como eu uso conexao DNSLESS http://maximoaccess.forumeiros.com/t10264-access-sql-server


    .................................................................................
    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]Usar um arquivo .ini pra vincular tabelas de um banco SQL Server Empty Re: [Resolvido]Usar um arquivo .ini pra vincular tabelas de um banco SQL Server

    Mensagem  Bred 19/2/2013, 12:56

    ok.... Cláudio e Avelino entendi em parte... mas se eu quiser selecionar só algumas tabelas do banco, e não todas, também queria queria chamar as variaveis.
    SERVER=SERVIDOR,1433 => endereço ip e porta
    UID=sa => usuario
    PWD=senha => senha
    WSID=SERVIDOR => ?
    para buscar esse dados em uma tabela onde tenho que fazer as alterações no seu codigo. assim poderia criar um formulario onde posso fazer as configurações toda vez que eu precisar vincular as tabelas.
    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]Usar um arquivo .ini pra vincular tabelas de um banco SQL Server Empty Re: [Resolvido]Usar um arquivo .ini pra vincular tabelas de um banco SQL Server

    Mensagem  Avelino João 19/2/2013, 16:00

    Bred boa noite veja pode fazer dessa forma

    Option Compare Database
    '/ / Nome: AttachDSNLessTable
    '/ / Objetivo: Criar uma tabela vinculada ao SQL Server sem usar um DSN
    '/ / Parâmetros
    '/ StLocalTableName /: Nome da tabela que você está criando no banco de dados atual
    '/ StRemoteTableName /: Nome da tabela que você está ligando para o banco de dados SQL Server
    '/ StServer /: Nome do SQL Server que você está ligando
    '/ StDatabase /: Nome do banco de dados SQL Server que você está ligando
    '/ / StUsername: Nome do usuário do SQL Server que pode se conectar ao SQL Server, deixe em branco para usar uma conexão confiável
    '/ / StPassword: senha do usuário SQL Servidor

    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
    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={MySQL ODBC 5.1 Driver};SERVER=" & stServer & ";DATABASE=" & stDatabase & ";Trusted_Connection=Yes"
    Else
    '/ / AVISO: Isto irá poupar o nome de usuário ea senha com as informações da tabela vinculada.
    stConnect = "ODBC;Driver={MySQL ODBC 5.1 Driver};SERVER=" & stServer & ";DATABASE=" & stDatabase & ";UID=" & stUserName & ";PWD=" & stPassword & ";Option=3;"";INITSTMT=SET @@wait_timeout=28800"

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

    AttachDSNLessTable_Err:

    DoCmd.OpenForm "Config"
    'AttachDSNLessTable = False
    'MsgBox "AttachDSNLessTable encontrou um erro inesperado: " & Err.Description



    End Function
    Function CreateConnection()

    Dim strPasswd As String
    Dim strServer As String
    Dim strUser As String
    Dim strDB As String
    Dim strPort As String

    'strPasswd = "007"
    'strUser = "root"
    'strServer = "10.9.35.224"
    'strDB = "maestro"
    'strPort = "3306"
    strServer = DLookup("[Servidor]", "tbl_Config", "[ID_Config]=1") 'Servidor Web
    strUser = DLookup("[USServer]", "tbl_Config", "[ID_Config]=1") 'Usuário do banco de dados
    strPasswd = DLookup("[PWServer]", "tbl_Config", "[ID_Config]=1") 'Senha do banco de dados
    strDB = DLookup("[DbServer]", "tbl_Config", "[ID_Config]=1") 'Database
    strPort = DLookup("[Port]", "tbl_Config", "[ID_Config]=1") 'Porta do servidor

    'Rem error
    On Error Resume Next 'Tratamento de erro

    '"Essas tabelas devem ser ligados


    Set dummy = AttachDSNLessTable("venda", "venda", strServer, strDB, strUser, strPasswd)
    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]Usar um arquivo .ini pra vincular tabelas de um banco SQL Server Empty Re: [Resolvido]Usar um arquivo .ini pra vincular tabelas de um banco SQL Server

    Mensagem  Bred 20/2/2013, 08:11

    Avelino João ótimo conseguir adaptar seu código a minha aplicação e funcionou perfeitamente... se não for abusar muito... queria coloca pra abrir o formulário de configuração para abrir automaticamente toda vez que ocorrer algum erro de comunicação com o o sql server... sei que deve ser feito em uma das funções do modulo mas não sei o qual e nem como tratar o erro...
    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]Usar um arquivo .ini pra vincular tabelas de um banco SQL Server Empty Re: [Resolvido]Usar um arquivo .ini pra vincular tabelas de um banco SQL Server

    Mensagem  Avelino João 20/2/2013, 09:37

    Boa tarde veja no codigo que estou abrir um formulario em caso de erros DoCmd.OpenForm "Config"


    .................................................................................
    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]Usar um arquivo .ini pra vincular tabelas de um banco SQL Server Empty Re: [Resolvido]Usar um arquivo .ini pra vincular tabelas de um banco SQL Server

    Mensagem  Bred 20/2/2013, 09:51

    Ok João .... mas onde o em que parte do modulo aplico o comando DoCmd.OpenForm "Config"?
    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]Usar um arquivo .ini pra vincular tabelas de um banco SQL Server Empty Re: [Resolvido]Usar um arquivo .ini pra vincular tabelas de um banco SQL Server

    Mensagem  Bred 22/2/2013, 19:27

    Volto para agradecer a todos pela grande ajuda..... muitissimo obrigado a todos.

    Conteúdo patrocinado


    [Resolvido]Usar um arquivo .ini pra vincular tabelas de um banco SQL Server Empty Re: [Resolvido]Usar um arquivo .ini pra vincular tabelas de um banco SQL Server

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 21/11/2024, 19:27