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]Propriedades de campos de tabela temporária

    avatar
    pbbsb
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 56
    Registrado : 22/08/2013

    [Resolvido]Propriedades de campos de tabela temporária Empty [Resolvido]Propriedades de campos de tabela temporária

    Mensagem  pbbsb Qua 17 Fev 2016, 15:52

    Boa tarde mestres. Mais um entrave esperando umas dicas de vocês.
    Tenho uma rotina que cria uma tabela temporária.
    ssql = vbNullString
    ssql = ssql & " Create Table tmptblPreçoProdutos ("
    ssql = ssql & " FormaçaoPreçoID Integer,"
    ssql = ssql & " EspecificaçaoProdutoID Integer,"
    ssql = ssql & " CodigoProduto VarChar (20),"
    ssql = ssql & " PreçoCusto Single, "
    ssql = ssql & " Margem% Single)
    CurrentDb.Execute (ssql)

    Resumidamente é esta instrução e funciona perfeitamente, criando uma tabela temporária.
    O que estou precisando é que a propriedade do campo "PreçoCusto" seja Single e padrão (2 casas decimais) e a propriedade do campo "Margem%" seja single e porcentagem (com 1 casa decimal).
    É possível colocar estas propriedades diretamente na instrução?
    Meu Access é 2010.

    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Propriedades de campos de tabela temporária Empty Re: [Resolvido]Propriedades de campos de tabela temporária

    Mensagem  Avelino Sampaio Qui 18 Fev 2016, 01:54

    Olá!

    Veja se a minha dica 64 ajuda:

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

    Sucesso!



    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso irrestrito ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    pbbsb
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 56
    Registrado : 22/08/2013

    [Resolvido]Propriedades de campos de tabela temporária Empty Propriedades de campos de tabela temporária

    Mensagem  pbbsb Qui 18 Fev 2016, 08:18

    Bom dia Avelino.
    Eu já havia visto este documento seu, na verdade ele foi o meu ponto de partida para começar entender como funcionava a criação e definição de propriedades.
    Mas não aborda especificamente a a definição de propriedades como duplo padrão e porcentagem.
    Resolvi o problema com uma rotina retirada de um site americano. Ficou assim:

    Public Sub FormatFieldToPercent(strTableName As String, strFieldName As String)
    '--------------------------------------------------------------------------------
    'Esta rotina formata os campos das tabelas temporárias no formato porcentagem
    '--------------------------------------------------------------------------------
    Dim db As DAO.Database
    Dim tdf As DAO.TableDef
    Dim fld As DAO.Field
    Dim prop As DAO.Property

    Set db = CurrentDb()
    Set tdf = db.TableDefs(strTableName)
    Set fld = tdf.Fields(strFieldName)
    Set prop = fld.CreateProperty("Format", dbText, "Percent") 'Define o formato
    fld.Properties.Append prop 'Aplica o formato
    Set tdf = Nothing
    Set fld = Nothing
    Set prop = Nothing
    Set db = Nothing
    End Sub

    Public Sub FormatFieldToStandard(strTableName As String, strFieldName As String)
    '------------------------------------------------------------------------------------------
    'Esta rotina formata os campos das tabelas temporárias no formato padrão, 2 casas decimais
    '------------------------------------------------------------------------------------------
    Dim db As DAO.Database
    Dim tdf As DAO.TableDef
    Dim fld As DAO.Field
    Dim prop As DAO.Property

    Set db = CurrentDb()
    Set tdf = db.TableDefs(strTableName)
    Set fld = tdf.Fields(strFieldName)
    Set prop = fld.CreateProperty("Format", dbText, "Standard")
    fld.Properties.Append prop
    Set tdf = Nothing
    Set fld = Nothing
    Set prop = Nothing
    Set db = Nothing
    End Sub

    Após a rotina que publiquei aqui ontem é só fazer a chamada destas rotinas e passar os parâmetros. Não é muito diferente do que você indicou e nem da rotina que o J. Paulo tambem
    postou aqui no forum. O que precisava era esta instrução: "Format", dbText,"Percent" ou "Standard". Não sei se é a forma mais inteligente, mas funciona.
    Estou dando o tópico como encerrado mas agradeço imensamente sua ajuda aqui e no seu site.

      Data/hora atual: Ter 18 Jan 2022, 22:08