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

    [Resolvido]Adicionar um campo em tabela via VBA

    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  Assis 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 ***
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  DamascenoJr. 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;"


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  Assis 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 ***
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  DamascenoJr. 17/1/2019, 11:39

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


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  Assis 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 ***
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  DamascenoJr. 17/1/2019, 12:00

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


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    JPaulo
    JPaulo
    Moderador
    Moderador

    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  JPaulo 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 : Respeito às Regras 100%

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

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

    Mensagem  Assis 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 : Respeito às Regras 100%

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

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

    Mensagem  tauron 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 : Respeito às Regras 100%

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

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

    Mensagem  Assis 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 : Respeito às Regras 100%

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

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

    Mensagem  Assis 17/1/2019, 18:54

    Obrigado JPaulo

    Obrigado Ivan

    Consegui resolver


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

    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  JPaulo 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 : Respeito às Regras 100%

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

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

    Mensagem  Assis 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 : Respeito às Regras 100%

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

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

    Mensagem  JPaulo 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 : Respeito às Regras 100%

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

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

    Mensagem  Assis 17/1/2019, 21:46

    J.Paulo

    É igual

    Obrigado


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

    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  JPaulo 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 : Respeito às Regras 100%

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

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

    Mensagem  Assis 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 : Respeito às Regras 100%

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

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

    Mensagem  JPaulo 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 : Respeito às Regras 100%

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

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

    Mensagem  Assis 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 : Respeito às Regras 100%

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

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

    Mensagem  JPaulo 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 : Respeito às Regras 100%

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

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

    Mensagem  Assis 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 : Respeito às Regras 100%

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

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

    Mensagem  JPaulo 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 : Respeito às Regras 100%

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

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

    Mensagem  Assis 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 ***
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  DamascenoJr. 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


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  Assis 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 13 vez(es)


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

    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  DamascenoJr. 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


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  Assis 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 ***
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  DamascenoJr. 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 32 vez(es)


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.

    crysostomo gosta desta mensagem

    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  Assis 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 ***
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  DamascenoJr. 23/1/2019, 00:35

    Escreva Standard que aparecerá a palavra Padrão.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  Assis 23/1/2019, 00:51

    Obrigado Ivan

    cheers  Agora Resolvido II   Laughing Laughing


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

    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  DamascenoJr. 23/1/2019, 00:54

    O fórum agradece. Sucesso.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    alozs
    alozs
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  alozs 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
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  alozs 15/7/2019, 22:37

    up

      Data/hora atual: 16/6/2021, 15:27