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]Atualização do Bando de Dados Através do Font-End (VBA)

    Uilson Brasil
    Uilson Brasil
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1039
    Registrado : 23/04/2013

    [Resolvido]Atualização do Bando de Dados Através do Font-End (VBA) Empty [Resolvido]Atualização do Bando de Dados Através do Font-End (VBA)

    Mensagem  Uilson Brasil 24/3/2015, 21:27

    Amigos, estou com uma nova dificuldade aqui... vamos lá: Alterar a estrutura de uma determinada tabela até aí ok. Mas como alterar também as propriedades de um campo criado?
    Exemplo: Descrição, Formato, Máscara de entrada, Legenda e Valor Padrão.

    Código:
    Dim strCaminhoBe As String
    strCaminhoBe = DLookup("Path_0", "tblCaminhoBe") 'pega a informação do endereço da base de dados
    CurrentDb.Execute "Alter Table [" & strCaminhoBe & "].tblCheques Add Column NRCHEQUE Text(20);"
    CurrentDb.Execute "Alter Table [" & strCaminhoBe & "].tblCheques Add Column VLRCHEQUE Currency;"
    CurrentDb.Execute "Alter Table [" & strCaminhoBe & "].tblCheques Add Column DTEMISSAO DateTime;"
    CurrentDb.Execute "Alter Table [" & strCaminhoBe & "].tblCheques Add Column BAIXADO YesNo;"



    .................................................................................
    ::: Uilson Brasil
    ::: Design in Microsoft Access
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Atualização do Bando de Dados Através do Font-End (VBA) Empty Re: [Resolvido]Atualização do Bando de Dados Através do Font-End (VBA)

    Mensagem  Avelino Sampaio 25/3/2015, 11:08

    Olá!

    Veja as minhas dicas 63 e 64

    http://www.usandoaccess.com.br/dicas/dicas-praticas-de-access-parte-7.asp?id=1&idlista=222#inicio

    Bom estudo!


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


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1039
    Registrado : 23/04/2013

    [Resolvido]Atualização do Bando de Dados Através do Font-End (VBA) Empty Re: [Resolvido]Atualização do Bando de Dados Através do Font-End (VBA)

    Mensagem  Uilson Brasil 25/3/2015, 18:28

    Mestre boa tarde!

    Perfeita a dica. Obrigado pela atenção.



    .................................................................................
    ::: Uilson Brasil
    ::: Design in Microsoft Access
    Uilson Brasil
    Uilson Brasil
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1039
    Registrado : 23/04/2013

    [Resolvido]Atualização do Bando de Dados Através do Font-End (VBA) Empty Re: [Resolvido]Atualização do Bando de Dados Através do Font-End (VBA)

    Mensagem  Uilson Brasil 25/3/2015, 18:39

    Apenas para fins de contribuição:

    Código:
    Private Sub btAtualizar_Click()
    On Error Resume Next 'Necessário para não reportar o erro 2471
    'If xVersao > 0 Then: Exit Sub
    xAtualizando = "S"
    Playsound (CurrentProject.Path & "\Objetos\Sound\Menu")
    btFoco.SetFocus
    'Verifica se existe o diretório caso não exista cria
    Set xFolder = CreateObject("Scripting.FileSystemObject")
    If Len(Dir(CurrentProject.Path & "\Log", vbDirectory) & "") = 0 Then
        MkDir (CurrentProject.Path & "\Log")
    End If
    'Inativa os botões de comando
    Me.btSair.Enabled = False
    Me.btAtualizar.Enabled = False
    Me.btCopy.Enabled = False
    'Inicia a atualização
    txtMensagem = "*** Iniciando Atualização em " & Date & " as " & Time & " por " & tUser & " ***"
    Pause 1 'Aguarda um segundo
    txtMensagem = txtMensagem & "<p>Capturando o endereço do banco de dados."
    Pause 1 'Aguarda um segundo
    txtMensagem = txtMensagem & "<p>O Banco de Dados está localizado em " & strCaminhoBe
    '---------------------------------------------------------------------------------------------------------------------
    'Criando campo NRCHEQUE na tabela tblCheques
    Pause 1 'Aguarda um segundo
    xTabela = "tblCheques"
    xCampo = "NRCHEQUE"
    xExiste = DCount(xCampo, xTabela)
    If err.Number = 2471 Then 'O erro indica que o campo não existe
        CurrentDb.Execute "Alter Table [" & strCaminhoBe & "].[" & xTabela & "] Add Column [" & xCampo & "] Text(20);"
        txtMensagem = txtMensagem & "<p>Campo " & xCampo & " criado com sucesso na tabela " & xTabela & "."
    Else 'Retorno do erro igual false o sistema reporta a mensagem que já existe
        txtMensagem = txtMensagem & "<p>O Campo " & xCampo & " já existe na tabela " & xTabela & "."
    End If
    '---------------------------------------------------------------------------------------------------------------------
    'Criando campo VLRCHEQUE na tabela tblCheques
    Pause 1 'Aguarda um segundo
    xTabela = "tblCheques"
    xCampo = "VLRCHEQUE"
    xExiste = DCount(xCampo, xTabela)
    If err.Number = 2471 Then 'O erro indica que o campo não existe
        CurrentDb.Execute "Alter Table [" & strCaminhoBe & "].[" & xTabela & "] Add Column [" & xCampo & "] Currency;"
        txtMensagem = txtMensagem & "<p>Campo " & xCampo & " criado com sucesso na tabela " & xTabela & "."
    Else 'Retorno do erro igual false o sistema reporta a mensagem que já existe
        txtMensagem = txtMensagem & "<p>O Campo " & xCampo & " já existe na tabela " & xTabela & "."
    End If
    '---------------------------------------------------------------------------------------------------------------------
    'Criando campo DTEMISSAO na tabela tblCheques
    Pause 1 'Aguarda um segundo
    xTabela = "tblCheques"
    xCampo = "DTEMISSAO"
    xExiste = DCount(xCampo, xTabela)
    If err.Number = 2471 Then 'O erro indica que o campo não existe
        CurrentDb.Execute "Alter Table [" & strCaminhoBe & "].[" & xTabela & "] Add Column [" & xCampo & "] Date;"
        txtMensagem = txtMensagem & "<p>Campo " & xCampo & " criado com sucesso na tabela " & xTabela & "."
    Else 'Retorno do erro igual false o sistema reporta a mensagem que já existe
        txtMensagem = txtMensagem & "<p>O Campo " & xCampo & " já existe na tabela " & xTabela & "."
    End If
    '---------------------------------------------------------------------------------------------------------------------
    'Criando campo BAIXADO na tabela tblCheques
    Pause 1 'Aguarda um segundo
    xTabela = "tblClientes"
    xCampo = "BAIXADO"
    xExiste = DCount(xCampo, xTabela)
    If err.Number = 2471 Then 'O erro indica que o campo não existe
        CurrentDb.Execute "Alter Table [" & strCaminhoBe & "].[" & xTabela & "] Add Column [" & xCampo & "] YesNo;"
        txtMensagem = txtMensagem & "<p>Campo " & xCampo & " criado com sucesso na tabela " & xTabela & "."
    Else 'Retorno do erro igual false o sistema reporta a mensagem que já existe
        txtMensagem = txtMensagem & "<p>O Campo " & xCampo & " já existe na tabela " & xTabela & "."
    End If
    '---------------------------------------------------------------------------------------------------------------------
    'Criando campo AAAAA na tabela tblCheques
    Pause 1 'Aguarda um segundo
    xTabela = "tblClientes"
    xCampo = "AAAAA"
    xExiste = DCount(xCampo, xTabela)
    If err.Number = 2471 Then 'O erro indica que o campo não existe
        CurrentDb.Execute "Alter Table [" & strCaminhoBe & "].[" & xTabela & "] Add Column [" & xCampo & "] YesNo;"
        txtMensagem = txtMensagem & "<p>Campo " & xCampo & " criado com sucesso na tabela " & xTabela & "."
    Else 'Retorno do erro igual false o sistema reporta a mensagem que já existe
        txtMensagem = txtMensagem & "<p>O Campo " & xCampo & " já existe na tabela " & xTabela & "."
    End If
    '---------------------------------------------------------------------------------------------------------------------
    'Criando campo BBBBB na tabela tblCheques
    Pause 1 'Aguarda um segundo
    xTabela = "tblClientes"
    xCampo = "BBBBB"
    xExiste = DCount(xCampo, xTabela)
    If err.Number = 2471 Then 'O erro indica que o campo não existe
        CurrentDb.Execute "Alter Table [" & strCaminhoBe & "].[" & xTabela & "] Add Column [" & xCampo & "] YesNo;"
        txtMensagem = txtMensagem & "<p>Campo " & xCampo & " criado com sucesso na tabela " & xTabela & "."
    Else 'Retorno do erro igual false o sistema reporta a mensagem que já existe
        txtMensagem = txtMensagem & "<p>O Campo " & xCampo & " já existe na tabela " & xTabela & "."
    End If
    '---------------------------------------------------------------------------------------------------------------------
    'Criando campo CCCCC na tabela tblCheques
    Pause 1 'Aguarda um segundo
    xTabela = "tblClientes"
    xCampo = "CCCCC"
    xExiste = DCount(xCampo, xTabela)
    If err.Number = 2471 Then 'O erro indica que o campo não existe
        CurrentDb.Execute "Alter Table [" & strCaminhoBe & "].[" & xTabela & "] Add Column [" & xCampo & "] YesNo;"
        txtMensagem = txtMensagem & "<p>Campo " & xCampo & " criado com sucesso na tabela " & xTabela & "."
    Else 'Retorno do erro igual false o sistema reporta a mensagem que já existe
        txtMensagem = txtMensagem & "<p>O Campo " & xCampo & " já existe na tabela " & xTabela & "."
    End If
    '---------------------------------------------------------------------------------------------------------------------
    'Criando campo DDDDD na tabela tblCheques
    Pause 1 'Aguarda um segundo
    xTabela = "tblFornecedores"
    xCampo = "DDDDD"
    xExiste = DCount(xCampo, xTabela)
    If err.Number = 2471 Then 'O erro indica que o campo não existe
        CurrentDb.Execute "Alter Table [" & strCaminhoBe & "].[" & xTabela & "] Add Column [" & xCampo & "] YesNo;"
        txtMensagem = txtMensagem & "<p>Campo " & xCampo & " criado com sucesso na tabela " & xTabela & "."
    Else 'Retorno do erro igual false o sistema reporta a mensagem que já existe
        txtMensagem = txtMensagem & "<p>O Campo " & xCampo & " já existe na tabela " & xTabela & "."
    End If
    '---------------------------------------------------------------------------------------------------------------------
    'Criando campo EEEEE na tabela tblCheques
    Pause 1 'Aguarda um segundo
    xTabela = "tblFornecedores"
    xCampo = "EEEEE"
    xExiste = DCount(xCampo, xTabela)
    If err.Number = 2471 Then 'O erro indica que o campo não existe
        CurrentDb.Execute "Alter Table [" & strCaminhoBe & "].[" & xTabela & "] Add Column [" & xCampo & "] YesNo;"
        txtMensagem = txtMensagem & "<p>Campo " & xCampo & " criado com sucesso na tabela " & xTabela & "."
    Else 'Retorno do erro igual false o sistema reporta a mensagem que já existe
        txtMensagem = txtMensagem & "<p>O Campo " & xCampo & " já existe na tabela " & xTabela & "."
    End If
    '---------------------------------------------------------------------------------------------------------------------
    'Criando campo FFFFF na tabela tblCheques
    Pause 1 'Aguarda um segundo
    xTabela = "tblFornecedores"
    xCampo = "FFFFF"
    xExiste = DCount(xCampo, xTabela)
    If err.Number = 2471 Then 'O erro indica que o campo não existe
        CurrentDb.Execute "Alter Table [" & strCaminhoBe & "].[" & xTabela & "] Add Column [" & xCampo & "] YesNo;"
        txtMensagem = txtMensagem & "<p>Campo " & xCampo & " criado com sucesso na tabela " & xTabela & "."
    Else 'Retorno do erro igual false o sistema reporta a mensagem que já existe
        txtMensagem = txtMensagem & "<p>O Campo " & xCampo & " já existe na tabela " & xTabela & "."
    End If
    '---------------------------------------------------------------------------------------------------------------------
    'Criando campo GGGGG na tabela tblCheques
    Pause 1 'Aguarda um segundo
    xTabela = "tblFornecedores"
    xCampo = "GGGGG"
    xExiste = DCount(xCampo, xTabela)
    If err.Number = 2471 Then 'O erro indica que o campo não existe
        CurrentDb.Execute "Alter Table [" & strCaminhoBe & "].[" & xTabela & "] Add Column [" & xCampo & "] YesNo;"
        txtMensagem = txtMensagem & "<p>Campo " & xCampo & " criado com sucesso na tabela " & xTabela & "."
    Else 'Retorno do erro igual false o sistema reporta a mensagem que já existe
        txtMensagem = txtMensagem & "<p>O Campo " & xCampo & " já existe na tabela " & xTabela & "."
    End If
    '---------------------------------------------------------------------------------------------------------------------
    'Criando campo HHHHH na tabela tblCheques
    Pause 1 'Aguarda um segundo
    xTabela = "tblFornecedores"
    xCampo = "HHHHH"
    xExiste = DCount(xCampo, xTabela)
    If err.Number = 2471 Then 'O erro indica que o campo não existe
        CurrentDb.Execute "Alter Table [" & strCaminhoBe & "].[" & xTabela & "] Add Column [" & xCampo & "] YesNo;"
        txtMensagem = txtMensagem & "<p>Campo " & xCampo & " criado com sucesso na tabela " & xTabela & "."
    Else 'Retorno do erro igual false o sistema reporta a mensagem que já existe
        txtMensagem = txtMensagem & "<p>O Campo " & xCampo & " já existe na tabela " & xTabela & "."
    End If
    '---------------------------------------------------------------------------------------------------------------------
    'Criando campo JJJJJ na tabela tblCheques
    Pause 1 'Aguarda um segundo
    xTabela = "tblClientes"
    xCampo = "JJJJJ"
    xExiste = DCount(xCampo, xTabela)
    If err.Number = 2471 Then 'O erro indica que o campo não existe
        CurrentDb.Execute "Alter Table [" & strCaminhoBe & "].[" & xTabela & "] Add Column [" & xCampo & "] YesNo;"
        txtMensagem = txtMensagem & "<p>Campo " & xCampo & " criado com sucesso na tabela " & xTabela & "."
    Else 'Retorno do erro igual false o sistema reporta a mensagem que já existe
        txtMensagem = txtMensagem & "<p>O Campo " & xCampo & " já existe na tabela " & xTabela & "."
    End If
    '---------------------------------------------------------------------------------------------------------------------
    'Criando campo LLLLL na tabela tblCheques
    Pause 1 'Aguarda um segundo
    xTabela = "tblClientes"
    xCampo = "LLLLL"
    xExiste = DCount(xCampo, xTabela)
    If err.Number = 2471 Then 'O erro indica que o campo não existe
        CurrentDb.Execute "Alter Table [" & strCaminhoBe & "].[" & xTabela & "] Add Column [" & xCampo & "] YesNo;"
        txtMensagem = txtMensagem & "<p>Campo " & xCampo & " criado com sucesso na tabela " & xTabela & "."
    Else 'Retorno do erro igual false o sistema reporta a mensagem que já existe
        txtMensagem = txtMensagem & "<p>O Campo " & xCampo & " já existe na tabela " & xTabela & "."
    End If
    '---------------------------------------------------------------------------------------------------------------------
    'Criando campo MMMMM na tabela tblCheques
    Pause 1 'Aguarda um segundo
    xTabela = "tblClientes"
    xCampo = "MMMMM"
    xExiste = DCount(xCampo, xTabela)
    If err.Number = 2471 Then 'O erro indica que o campo não existe
        CurrentDb.Execute "Alter Table [" & strCaminhoBe & "].[" & xTabela & "] Add Column [" & xCampo & "] YesNo;"
        txtMensagem = txtMensagem & "<p>Campo " & xCampo & " criado com sucesso na tabela " & xTabela & "."
    Else 'Retorno do erro igual false o sistema reporta a mensagem que já existe
        txtMensagem = txtMensagem & "<p>O Campo " & xCampo & " já existe na tabela " & xTabela & "."
    End If
    '---------------------------------------------------------------------------------------------------------------------
    'Criando campo NNNNN na tabela tblCheques
    Pause 1 'Aguarda um segundo
    xTabela = "tblFornecedores"
    xCampo = "NNNNN"
    xExiste = DCount(xCampo, xTabela)
    If err.Number = 2471 Then 'O erro indica que o campo não existe
        CurrentDb.Execute "Alter Table [" & strCaminhoBe & "].[" & xTabela & "] Add Column [" & xCampo & "] YesNo;"
        txtMensagem = txtMensagem & "<p>Campo " & xCampo & " criado com sucesso na tabela " & xTabela & "."
    Else 'Retorno do erro igual false o sistema reporta a mensagem que já existe
        txtMensagem = txtMensagem & "<p>O Campo " & xCampo & " já existe na tabela " & xTabela & "."
    End If
    '---------------------------------------------------------------------------------------------------------------------
    'Criando campo OOOOO na tabela tblCheques
    Pause 1 'Aguarda um segundo
    xTabela = "tblFornecedores"
    xCampo = "OOOOO"
    xExiste = DCount(xCampo, xTabela)
    If err.Number = 2471 Then 'O erro indica que o campo não existe
        CurrentDb.Execute "Alter Table [" & strCaminhoBe & "].[" & xTabela & "] Add Column [" & xCampo & "] YesNo;"
        txtMensagem = txtMensagem & "<p>Campo " & xCampo & " criado com sucesso na tabela " & xTabela & "."
    Else 'Retorno do erro igual false o sistema reporta a mensagem que já existe
        txtMensagem = txtMensagem & "<p>O Campo " & xCampo & " já existe na tabela " & xTabela & "."
    End If
    '---------------------------------------------------------------------------------------------------------------------
    Pause 1 'Aguarda um segundo
    txtMensagem = txtMensagem & "<p>***Atualização Concluída em " & Date & " as " & Time & " ***"
    Call fProp
    Call GravaLog
    Call GravaAtu
    'Grava o arquivo de log
    Dim strArquivo As String
    Dim strLocal As String
    If IsNull(xAtu) Or xAtu = "" Then
        xAtu = 1
    Else
        xAtu = xAtu + 1
    End If
    strArquivo = "LOG" & Format((xAtu), "000000") & ".TXT"
    strLocal = CurrentProject.Path & "\Log\" & strArquivo
    DoCmd.OutputTo acOutputForm, "frmAtualizar", "MS-DOSText(*.txt)", strLocal, False, "", 0, acExportQualityScreen
    'Finaliza a operação
    xAtualizando = "N"
    'Ativa os controles
    Me.btSair.Enabled = True
    Me.btCopy.Enabled = True

    End Sub

    Código:
    Public Sub fProp()
    Dim bd As dao.Database
    Dim prp As dao.Property
    Set bd = OpenDatabase(strCaminhoBe) '("c:\MinhaPasta\Back-end.accdb", False, False, ";PWD=123")
    '---------------------------------------------------
    'Configurando a propriedade Format para Data Curta
    '---------------------------------------------------
    Set prp = bd.TableDefs("tblCheques").Fields("DTEMISSAO").CreateProperty("Format", dbText, "Short Date")
    bd.TableDefs("tblCheques").Fields("DTEMISSAO").Properties.Append prp
    '-----------------------------------------------------------
    'Configurando a propriedade Caption do campo DTEMISSAO
    '-----------------------------------------------------------
    Set prp = bd.TableDefs("tblCheques"). _
    Fields("DTEMISSAO"). _
    CreateProperty("Caption", dbText, "Data Emissão")
    bd.TableDefs("tblCheques").Fields("DTEMISSAO").Properties.Append prp
    '----------------------------------------------------------------------
    'Configurando a propriedade Mascara de Entrada do campo DTEMISSAO
    '----------------------------------------------------------------------
    Set prp = bd.TableDefs("tblCheques"). _
    Fields("DTEMISSAO"). _
    CreateProperty("InputMask", dbText, "00/00/0000")
    bd.TableDefs("tblCheques").Fields("DTEMISSAO").Properties.Append prp
    '-----------------------------------------
    'Esvazia as variáveis, limpando a memória
    '-----------------------------------------
    Set prp = Nothing
    Set bd = Nothing
    End Sub


    .................................................................................
    ::: Uilson Brasil
    ::: Design in Microsoft Access

    Conteúdo patrocinado


    [Resolvido]Atualização do Bando de Dados Através do Font-End (VBA) Empty Re: [Resolvido]Atualização do Bando de Dados Através do Font-End (VBA)

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 27/4/2024, 13:36