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

    ACCESS arredondando o valor double na hora do INSERT. Alguém ajuda?

    avatar
    AugustoCF
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1
    Registrado : 02/08/2024

    ACCESS arredondando o valor double na hora do INSERT. Alguém ajuda? Empty ACCESS arredondando o valor double na hora do INSERT. Alguém ajuda?

    Mensagem  AugustoCF 2/8/2024, 22:54

    Boa noite

    tenho um campo Número Grande no meu Access e preciso executar um SQL para inserir os registros importados.  O Access está arredondando na hora da inclusão.
    Já concatenei na hora de montar o SQL e já utilizei o CreateQueryDef e passei por parâmetro... sempre o mesmo resultado.  

    Método 1
                           strSQL = "INSERT INTO ANT ( Latitude, Longitude ) " _
                               & " VALUES ( " & coordenadas(1) & " ,"  & coordenadas(2) & " ) "
                               
                           DoCmd.RunSQL strSQL

    Método 2
                           strSQL = "INSERT INTO ANT ( Latitude, Longitude ) " _
                               & " VALUES ( ?, ?) "
                               

                           Set qdf = db.CreateQueryDef("", strSQL)
                           qdf.Parameters(0) = CDbl(coordenadas(1))
                           qdf.Parameters(1) = CDbl(coordenadas(2))
       
                           qdf.Execute dbFailOnError

    Seja qual for a forma, sempre perde as decimais.

    Alguém dá um help... sou novo no VBA ACCESS
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3427
    Registrado : 13/12/2016

    ACCESS arredondando o valor double na hora do INSERT. Alguém ajuda? Empty Re: ACCESS arredondando o valor double na hora do INSERT. Alguém ajuda?

    Mensagem  Alexandre Fim 3/8/2024, 00:16

    Olá Augusto,

    Seja bem-vindo ao fórum.

    Os dados de coordenadas são tipos de dados espaciais, contemplados em outros banco de dados (SQL Server, MySQL e etc.), e mesmo que voce defina como Numérico e tamanho como Decimal, provavelmente não vai atender suas necessidades:

    ACCESS arredondando o valor double na hora do INSERT. Alguém ajuda? Coord110


    No exemplo abaixo, a latitude da Muralha da China é 40.431940, mas o ZERO a direita é ignorado:

    ACCESS arredondando o valor double na hora do INSERT. Alguém ajuda? Coord210

    Neste caso, o Access não vai armazenar o PONTO, mas a VIRGULA.

    Imagino que esses dados não serão utilizado para cálculos, e minha sugestão é alterar o tipo de campo para Texto mesmo, e ficariam desta forma:

    ACCESS arredondando o valor double na hora do INSERT. Alguém ajuda? Coord310


    Segue instrução para gravar os dados como Texto na tabela:

    Código:


        strSQL = "INSERT INTO ANT "
        strSQL = strSQL & " ( "
        strSQL = strSQL & " Latitude, "
        strSQL = strSQL & " Longitude "
        strSQL = strSQL & " ) "
        strSQL = strSQL & " VALUES "
        strSQL = strSQL & " ( "
        strSQL = strSQL & " '" & Trim(coordenadas(1)) & "',"
        strSQL = strSQL & " '" & Trim(coordenadas(2)) & "' "
        strSQL = strSQL & " ) "
                                  
        CurrentDb.Execute strSQL


    Se possivel, compartilhe uma cópia do seu bd para análise também.

    É isso.

    Espero ter ajudado.

    Att,

    Alexandre Fim


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    ACCESS arredondando o valor double na hora do INSERT. Alguém ajuda? Setinf11
    Sistemas e Tecnologia Ltda

      Data/hora atual: 16/9/2024, 20:22