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]Acrescentar campo 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]Acrescentar campo em tabela temporária Empty [Resolvido]Acrescentar campo em tabela temporária

    Mensagem  Chamon Consultoria 8/10/2016, 04:13


    Bd em Access 2010.

    Tabelas envolvidas:
    XML_PROD
    XML_DET
    xmlProdutos (Tabela temporária)

    O Formulário possui um botão de comando que cria uma tabela temporária. Segue código:

    Código:
    'CRIAR TABELA TEMPORARIA
        Dim stSql  As String
        stSql = "SELECT XML_PROD.cProd AS ccVarPro, XML_PROD.cEAN AS ccBarras, XML_PROD.xProd AS ccNomPro, XML_PROD.NCM AS ccNCM, XML_PROD.uCom AS ccMedida, XML_PROD.nFCI AS ccnFCI, Val([qCom]) AS ccQte, Val([vUnCom]) AS ccPreçoCusto, Val([vProd]) AS ValorTotal, tbl_Produtos.CODPRO AS CODIGO, tbl_Produtos.ccNomPro AS NOME, Val([qCom]) AS QTE, Val([vUnCom]) AS CUSTO, Val([vProd]) AS TOTAL, Val([nItem]) AS Item INTO xmlProdutos"
        stSql = stSql & " FROM XML_PROD LEFT JOIN tbl_Produtos ON XML_PROD.cEAN = tbl_Produtos.ccBarras;"
       
       
        DoCmd.SetWarnings False
        DoCmd.RunSQL stSql
        DoCmd.SetWarnings True
       
        DoCmd.Close acForm, Me.Form.Name


    Gostaria de acrescentar "XML_DET.infAdProd AS ccinfAdProd", de modo que o conteúdo do campo "XML_DET.infAdProd" também fosse criado na tabela temporária "xmlProdutos".

    Fiz alguns testes incluindo "XML_DET.infAdProd AS ccinfAdProd" no código, mas aparece uma mensagem pedindo para inserir um valor para o campo.

    Como posso fazer isso?

    Desde já agradeço!
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Acrescentar campo em tabela temporária Empty Re: [Resolvido]Acrescentar campo em tabela temporária

    Mensagem  Alexandre Neves 8/10/2016, 09:49

    Bom dia,
    O campo não existirá na tabela XML_DET


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    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]Acrescentar campo em tabela temporária Empty Re: [Resolvido]Acrescentar campo em tabela temporária

    Mensagem  Chamon Consultoria 8/10/2016, 16:06

    Alexandre, desculpe mas não entendi sua resposta.

    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Acrescentar campo em tabela temporária Empty Re: [Resolvido]Acrescentar campo em tabela temporária

    Mensagem  Alexandre Neves 8/10/2016, 16:09

    O campo existe na tabela ou é campo novo?
    pelo código, deve ser da tabela; pela mensagem de erro, não deve existir na tabela


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    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]Acrescentar campo em tabela temporária Empty Re: [Resolvido]Acrescentar campo em tabela temporária

    Mensagem  Chamon Consultoria 8/10/2016, 16:25

    O campo existe ambas tabelas:

    tbl_Produtos: ccinfAdProd

    XML_DET: infAdProd

    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Acrescentar campo em tabela temporária Empty Re: [Resolvido]Acrescentar campo em tabela temporária

    Mensagem  Alexandre Neves 8/10/2016, 16:27

    Só vendo a bd


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    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]Acrescentar campo em tabela temporária Empty Re: [Resolvido]Acrescentar campo em tabela temporária

    Mensagem  Chamon Consultoria 8/10/2016, 17:12

    Segue anexo para análise.
    Abra o Formulário XML_IMPORTAR e clique em processar.
    Vai aparece a mensagem para inserir um valor.
    Clique em OK e observe que será criada a tabela "xmlProdutos".
    Nessa tabela é criado o campo "ccinfAdProd", porém sem o seu conteúdo que deveria ser captado na tabela XML_DET.
    Anexos
    [Resolvido]Acrescentar campo em tabela temporária AttachmentCriar Tabela Temp.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (36 Kb) Baixado 16 vez(es)
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Acrescentar campo em tabela temporária Empty Re: [Resolvido]Acrescentar campo em tabela temporária

    Mensagem  Alexandre Neves 8/10/2016, 17:50

    Não tem a tabela relacionada no SQL
    Só tem XML_PROD e tbl_Produtos


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    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]Acrescentar campo em tabela temporária Empty Re: [Resolvido]Acrescentar campo em tabela temporária

    Mensagem  Chamon Consultoria 8/10/2016, 21:32

    Eis a solução:

    Créditos para Avelino Sampaio.

    'CRIAR TABELA TEMPORARIA
    Dim stSql As String
    Dim rs As dao.Recordset
    stSql = "SELECT XML_PROD.cProd AS ccVarPro, XML_PROD.cEAN AS ccBarras, XML_PROD.xProd AS ccNomPro, "
    stSql = stSql & "XML_PROD.NCM AS ccNCM, XML_PROD.uCom AS ccMedida, XML_PROD.nFCI AS ccnFCI, "
    'aqui vc cria o campo vazio
    stSql = stSql & "'' AS ccinfAdProd, "
    stSql = stSql & "Val([qCom]) AS ccQte, Val([vUnCom]) AS ccPreçoCusto, Val([vProd]) AS ValorTotal, tbl_Produtos.CODPRO AS CODIGO, "
    stSql = stSql & "tbl_Produtos.ccNomPro AS NOME, Val([qCom]) AS QTE, Val([vUnCom]) AS CUSTO, Val([vProd]) AS TOTAL, "
    stSql = stSql & "Val([nItem]) AS Item INTO xmlProdutos"
    stSql = stSql & " FROM XML_PROD LEFT JOIN tbl_Produtos ON XML_PROD.cEAN = tbl_Produtos.ccBarras;"

    DoCmd.SetWarnings False
    DoCmd.RunSQL stSql
    DoCmd.SetWarnings True

    Set rs = CurrentDb.OpenRecordset("xmlProdutos")
    Do While Not rs.EOF
    rs.Edit
    rs!ccinfAdProd = Nz(DLookup("infadprod", "XML_Det", "infadprod like '*" & rs!ccnFCI & "*'"))
    rs.Update
    rs.MoveNext
    Loop
    rs.Close
    Set rs = Nothing
    MsgBox "Montagem da tabela concluida...", vbInformation, "Aviso"
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Acrescentar campo em tabela temporária Empty Re: [Resolvido]Acrescentar campo em tabela temporária

    Mensagem  Alexandre Neves 8/10/2016, 22:26

    Ainda bem que resolveu
    Mas, se esse código corresponde à solução, nunca seria possível chegar à solução com a falta de dados na bd
    Fica-se com a sensação de impotência, estar-se a matutar e cansar à procura de solução e chegar à conclusão que nos dificultou o trabalho


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

    Conteúdo patrocinado


    [Resolvido]Acrescentar campo em tabela temporária Empty Re: [Resolvido]Acrescentar campo em tabela temporária

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 19/4/2024, 19:14