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]Loop em Tabela para Inserir Dados

    avatar
    Junior Meireles
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 56
    Registrado : 14/08/2010

    [Resolvido]Loop em Tabela para Inserir Dados Empty Loop em Tabela para Inserir Dados

    Mensagem  Junior Meireles 6/8/2013, 03:54

    Boa Noite Amigos

    Preciso inserir dados de uma tabela em outra conforme o código, mas não estou conseguindo fazer: se não houver registro na tblSpedPisCofins inserir todos os registros da tblNotasFiscais, quando novos os registros forem inseridos na tbl NotasFiscais só inserir os novos registros na tblSpedPisCofins, mantendo os já exitentes na tblSpedPisCofins,
    Em anexo o exemplo
    Obrigado a quem puder me ajudar

    Código:
    Private Sub cmdInserirDados_Click()

    Dim Pesquisa As String
    Dim Rs As DAO.Recordset
    Set Rs = CurrentDb.OpenRecordset("tblSpedPisCofins")

    Pesquisa = DLookup("Doc", "tblSpedPisCofins", "doc=" & [Doc] & " and IdCliente=" & [IdCliente] & " ")


    Do While Not Rs.EOF

    If Rs!Pesquisa = True Then
    DoCmd.CancelEvent
    Rs.Close
    Set Rs = Nothing
    Exit Sub

    Else
    End If
    Rs.MoveNext
    Loop
    strSQL = ("INSERT INTO tblSpedPisCofins (IdNotaFiscal,CNPJ,CLIENTE,EMISSAO,Doc,Receita,BaseCalculoPis,Pis,BaseCalculoCofins,Cofins,Iss,Servicos,Comp,IdComp,IdCliente,CpfCnpj,RazaoSocial,OpcaoSimplesNacional) SELECT IdNotaFiscal,CNPJ,CLIENTE,EMISSAO,Doc,Receita,BaseCalculoPis,Pis,BaseCalculoCofins,Cofins,Iss,Servicos,Comp,IdComp,IdCliente,CpfCnpj,RazaoSocial,OpcaoSimplesNacional FROM tblNotasFiscais ")
    DoCmd.RunSQL (strSQL)
    Rs.Close
    Set Rs = Nothing


    End Sub
    Anexos
    [Resolvido]Loop em Tabela para Inserir Dados AttachmentDadosemOutraTabela.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (184 Kb) Baixado 12 vez(es)
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    [Resolvido]Loop em Tabela para Inserir Dados Empty Re: [Resolvido]Loop em Tabela para Inserir Dados

    Mensagem  Cláudio Más 6/8/2013, 06:48

    Olá,

    Pelo que entendi, todo o código pode ficar restrito a essas linhas:

    Código:
    DoCmd.RunCommand acCmdSaveRecord
    strSQL = "INSERT INTO tblSpedPisCofins ( IdNotaFiscal,CNPJ,CLIENTE,EMISSAO,Doc,Receita,BaseCalculoPis,Pis,BaseCalculoCofins,Cofins,Iss,Servicos,Comp,IdComp,IdCliente,CpfCnpj,RazaoSocial,OpcaoSimplesNacional) " & _
             "SELECT IdNotaFiscal,CNPJ,CLIENTE,EMISSAO,Doc,Receita,BaseCalculoPis,Pis,BaseCalculoCofins,Cofins,Iss,Servicos,Comp,IdComp,IdCliente,CpfCnpj,RazaoSocial,OpcaoSimplesNacional " & _
             "FROM (SELECT tblNotasFiscais.IdNotaFiscal, tblNotasFiscais.CNPJ, tblNotasFiscais.Cliente, tblNotasFiscais.Emissao, tblNotasFiscais.Doc, tblNotasFiscais.Receita, tblNotasFiscais.BaseCalculoIRPJ, tblNotasFiscais.IRRF, " & _
             "tblNotasFiscais.IRPJRecolher, tblNotasFiscais.BaseCalculoCSLL, tblNotasFiscais.CSLL, tblNotasFiscais.CSLLRecolher, tblNotasFiscais.BaseCalculoPis, tblNotasFiscais.PIS, tblNotasFiscais.PISRecolher, tblNotasFiscais.BaseCalculoCofins, " & _
             "tblNotasFiscais.COFINS, tblNotasFiscais.COFINSRecolher, tblNotasFiscais.ISS, tblNotasFiscais.INSS, tblNotasFiscais.Liquido, tblNotasFiscais.Comp, tblNotasFiscais.IdComp, tblNotasFiscais.IdCliente, tblNotasFiscais.Servicos, tblNotasFiscais.CpfCnpj, tblNotasFiscais.RazaoSocial, tblNotasFiscais.OpcaoSimplesNacional " & _
             "FROM tblNotasFiscais LEFT JOIN tblSpedPisCofins ON tblNotasFiscais.[IdNotaFiscal] = tblSpedPisCofins.[IdNotaFiscal] WHERE (((tblSpedPisCofins.IdNotaFiscal) Is Null))) a"
    DoCmd.RunSQL (strSQL)
    avatar
    Junior Meireles
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 56
    Registrado : 14/08/2010

    [Resolvido]Loop em Tabela para Inserir Dados Empty Re: [Resolvido]Loop em Tabela para Inserir Dados

    Mensagem  Junior Meireles 6/8/2013, 12:20

    Cláudio Obrigado pela sua gentileza em me ajudar, mas vou tentar explicar melhor. Estas duas tabelas é parte de um BD onde é importado para tblNotasFiscais  arquivos XML que eu não faço alteração, e a tblSpedPisCofins é onde posso fazer alterações. Eu teria que referenciar não pela idNotaFiscal e sim por pelo menos dois campos, ou seja Doc e IdCliente ou Doc e Cliente.
    Mais uma vez, obrigado
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    [Resolvido]Loop em Tabela para Inserir Dados Empty Re: [Resolvido]Loop em Tabela para Inserir Dados

    Mensagem  Cláudio Más 6/8/2013, 15:56

    Então é só corrigir os relacionamentos conforme você informou:

    Código:
    strSQL = "INSERT INTO tblSpedPisCofins ( IdNotaFiscal, CNPJ, CLIENTE, EMISSAO, Doc, Receita, BaseCalculoPis, Pis, BaseCalculoCofins, Cofins, Iss, Servicos, [Comp], IdComp, IdCliente, CpfCnpj, RazaoSocial, OpcaoSimplesNacional ) " & _
             "SELECT IdNotaFiscal, CNPJ, CLIENTE, EMISSAO, Doc, Receita, BaseCalculoPis, Pis, BaseCalculoCofins, Cofins, Iss, Servicos, Comp, IdComp, IdCliente, CpfCnpj, RazaoSocial, OpcaoSimplesNacional " & _
             "FROM (SELECT tblNotasFiscais.IdNotaFiscal, tblNotasFiscais.CNPJ, tblNotasFiscais.Cliente, tblNotasFiscais.Emissao, tblNotasFiscais.Doc, tblNotasFiscais.Receita, tblNotasFiscais.BaseCalculoIRPJ, tblNotasFiscais.IRRF, tblNotasFiscais.IRPJRecolher, " & _
             "tblNotasFiscais.BaseCalculoCSLL, tblNotasFiscais.CSLL, tblNotasFiscais.CSLLRecolher, tblNotasFiscais.BaseCalculoPis, tblNotasFiscais.PIS, tblNotasFiscais.PISRecolher, tblNotasFiscais.BaseCalculoCofins, tblNotasFiscais.COFINS, tblNotasFiscais.COFINSRecolher, " & _
             "tblNotasFiscais.ISS, tblNotasFiscais.INSS, tblNotasFiscais.Liquido, tblNotasFiscais.Comp, tblNotasFiscais.IdComp, tblNotasFiscais.IdCliente, tblNotasFiscais.Servicos, tblNotasFiscais.CpfCnpj, tblNotasFiscais.RazaoSocial, tblNotasFiscais.OpcaoSimplesNacional " & _
             "FROM tblNotasFiscais LEFT JOIN tblSpedPisCofins ON (tblNotasFiscais.Doc = tblSpedPisCofins.Doc) AND (tblNotasFiscais.Cliente = tblSpedPisCofins.Cliente) WHERE (((tblSpedPisCofins.Cliente) Is Null) AND ((tblSpedPisCofins.Doc) Is Null)))  AS a"
    avatar
    Junior Meireles
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 56
    Registrado : 14/08/2010

    [Resolvido]Loop em Tabela para Inserir Dados Empty Re: [Resolvido]Loop em Tabela para Inserir Dados

    Mensagem  Junior Meireles 6/8/2013, 21:31

    Claudio, muito obrigado a você e a todos que se interessaram, ficou muito bom, deu certo.

    Conteúdo patrocinado


    [Resolvido]Loop em Tabela para Inserir Dados Empty Re: [Resolvido]Loop em Tabela para Inserir Dados

    Mensagem  Conteúdo patrocinado


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