MaximoAccess

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

Obrigado

Administração do MaximoAccess

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


    [Resolvido]Adicionar um campo em tabela via VBA

    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

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

    [Resolvido]Adicionar um campo em tabela via VBA Empty [Resolvido]Adicionar um campo em tabela via VBA

    Mensagem  Assis em 17/1/2019, 10:53

    Bom dia Amigos

    Preciso de adicionar um campo numa tabela via VBA numa BD dividida, com password no Back-End

    Tentei e não consegui assim:

    CurrentDb.Execute ("ALTER TABLE Adiantado ADD COLUMN PorContade2 Text;")


    Obrigado


    .................................................................................
    *** Só sei que nada sei ***
    IvanJr.
    IvanJr.
    Developer
    Developer

    Respeito às Regras 100%

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

    [Resolvido]Adicionar um campo em tabela via VBA Empty Re: [Resolvido]Adicionar um campo em tabela via VBA

    Mensagem  IvanJr. em 17/1/2019, 11:14

    Código:
    Dim strCaminhoBe As String
     
    strCaminhoBe = "c:\MinhaPasta\meuBd_be.accdb;pwd=MinhaSenha"
     
    CurrentDb.Execute "Alter Table [" & strCaminhoBe & "].Adiantado Add Column PorContade2 Text;"


    .................................................................................
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    Sempre tente entender o código, não somente copie e cole.
    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

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

    [Resolvido]Adicionar um campo em tabela via VBA Empty Re: [Resolvido]Adicionar um campo em tabela via VBA

    Mensagem  Assis em 17/1/2019, 11:27

    Ivan

    Não será possível alterar a linha abaixo por:

    strCaminhoBe = "c:\MinhaPasta\meuBd_be.accdb;pwd=MinhaSenha"


    Esta abaixo ?

    strCaminhoBe = DLookup("path_0", "tblCaminhoBe");pwd=xxxxxxxxx"

    Obrigado


    .................................................................................
    *** Só sei que nada sei ***
    IvanJr.
    IvanJr.
    Developer
    Developer

    Respeito às Regras 100%

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

    [Resolvido]Adicionar um campo em tabela via VBA Empty Re: [Resolvido]Adicionar um campo em tabela via VBA

    Mensagem  IvanJr. em 17/1/2019, 11:39

    strCaminhoBe = DLookup("path_0", "tblCaminhoBe") & ";pwd=xxxxxxxxx"


    .................................................................................
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    Sempre tente entender o código, não somente copie e cole.
    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

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

    [Resolvido]Adicionar um campo em tabela via VBA Empty Re: [Resolvido]Adicionar um campo em tabela via VBA

    Mensagem  Assis em 17/1/2019, 11:55

    Ivan

    Não precisa da Password, no meu caso não precisou.

    Veja a imagem que anexo Very Happy Very Happy será possível ?

    [Resolvido]Adicionar um campo em tabela via VBA Sem_tz55


    .................................................................................
    *** Só sei que nada sei ***
    IvanJr.
    IvanJr.
    Developer
    Developer

    Respeito às Regras 100%

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

    [Resolvido]Adicionar um campo em tabela via VBA Empty Re: [Resolvido]Adicionar um campo em tabela via VBA

    Mensagem  IvanJr. em 17/1/2019, 12:00

    Assis, é possível, contanto que você faça a montagem correta da SQL a ser executada.


    .................................................................................
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    Sempre tente entender o código, não somente copie e cole.
    JPaulo
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 10558
    Registrado : 04/11/2009

    [Resolvido]Adicionar um campo em tabela via VBA Empty Re: [Resolvido]Adicionar um campo em tabela via VBA

    Mensagem  JPaulo em 17/1/2019, 14:08

    Bom dia a todos;

    Veja se serve e adapte ás sua necessidades;

    Download


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Adicionar um campo em tabela via VBA Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Adicionar um campo em tabela via VBA Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Adicionar um campo em tabela via VBA Folder_announce_new Instruções SQL como utilizar...
    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

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

    [Resolvido]Adicionar um campo em tabela via VBA Empty Re: [Resolvido]Adicionar um campo em tabela via VBA

    Mensagem  Assis em 17/1/2019, 15:28

    Obrigado JPaulo

    Queria para bases de dados divididas .



    .................................................................................
    *** Só sei que nada sei ***
    tauron
    tauron
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1090
    Registrado : 07/12/2011

    [Resolvido]Adicionar um campo em tabela via VBA Empty Re: [Resolvido]Adicionar um campo em tabela via VBA

    Mensagem  tauron em 17/1/2019, 17:40

    Assis, me esclareca uma coisa, após criar um campo na tabela como fazer para:

    1- Inserir dados no campo recem criado?

    2- Como adiciona-lo na consulta, formulario, relatorio?

    Vejamos, se o "usuario" tiver acesso ao modo estrutura do accdb, podera proceder as alteracoes mas e se for accde ou houve bloqueio ao modo estrutura?

    Faco estas indagacoes porque tenho muito interesse neste assunto.
    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

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

    [Resolvido]Adicionar um campo em tabela via VBA Empty Re: [Resolvido]Adicionar um campo em tabela via VBA

    Mensagem  Assis em 17/1/2019, 18:49

    Tauron

    Tenho mais que uma BD todas em ACCDE num País distante, na qual só tenho acesso via TeamViwer .

    Todas elas estão divididas Front e Back.

    O cliente pede por exemplo para acrescentar mais um campo na tabela XXXXX.


    Respondendo ao seu ponto 2

    Como eu no meu PC tenho as mesmas BD em ACCDB, adiciono o campo novo na tabela xxxxxx, e no Front preparo o respetivo formulário que envia os dados para a tabela xxxxxxx. e relatórios.


    Depois converto o Front ACCDB em ACCDE, que envio pelo  TeamViwer .

    Executo o formulário da Imagem abaixo (Este formulário só eu tenho acesso ).

    [Resolvido]Adicionar um campo em tabela via VBA Sem_tz57

    E assim não necessito de fazer o download das tabelas do Cliente para fazer a adição do campo que ele quer adicionar


    .................................................................................
    *** Só sei que nada sei ***
    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

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

    [Resolvido]Adicionar um campo em tabela via VBA Empty Re: [Resolvido]Adicionar um campo em tabela via VBA

    Mensagem  Assis em 17/1/2019, 18:54

    Obrigado JPaulo

    Obrigado Ivan

    Consegui resolver


    .................................................................................
    *** Só sei que nada sei ***
    JPaulo
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 10558
    Registrado : 04/11/2009

    [Resolvido]Adicionar um campo em tabela via VBA Empty Re: [Resolvido]Adicionar um campo em tabela via VBA

    Mensagem  JPaulo em 17/1/2019, 19:21

    Fico feliz
    Obrigado pelo retorno o fórum agradece.


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Adicionar um campo em tabela via VBA Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Adicionar um campo em tabela via VBA Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Adicionar um campo em tabela via VBA Folder_announce_new Instruções SQL como utilizar...
    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

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

    [Resolvido]Adicionar um campo em tabela via VBA Empty Re: [Resolvido]Adicionar um campo em tabela via VBA

    Mensagem  Assis em 17/1/2019, 20:14

    J. Paulo

    Última questão neste caso.

    Ver imagem.

    [Resolvido]Adicionar um campo em tabela via VBA Sem_tz58


    Obrigado


    .................................................................................
    *** Só sei que nada sei ***
    JPaulo
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 10558
    Registrado : 04/11/2009

    [Resolvido]Adicionar um campo em tabela via VBA Empty Re: [Resolvido]Adicionar um campo em tabela via VBA

    Mensagem  JPaulo em 17/1/2019, 21:05

    Não posso testar porque já estou em casa.
    Mas pode testar, em vez Number no alter table, substitua por DOUBLE.


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Adicionar um campo em tabela via VBA Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Adicionar um campo em tabela via VBA Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Adicionar um campo em tabela via VBA Folder_announce_new Instruções SQL como utilizar...
    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

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

    [Resolvido]Adicionar um campo em tabela via VBA Empty Re: [Resolvido]Adicionar um campo em tabela via VBA

    Mensagem  Assis em 17/1/2019, 21:46

    J.Paulo

    É igual

    Obrigado


    .................................................................................
    *** Só sei que nada sei ***
    JPaulo
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 10558
    Registrado : 04/11/2009

    [Resolvido]Adicionar um campo em tabela via VBA Empty Re: [Resolvido]Adicionar um campo em tabela via VBA

    Mensagem  JPaulo em 18/1/2019, 10:42

    Olá;

    Não estava a entender;

    Na lista de valores da combobox "Tipo de Dados";

    Código:
    "Integer";"Double";"Single";"Long";"Text";"LongText";"Number";"Date";"Currency";"YESNO"

    Código:
    TEXT: Para um grupo de caracteres ou símbolos de qualquer tipo
    LONGTEXT: Para um texto longo (memo), para muitos parágrafos
    BIT: Para valores booleanos que podem ser TRUE ou FALSE
    COUNTER: Para números naturais gerados automaticamente adicionados ao campo (autonumber)
    BYTE: Para pequenos números (2 digitos)
    INTEGER: Para números grandes (4 digitos)
    LONG: Para números grandes (9 digitos)
    SINGLE: Para números decimais que não precisam de muita precisão
    DOUBLE: Para números decimais que necessitam de precisão
    CURRENCY: Para moeda
    DATE, TIME, ou DATETIME: Para data hora


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Adicionar um campo em tabela via VBA Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Adicionar um campo em tabela via VBA Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Adicionar um campo em tabela via VBA Folder_announce_new Instruções SQL como utilizar...
    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

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

    [Resolvido]Adicionar um campo em tabela via VBA Empty Re: [Resolvido]Adicionar um campo em tabela via VBA

    Mensagem  Assis em 18/1/2019, 11:46

    Bom dia J.Paulo

    Escolher, Number, ou Double é igual

    O tamanho de Campo fica sempre Duplo

    [Resolvido]Adicionar um campo em tabela via VBA Sem_tz59


    Obrigado


    .................................................................................
    *** Só sei que nada sei ***
    JPaulo
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 10558
    Registrado : 04/11/2009

    [Resolvido]Adicionar um campo em tabela via VBA Empty Re: [Resolvido]Adicionar um campo em tabela via VBA

    Mensagem  JPaulo em 18/1/2019, 12:56

    Certo.


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Adicionar um campo em tabela via VBA Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Adicionar um campo em tabela via VBA Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Adicionar um campo em tabela via VBA Folder_announce_new Instruções SQL como utilizar...
    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

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

    [Resolvido]Adicionar um campo em tabela via VBA Empty Re: [Resolvido]Adicionar um campo em tabela via VBA

    Mensagem  Assis em 18/1/2019, 13:20

    J.Paulo

    Está um bocadinho limitado quanto a números.

    Falta o formatar, e as casas decimais. Tem como?

    Obrigado


    .................................................................................
    *** Só sei que nada sei ***
    JPaulo
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 10558
    Registrado : 04/11/2009

    [Resolvido]Adicionar um campo em tabela via VBA Empty Re: [Resolvido]Adicionar um campo em tabela via VBA

    Mensagem  JPaulo em 18/1/2019, 14:59

    Formatar e casas decimais só via código usando as propriedades.
    Não estou no trabalho, mas dê uma pesquisada sobre o tema.


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Adicionar um campo em tabela via VBA Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Adicionar um campo em tabela via VBA Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Adicionar um campo em tabela via VBA Folder_announce_new Instruções SQL como utilizar...
    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

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

    [Resolvido]Adicionar um campo em tabela via VBA Empty Re: [Resolvido]Adicionar um campo em tabela via VBA

    Mensagem  Assis em 21/1/2019, 00:23

    J.Paulo

    Andei por aqui mas não consigo resolver.

    usandoaccess.com.br/dicas/add-alter-column-acrescentar-alterar-vba.asp?id=1&idlista=223#inicio


    .................................................................................
    *** Só sei que nada sei ***
    JPaulo
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 10558
    Registrado : 04/11/2009

    [Resolvido]Adicionar um campo em tabela via VBA Empty Re: [Resolvido]Adicionar um campo em tabela via VBA

    Mensagem  JPaulo em 21/1/2019, 09:55

    Aqui;

    Código:
    http://allenbrowne.com/func-DAO.html

    "Set a property for an object, creating if necessary."



    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Adicionar um campo em tabela via VBA Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Adicionar um campo em tabela via VBA Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Adicionar um campo em tabela via VBA Folder_announce_new Instruções SQL como utilizar...
    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

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

    [Resolvido]Adicionar um campo em tabela via VBA Empty Re: [Resolvido]Adicionar um campo em tabela via VBA

    Mensagem  Assis em 21/1/2019, 10:25

    Bom dia

    J.Paulo

    Aqui ?

    Mas não chego lá.

    Código:
    Function SetPropertyDAO(obj As Object, strPropertyName As String, intType As Integer, _
       varValue As Variant, Optional strErrMsg As String) As Boolean
    On Error GoTo ErrHandler
       'Purpose:   Set a property for an object, creating if necessary.
       'Arguments: obj = the object whose property should be set.
       '           strPropertyName = the name of the property to set.
       '           intType = the type of property (needed for creating)
       '           varValue = the value to set this property to.
       '           strErrMsg = string to append any error message to.
       
       If HasProperty(obj, strPropertyName) Then
           obj.Properties(strPropertyName) = varValue
       Else
           obj.Properties.Append obj.CreateProperty(strPropertyName, intType, varValue)
       End If
       SetPropertyDAO = True

    ExitHandler:
       Exit Function

    ErrHandler:
       strErrMsg = strErrMsg & obj.Name & "." & strPropertyName & " not set to " & varValue & _
           ". Error " & Err.Number & " - " & Err.Description & vbCrLf
       Resume ExitHandler
    End Function


    .................................................................................
    *** Só sei que nada sei ***
    IvanJr.
    IvanJr.
    Developer
    Developer

    Respeito às Regras 100%

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

    [Resolvido]Adicionar um campo em tabela via VBA Empty Re: [Resolvido]Adicionar um campo em tabela via VBA

    Mensagem  IvanJr. em 22/1/2019, 12:38

    Assis, em resposta à sua solicitação em MP segue código para seu botão

    Código:
    On Error GoTo trataerro

        Dim prp As Property

        If Nz(Me!cboTabela.Value) = "" Or Nz(Me!txtNovoCampo.Value) = "" Or Nz(Me!cboTipo.Value) = "" Then
            Exit Sub
        End If

        Call CurrentDb.Execute("Alter Table " & Me!cboTabela.Value & " Add Column " & Me!txtNovoCampo.Value & " " & Me!cboTipo.Value & ";")
       
        If Eval("'" & Nz(Me!cboCasas) & "' not in ('','Automático')") Then
       
            On Error Resume Next
            'CurrentDb.TableDefs(Me!cboTabela.Value).Fields(Me!txtNovoCampo.Value).Properties("DecimalPlaces").Value = Me!cboCasas.Value
           
            If Err Then
                Call Err.Clear
                Set prp = CurrentDb.CreateProperty("DecimalPlaces", dbByte, Me!cboCasas.Value)
                Call CurrentDb.TableDefs(Me!cboTabela.Value).Fields(Me!txtNovoCampo.Value).Properties.Append(prp)
                Set prp = Nothing
            End If
           
            On Error GoTo trataerro
           
        End If

        If Eval("'" & Nz(Me!cboForm) & "' not in ('','Padrão')") Then
       
            On Error Resume Next
            CurrentDb.TableDefs(Me!cboTabela.Value).Fields(Me!txtNovoCampo.Value).Properties("Format").Value = Me!cboForm.Value
           
            If Err Then
                Call Err.Clear
                Set prp = CurrentDb.CreateProperty("Format", dbText, Me!cboForm.Value)
                Call CurrentDb.TableDefs(Me!cboTabela.Value).Fields(Me!txtNovoCampo.Value).Properties.Append(prp)
                Set prp = Nothing
            End If
           
            On Error GoTo trataerro
           
        End If
       
        MsgBox "Alterado com sucesso.", vbInformation, "Sucesso"
       
    sair:
        Exit Sub
       
    trataerro:
        Call MsgBox(Err.Description, vbCritical, "Erro nº: " & Err.Number, Err.HelpFile, Err.HelpContext)
        Resume sair


    .................................................................................
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    Sempre tente entender o código, não somente copie e cole.
    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

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

    [Resolvido]Adicionar um campo em tabela via VBA Empty Re: [Resolvido]Adicionar um campo em tabela via VBA

    Mensagem  Assis em 22/1/2019, 14:01

    Ivan

    Terei feito errado ?

    Não está a marcar o formato, e as casas decimais

    Segue BD
    Anexos
    [Resolvido]Adicionar um campo em tabela via VBA AttachmentAlterarTabelas_Assis.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (70 Kb) Baixado 6 vez(es)


    .................................................................................
    *** Só sei que nada sei ***
    IvanJr.
    IvanJr.
    Developer
    Developer

    Respeito às Regras 100%

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

    [Resolvido]Adicionar um campo em tabela via VBA Empty Re: [Resolvido]Adicionar um campo em tabela via VBA

    Mensagem  IvanJr. em 22/1/2019, 14:20

    Acabei esquecendo o apóstrofo no início da linha abaixo, retire-o do código
    'CurrentDb.TableDefs(Me!cboTabela.Value).Fields(Me!txtNovoCampo.Value).Properties("DecimalPlaces").Value = Me!cboCasas.Value

    ...

    De resto tudo funciona com o código que lhe passei, veja
    [Resolvido]Adicionar um campo em tabela via VBA Ff10
    [Resolvido]Adicionar um campo em tabela via VBA Gg10


    .................................................................................
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    Sempre tente entender o código, não somente copie e cole.
    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

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

    [Resolvido]Adicionar um campo em tabela via VBA Empty Re: [Resolvido]Adicionar um campo em tabela via VBA

    Mensagem  Assis em 22/1/2019, 19:32

    Obrigado Ivan

    Funciona.

    Estou a tentar adaptar para Front e End e estou a ter problemas.

    Funciona até á linha dupla e acrescenta o campo na tabela, faltando a formatação e as casas decimais


    Não sei como me referir a estas linhas

    CurrentDb.TableDefs(Me!cboTabelas.Value).Fields(Me!cboCampo.Value).Properties("DecimalPlaces").Value = Me!cboCasas.Value


    Dim strCaminhoBe As String

    strCaminhoBe = DLookup("path_0", "tblCaminhoBe")

    On Error GoTo trataerro

       Dim prp As Property

       If Nz(Me!cboTabelas.Value) = "" Or Nz(Me!cboCampo.Value) = "" Or Nz(Me!cboTipo.Value) = "" Then
           Exit Sub
       End If

        Call CurrentProject.Connection.Execute("Alter Table [" & strCaminhoBe & "].[" & Me.cboTabelas & "] Add Column [" & Me.cboCampo & "] " & Me.cboTipo & ";")


    '---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    '---------------------------------------------------------------------------------------------------------------------------------------------------------------------------    

       If Eval("'" & Nz(Me!cboCasas) & "' not in ('','Automático')") Then
       
           On Error Resume Next
           CurrentDb.TableDefs(Me!cboTabelas.Value).Fields(Me!cboCampo.Value).Properties("DecimalPlaces").Value = Me!cboCasas.Value
           
           If err Then
               Call err.Clear
               Set prp = CurrentDb.CreateProperty("DecimalPlaces", dbByte, Me!cboCasas.Value)
               Call CurrentDb.TableDefs(Me!cboTabelas.Value).Fields(Me!cboCampo.Value).Properties.Append(prp)
                         
               Set prp = Nothing
           End If
           
           On Error GoTo trataerro
           
       End If

       If Eval("'" & Nz(Me!cboForm) & "' not in ('','Padrão')") Then
       
           On Error Resume Next
           CurrentDb.TableDefs(Me!cboTabelas.Value).Fields(Me!cboCampo.Value).Properties("Format").Value = Me!cboForm.Value
           
           If err Then
               Call err.Clear
               Set prp = CurrentDb.CreateProperty("Format", dbText, Me!cboForm.Value)
               Call CurrentDb.TableDefs(Me!cboTabelas.Value).Fields(Me!cboCampo.Value).Properties.Append(prp)
     
               Set prp = Nothing
           End If
           
           On Error GoTo trataerro
           
       End If
       
    MsgBox "Campo Adicionado com Sucesso.", vbInformation, "Sucesso"
    Me.cboTabelas = ""
    Me.cboCampo = ""
    Me.cboTipo = ""
    Me.cboForm = ""
    Me.cboCasas = ""
    sair:
       Exit Sub
       
    trataerro:
       Call MsgBox(err.Description, vbCritical, "Erro n?: " & err.Number, err.Helpfile, err.HelpContext)
       Resume sair


    .................................................................................
    *** Só sei que nada sei ***
    IvanJr.
    IvanJr.
    Developer
    Developer

    Respeito às Regras 100%

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

    [Resolvido]Adicionar um campo em tabela via VBA Empty Re: [Resolvido]Adicionar um campo em tabela via VBA

    Mensagem  IvanJr. em 22/1/2019, 20:13

    Aqui
    Anexos
    [Resolvido]Adicionar um campo em tabela via VBA Attachmentexemplo.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (55 Kb) Baixado 16 vez(es)


    .................................................................................
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    Sempre tente entender o código, não somente copie e cole.
    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

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

    [Resolvido]Adicionar um campo em tabela via VBA Empty Re: [Resolvido]Adicionar um campo em tabela via VBA

    Mensagem  Assis em 23/1/2019, 00:02

    Boa noite Ivan

    No exemplo que me enviou veja o que acontece.

    Teste com os mesmos dados da imagem

    [Resolvido]Adicionar um campo em tabela via VBA Sem_tz62


    Veja como fica na tabela

    [Resolvido]Adicionar um campo em tabela via VBA Sem_tz64

    O valor da comboBox formatar não aparece

    [Resolvido]Adicionar um campo em tabela via VBA Sem_tz65


    Obrigado


    .................................................................................
    *** Só sei que nada sei ***
    IvanJr.
    IvanJr.
    Developer
    Developer

    Respeito às Regras 100%

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

    [Resolvido]Adicionar um campo em tabela via VBA Empty Re: [Resolvido]Adicionar um campo em tabela via VBA

    Mensagem  IvanJr. em 23/1/2019, 00:35

    Escreva Standard que aparecerá a palavra Padrão.


    .................................................................................
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    Sempre tente entender o código, não somente copie e cole.
    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

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

    [Resolvido]Adicionar um campo em tabela via VBA Empty Re: [Resolvido]Adicionar um campo em tabela via VBA

    Mensagem  Assis em 23/1/2019, 00:51

    Obrigado Ivan

    cheers  Agora Resolvido II   Laughing Laughing


    .................................................................................
    *** Só sei que nada sei ***
    IvanJr.
    IvanJr.
    Developer
    Developer

    Respeito às Regras 100%

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

    [Resolvido]Adicionar um campo em tabela via VBA Empty Re: [Resolvido]Adicionar um campo em tabela via VBA

    Mensagem  IvanJr. em 23/1/2019, 00:54

    O fórum agradece. Sucesso.


    .................................................................................
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    Sempre tente entender o código, não somente copie e cole.
    alozs
    alozs
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 110
    Registrado : 07/02/2018

    [Resolvido]Adicionar um campo em tabela via VBA Empty Re: [Resolvido]Adicionar um campo em tabela via VBA

    Mensagem  alozs em 13/7/2019, 15:24

    Aproveitando  o tópico gostaria de saber se tem como incluir um campo calculado igual exemplo abaixo e um valor para o campo "valor predefinido" para outro campo

    [Resolvido]Adicionar um campo em tabela via VBA Result10
    alozs
    alozs
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 110
    Registrado : 07/02/2018

    [Resolvido]Adicionar um campo em tabela via VBA Empty Re: [Resolvido]Adicionar um campo em tabela via VBA

    Mensagem  alozs em 15/7/2019, 22:37

    up

    Conteúdo patrocinado

    [Resolvido]Adicionar um campo em tabela via VBA Empty Re: [Resolvido]Adicionar um campo em tabela via VBA

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 23/7/2019, 02:02