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


2 participantes

    [Resolvido] Vincular uma única tabela

    brunogor
    brunogor
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 273
    Registrado : 24/02/2013

    [Resolvido] Vincular uma única tabela Empty [Resolvido] Vincular uma única tabela

    Mensagem  brunogor 12/3/2016, 21:40

    Viva a todos,

    Quero vincular somente uma tabela das que se encontram no BE.

    Teno o seguinte código a funcionar, problema é que vincula todas as tabelas:
    Código:
    Dim BarraEscala As Single
    Dim j%, k%, Evento%, A%
    Dim Conn As String
    Dim tbl As dao.TableDef
    Dim tb As dao.TableDef
    Dim BE As dao.Database
    Dim T() As String
    Dim pula As Boolean
    Dim Sf As Variant

    '--------------------------------------------------------------------------------------------------------------------
    '           Deleta todas as tabelas vinculadas
                For Each tbl In CurrentDb.TableDefs
                    If Len(tbl.Connect & "") > 0 Then
                        DoCmd.DeleteObject acTable, tbl.Name
                    End If
                Next
      
    '           Conta o número de tabelas existentes no back-end
                k = 0
                For Each tbl In BE.TableDefs
                    If left(tbl.Name, 4) <> "MSys" And left(tbl.Name, 4) <> "Usys" Then
                        k = k + 1
                    End If
                Next

    '--------------------------------------------------------------------------------------------------------------------
                For Each tbl In BE.TableDefs
                    If left(tbl.Name, 4) <> "MSys" And left(tbl.Name, 4) <> "Usys" Then
                        For A = 1 To UBound(T)

    '                       verifica se a tabela já foi vinculada
                            If T(A) = tbl.Name Then pula = True
                        Next
                        If pula = False Then

    '                       vincula a tabela
                            Set tb = CurrentDb.CreateTableDef(tbl.Name)

                            tb.Connect = Conn
                            tb.SourceTableName = tbl.Name

                            CurrentDb.TableDefs.Append tb
                            j = j + 1
                            Me!cx2.Width = BarraEscala * j
                            Me!Rot.caption = "a vincular objectos: " & j & " de " & k
                            T(j) = tbl.Name
                            Set tb = Nothing
                            Exit For
                        Else
                            pula = False
                        End If
                    End If
                Next
    '--------------------------------------------------------------------------------------------------------------------

    Podem-me dizer como alterá-lo para só vincular uma tabelas de de nome "Tbl_Alunos"

    Obrigado

    Bruno Gordino


    Última edição por brunogor em 13/3/2016, 01:43, editado 2 vez(es)
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4771
    Registrado : 06/11/2009

    [Resolvido] Vincular uma única tabela Empty Re: [Resolvido] Vincular uma única tabela

    Mensagem  Assis 12/3/2016, 22:20

    Boa noite

    A tabela é nova "Tbl_Alunos" ?

    E não está no Front ?

    Aguardo


    .................................................................................
    *** Só sei que nada sei ***
    brunogor
    brunogor
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 273
    Registrado : 24/02/2013

    [Resolvido] Vincular uma única tabela Empty Vincular uma única tabela

    Mensagem  brunogor 12/3/2016, 23:12

    Viva Sr. Assis como tem passado?

    Já há algum tempo que não nos cruzávamos aqui no forum.

    Eu vou tentar me explicar melhor.

    Existe um BE que dezenas de tabelas, no entanto para esta Base de Dados só quero vincular automaticamente a tabela "Tbl_Alunos".

    A tabela é nova, mas pode existir necessidade de a voltar a vincular depois de a vincular a 1ª vez.

    Cumprimentos

    Bruno Gordino
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4771
    Registrado : 06/11/2009

    [Resolvido] Vincular uma única tabela Empty Re: [Resolvido] Vincular uma única tabela

    Mensagem  Assis 13/3/2016, 01:17

    Bruno
    Vou trata-lo assim e eu sou Assis, sem Sr. Ok

    E a tabela nova, não tem relações com outras tabelas ?

    E o BE tem Senha ?

    Tenho um código para Vincular todas (ou só uma) as tabelas que estão no BE e não estão no Front.

    Segunda feira continuamos.

    Bom fim de semana


    .................................................................................
    *** Só sei que nada sei ***
    brunogor
    brunogor
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 273
    Registrado : 24/02/2013

    [Resolvido] Vincular uma única tabela Empty Vincular uma única tabela

    Mensagem  brunogor 13/3/2016, 01:42

    Combinado Assis,

    A tabela não tem qualquer relação e o BE tem senha.

    O resto do código que disponibilizei, introduz a senha do BE e apaga todas as tabelas antes de as vincular.

    O código que disponibilizei funciona perfeitamente no entanto é referente à vinculação de todas as tabelas do BE.

    O que eu preciso é de um outro que só vincule uma tabela.

    Cumprimentos

    Bruno Gordino
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4771
    Registrado : 06/11/2009

    [Resolvido] Vincular uma única tabela Empty Re: [Resolvido] Vincular uma única tabela

    Mensagem  Assis 13/3/2016, 16:02

    Bruno

    Com esta função todas as tabelas que estiverem no BE e não estão no FE são vinculadas.

    Para chamar a função num click de um comando:

    Call fncVincular

    __________________________________________

    Num Modulo:

    'Créditos Avelino Sampaio
    Public Sub fncVincular()
    Dim be As DAO.Database
    Dim tbl As DAO.TableDef
    Dim LocalBe$

    LocalBe = Nz(DLookup("path_0", "tblCaminhoBe"), "vazio")

    Set be = DBEngine.OpenDatabase(LocalBe, False, False, ";PWD=a1234")

    For Each tbl In be.TableDefs
    If Left(tbl.Name, 4) <> "MSys" And Left(tbl.Name, 4) <> "Usys" Then
    If Not fncTabelaExiste(tbl.Name) Then
    DoCmd.TransferDatabase acLink, "Microsoft Access", LocalBe, acTable, tbl.Name, tbl.Name
    End If
    End If
    Next
    be.Close
    MsgBox "Tabelas Nova(s) Vinculada(s) Com Sucesso..", vbInformation, "Terminado"
    Set be = Nothing
    Set tbl = Nothing

    ________________________________________


    .................................................................................
    *** Só sei que nada sei ***
    brunogor
    brunogor
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 273
    Registrado : 24/02/2013

    [Resolvido] Vincular uma única tabela Empty Vincular uma única tabela

    Mensagem  brunogor 14/3/2016, 00:12

    Assis, antes de mais o meu obrigado pela sua disponibilidade outra vez.

    Amanhã vou experimentar o código e depois digo-lhe se resultou.

    Já agora julgo que me vai faltar a função fncTabelaExiste, mencionada no seu código no "If Not fncTabelaExiste(tbl.Name) Then"

    Cumprimentos

    Bruno Gordino
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4771
    Registrado : 06/11/2009

    [Resolvido] Vincular uma única tabela Empty Re: [Resolvido] Vincular uma única tabela

    Mensagem  Assis 14/3/2016, 10:57

    Bruno

    Era domingo

    Public Function fncTabelaExiste(strNomeTabela As String) As Boolean
    Dim rs As DAO.Recordset
    '---------------------------------------------------------------
    'Solicita ao VBA que prossiga com a execução do código,
    'mesmo havendo erro e não mostre nenhuma mensagem.
    '---------------------------------------------------------------
    On Error Resume Next
    '-----------------------------------
    'Abre a tabela pesquisada
    '-----------------------------------
    Set rs = CurrentDb.OpenRecordset(strNomeTabela)
    '---------------------------------------------------------------
    'Se a tabela não existir, haverá erro e o valor(3078) será
    'armazenado no objeto Err. Este valor poderá ser investigado
    'através do comando Err.number
    '---------------------------------------------------------------
    fncTabelaExiste = Not Err.Number = 3078
    Set rs = Nothing
    End Function


    .................................................................................
    *** Só sei que nada sei ***
    brunogor
    brunogor
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 273
    Registrado : 24/02/2013

    [Resolvido] Vincular uma única tabela Empty Vincular uma única tabela

    Mensagem  brunogor 14/3/2016, 23:03

    Meu caro Assis qual Domingo?

    Não se desculpe com o dia pois, a sua boa vontade, tem sido Inesgotável.

    Hoje não estive no escritório e agora só amanhã à tarde é que posso testar o código.

    Depois dou Feedback.

    Muito obrigado.

    Cumprimentos

    Bruno Gordino
    brunogor
    brunogor
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 273
    Registrado : 24/02/2013

    [Resolvido] Vincular uma única tabela Empty Vincular uma única tabela Responder

    Mensagem  brunogor 15/3/2016, 22:12

    Boa noite Assis,

    Já está a funcionar e aparentemente sem problemas.

    Muito obrigado mesmo, sem a sua ajuda não teria conseguido

    Cumprimentos

    Bruno Gordino
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4771
    Registrado : 06/11/2009

    [Resolvido] Vincular uma única tabela Empty Re: [Resolvido] Vincular uma única tabela

    Mensagem  Assis 15/3/2016, 22:21

    Bruno
    Obrigado pelo retorno, o forum agradece.


    .................................................................................
    *** Só sei que nada sei ***

    Conteúdo patrocinado


    [Resolvido] Vincular uma única tabela Empty Re: [Resolvido] Vincular uma única tabela

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 29/3/2024, 06:40