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]Erro ao Salvar dados em tabela Temporária

    avatar
    Chamon Consultoria
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 266
    Registrado : 31/08/2012

    [Resolvido]Erro ao Salvar dados em tabela Temporária Empty [Resolvido]Erro ao Salvar dados em tabela Temporária

    Mensagem  Chamon Consultoria 13/11/2020, 12:39


    Boa tarde!

    Bd em Access 2010.

    Segue trecho do código que cria o campo na tabela Temporária:

    Dim stSql As String
    Dim rs As DAO.Recordset
    stSql = "SELECT Cs_xmlProdutos.cProd AS ccVarPro,"

    stSql = stSql & "Cs_xmlProdutos.XMLDESC AS XMLDESC,"


    O campo "Cs_xmlProdutos.XMLDESC" contém 468 caracteres. ( A origem do Campo XMLDESC é a Consulta Cs_xmlProdutos).
    Porém quando é criado o campo XMLDESC na tabela temporária, são salvos apenas 255, pois o esse campo está sendo criado no formato Texto.

    Como salvar todo o conteúdo do campo Cs_xmlProdutos.XMLDESC ao criar o novo campo XMLDESC na tabela temporária?

    Desde já agradeço!






    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 21/11/2016

    [Resolvido]Erro ao Salvar dados em tabela Temporária Empty Re: [Resolvido]Erro ao Salvar dados em tabela Temporária

    Mensagem  DamascenoJr. 13/11/2020, 13:04

    Qual comando está usando para atribuir valor ao campo?


    .................................................................................
    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.
    avatar
    Chamon Consultoria
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 266
    Registrado : 31/08/2012

    [Resolvido]Erro ao Salvar dados em tabela Temporária Empty Re: [Resolvido]Erro ao Salvar dados em tabela Temporária

    Mensagem  Chamon Consultoria 13/11/2020, 13:32



    Tentei o seguinte:

    stSql = stSql & "MEMO(Cs_xmlProdutos.XMLDESC) AS XMLDESC,"

    Mas gera o erro: Erro em tempo de execução '3085': Função 'MEMO' indefinida na expressão.


    Em outro campo, usando "Val" conforme abaixo, a conversão é feita perfeitamente (de texto em (Cs_xmlProdutos.TOTALvProd) para Número no campo TOTALvProd da tabela temporária.

    stSql = stSql & "Val(Cs_xmlProdutos.TOTALvProd) AS TOTALvProd, "

    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 21/11/2016

    [Resolvido]Erro ao Salvar dados em tabela Temporária Empty Re: [Resolvido]Erro ao Salvar dados em tabela Temporária

    Mensagem  DamascenoJr. 13/11/2020, 15:04

    Val é uma função. MEMO não é uma função.

    Sugiro anexar sua parte do projeto para melhor ajuda.


    .................................................................................
    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.
    avatar
    Chamon Consultoria
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 266
    Registrado : 31/08/2012

    [Resolvido]Erro ao Salvar dados em tabela Temporária Empty Re: [Resolvido]Erro ao Salvar dados em tabela Temporária

    Mensagem  Chamon Consultoria 14/11/2020, 09:05

    DamascenoJr., bom dia!

    Fiz o seguinte:

    Na tabela "xmlProdutos" criei o campo "XMLDESC" no formato memorando.

    Na Consulta "Cs_xmlProdutos" criei o campo  "XMLDESC3" que contém as informações que deverão ser salvas no campo "XMLDESC" na tabela "xmlProdutos".

    Criei uma função para salvar o conteúdo do campo "XMLDESC3" no campo "XMLDESC", porém nos itens que a descrição é muito grande, está apresentando um erro.

    Antes de clicar no botão "Atualizar campo XMLDESC na tabela xmlProdutos" observe que na tabela "xmlProdutos" o campo "XMLDESC" está em branco em todos os registros.
    Após executar a função, o campo vem sendo atualizado em todos os registros, até ocorrer o erro nas descrições maiores.


    Segue anexo.

    Obrigado, pela ajuda.
    Anexos
    [Resolvido]Erro ao Salvar dados em tabela Temporária AttachmentAtualizar.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (69 Kb) Baixado 9 vez(es)
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 21/11/2016

    [Resolvido]Erro ao Salvar dados em tabela Temporária Empty Re: [Resolvido]Erro ao Salvar dados em tabela Temporária

    Mensagem  DamascenoJr. 14/11/2020, 10:46

    Código:
    Dim objBd  As DAO.Database
    Dim objRst1 As DAO.Recordset
    Dim objRst2 As DAO.Recordset
    Dim strSQL  As String

    Set objBd = CurrentDb

    strSQL = "SELECT XMLDESC3, nItem FROM Cs_xmlProdutos order by nItem;"
    Set objRst1 = objBd.OpenRecordset(strSQL, dbOpenForwardOnly, dbReadOnly)

    If objRst1.RecordCount > 0 Then

        strSQL = "SELECT XMLDESC, Item FROM xmlProdutos order by Item;"
        Set objRst2 = objBd.OpenRecordset(strSQL)
       
        If objRst2.RecordCount > 0 Then

            Do
           
                Call objRst2.FindFirst("Item = " & objRst1!nItem.Value)
               
                While (Not objRst2.NoMatch)
                    Call objRst2.Edit
                        objRst2!XMLDESC.Value = objRst1!XMLDESC3.Value
                    Call objRst2.Update
                    Call objRst2.FindNext("Item = " & objRst1!nItem.Value)
                Wend
               
                Call objRst1.MoveNext
               
            Loop Until objRst1.EOF
           
        End If
       
        Call objRst2.Close: Set objRst2 = Nothing
       
    End If

    Call objRst1.Close: Set objRst1 = Nothing
    Set objBd = Nothing


    .................................................................................
    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.
    avatar
    Chamon Consultoria
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 266
    Registrado : 31/08/2012

    [Resolvido]Erro ao Salvar dados em tabela Temporária Empty Re: [Resolvido]Erro ao Salvar dados em tabela Temporária

    Mensagem  Chamon Consultoria 14/11/2020, 12:55

    A mensagem de erro foi corrigida, porém observei que o conteúdo do item 10 não foi copiado totalmente, apenas os primeiros 255 caracteres:

    Conteúdo completo na Consulta "Cs_xmlProdutos" campo  "XMLDESC3":

    Código:
    0922968044TENISCADTUBSCOD85TAM090CMBRANCOCADTUBSCOD85TAM110CMBRANCOFLOATERMETALIZADOCOVERHLGDRDNEWMESTICOBSTRNEWMESTICOCOVERCREMEGLITTERGLAMOURDRDFLOATERMETALIZADOHLGDRDFLOATERMETALIZADOCOVERHLGDRDNEWMESTICOCOVERBSTRFLOATERMETALIZADOCOVERHLGDRDFLOATERMETALIZADOCOVERHLGDRDCARIMBOCAFEFORROCACHARRELCNCHSOLAPVCEXPREF741L296BRANCOSOLETATR744L296000NATURAL

    Conteúdo salvo:

    Código:
    0922968044TENISCADTUBSCOD85TAM090CMBRANCOCADTUBSCOD85TAM110CMBRANCOFLOATERMETALIZADOCOVERHLGDRDNEWMESTICOBSTRNEWMESTICOCOVERCREMEGLITTERGLAMOURDRDFLOATERMETALIZADOHLGDRDFLOATERMETALIZADOCOVERHLGDRDNEWMESTICOCOVERBSTRFLOATERMETALIZADOCOVERHLGDRDFLOATERMETA

    Não entendi pois o campo de destino está no formato memorando.

    Como podemos resolver isso?
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 21/11/2016

    [Resolvido]Erro ao Salvar dados em tabela Temporária Empty Re: [Resolvido]Erro ao Salvar dados em tabela Temporária

    Mensagem  DamascenoJr. 14/11/2020, 15:09

    Resolvi não mais deixar a cargo da consulta trabalhar a junção dos seus vários campos e substituição de caracteres para formação do campo XMLDESC3.

    Memorando e consulta não se bicam!

    Código:
    Dim objBd   As DAO.Database
    Dim objRst1 As DAO.Recordset
    Dim objRst2 As DAO.Recordset
    Dim strSQL  As String

    Set objBd = CurrentDb

    strSQL = strSQL & "SELECT XML_PROD.nItem, XML_PROD.cProd, XML_PROD.xProd, infAdProd "
    strSQL = strSQL & "FROM XML_ICMSTOTAL, ((((XML_PROD INNER JOIN XML_ICMS ON XML_PROD.nItem = XML_ICMS.nItem) INNER JOIN XML_PIS ON XML_PROD.nItem = XML_PIS.nItem) INNER JOIN XML_COFINS ON XML_PROD.nItem = XML_COFINS.nItem) INNER JOIN XML_DET ON XML_PROD.nItem = XML_DET.nItem) INNER JOIN Cs_xmlProdutosIPI ON XML_PROD.nItem = Cs_xmlProdutosIPI.nItem "
    strSQL = strSQL & "ORDER BY XML_PROD.nItem;"
    Set objRst1 = objBd.OpenRecordset(strSQL, dbOpenForwardOnly, dbReadOnly)

    If objRst1.RecordCount > 0 Then

        strSQL = "SELECT XMLDESC, Item FROM xmlProdutos order by Item;"
        Set objRst2 = objBd.OpenRecordset(strSQL)
        
        If objRst2.RecordCount > 0 Then

            Do
            
                Call objRst2.FindFirst("Item = " & objRst1!nItem.Value)
                
                While (Not objRst2.NoMatch)
                    Call objRst2.Edit
                        objRst2!XMLDESC.Value = Replace( _
                                                    Replace( _
                                                        Replace( _
                                                            Replace( _
                                                                Replace( _
                                                                    objRst1!cProd.Value & objRst1!xProd.Value & objRst1!infAdProd.Value, _
                                                                ".", ""), _
                                                            "/", ""), _
                                                        "-", ""), _
                                                    " ", ""), _
                                                ",", "")
                    Call objRst2.Update
                    Call objRst2.FindNext("Item = " & objRst1!nItem.Value)
                Wend
                
                Call objRst1.MoveNext
                
            Loop Until objRst1.EOF
            
        End If
        
        Call objRst2.Close: Set objRst2 = Nothing
        
    End If

    Call objRst1.Close: Set objRst1 = Nothing
    Set objBd = Nothing


    .................................................................................
    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.
    avatar
    Chamon Consultoria
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 266
    Registrado : 31/08/2012

    [Resolvido]Erro ao Salvar dados em tabela Temporária Empty Re: [Resolvido]Erro ao Salvar dados em tabela Temporária

    Mensagem  Chamon Consultoria 15/11/2020, 11:21


    DamascenoJr., tudo certo! Parabéns!

    Foi muito útil também a informação: "Memorando e consulta não se bicam". É sempre bom adquirirmos novos conhecimentos.

    Muito obrigado e sucesso!

    Abraço


    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 21/11/2016

    [Resolvido]Erro ao Salvar dados em tabela Temporária Empty Re: [Resolvido]Erro ao Salvar dados em tabela Temporária

    Mensagem  DamascenoJr. 15/11/2020, 11:27

    O fórum agradece o retorno. 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.

    Conteúdo patrocinado


    [Resolvido]Erro ao Salvar dados em tabela Temporária Empty Re: [Resolvido]Erro ao Salvar dados em tabela Temporária

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 26/4/2024, 20:17