MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Transferir dados entre tabelas.

    Compartilhe

    XPTOS
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 457
    Registrado : 20/01/2014

    Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  XPTOS em Dom 09 Fev 2014, 00:22

    Aos entendidos,

    Estou tentando resolver meu problema da seguinte forma:

    Importei todas as informações para apenas uma tabela chamada Enviados.

    Dúvida, é possível fazer um DLookup em dois campos dessa tabela? OBS: Preciso que me retorne os dados coincidentes, mas eles não estão na mesma linha.

    Ex: 1° Loop CódGuia
    Ex: 2° Loop senhaAutorizacao.

    Grato,

    HARYSOHN
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12246
    Registrado : 01/03/2011

    Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  HARYSOHN em Dom 09 Fev 2014, 13:51

    Você tem duas tabelas: Enviados e Recebidos..

    Quer verificar quais os recebidos... Lançar os dados na tblComparativo... E excluir apenas os que tem registros nas duas tabelas, ex:


    Enviados: Guia 00011
    Se recebidos contém Guia 00011
    Grava em comparativo e deleta os dados de ambas as tabelas (Recebidos e enviados)

    E isso?

    Cumprimentos.


    .................................................................................
    PILOTO
    الله أكبر Paz, Justiça e Liberdade! الله أكبر
    CLIQUE AQUI E VEJA O VÍDEO >>> BIOMETRIA EM ACCESS

    Iniciando no Access? Então veja esse tópico e também esse


    BUSCA NO FÓRUM - CLIQUE AQUI!!!

    Quando tua dúvida for RESOLVIDA, dê retorno com AGRADECIMENTO a aqueles que gastaram seu tempo em te ajudar.
    Clique no botão Resolvido logo acima do botão Enviar, do lado direito. Todos nós agradecemos.  
    [Você precisa estar registrado e conectado para ver esta imagem.]

    XPTOS
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 457
    Registrado : 20/01/2014

    Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  XPTOS em Dom 09 Fev 2014, 15:37

    Seria justamente isso que preciso.

    HARYSOHN
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12246
    Registrado : 01/03/2011

    Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  HARYSOHN em Seg 10 Fev 2014, 16:15

    Carrega o Recordset com os dados da tabela Recebidos, executa loop na mesma efetuando pesquisa contagem na enviados. caso exista o registro na enviados, copia para a acomparativos


    Private Sub btnExecutar_Click()
    Dim rsRecebidos     As DAO.Recordset
    Dim rsComparativo   As DAO.Recordset
    Dim StrSQLRec       As String
    Dim nCount          As Long
    Dim QtdRec          As Integer
    Dim QtdEnv          As Integer
     '-----------------------------------------------
    'Careego a variável com a SQL da tabela recebidos
    '------------------------------------------------
    StrSQLRec = "SELECT * FROM Recebido"
    '--------------------------------------
    'Seto o recordset com a sql da consulta
    '--------------------------------------
    Set rsRecebidos = CurrentDb.OpenRecordset(StrSQLRec)
    '------------------------------------------------------------------
    'Movo o ponteiro do recordset para o final em seguida para o início
    '------------------------------------------------------------------
    rsRecebidos.MoveLast: rsRecebidos.MoveFirst
    '-------------------------------------------------------------------------------------
    'Caso retorne 1 ou mais regisros seta o recordset baseado na tabela comparativo
    'executo loop pelo recordset basado na tabela Recebidos, adicionando um novo registro
    'na tabela comparativo. Observe que fiz apenas para dois campo, siga a mesma
    'lógica para os demais
    '-------------------------------------------------------------------------------------
    If rsRecebidos.RecordCount > 0 Then
        Set rsComparativo = CurrentDb.OpenRecordset("Comparativo")
        Do While Not rsRecebidos.EOF
            '-----------------------------------------------------------------------------
            'Verifica se na tabela enviado existe registro cuja SenhaAutorização = CódGuia
            'Caso exista copia-o para a comparativo
            '-----------------------------------------------------------------------------
            If DCount("*", "Enviado", "CódGuia = '" & rsRecebidos!senhaAutorizacao & "'") > 0 Then
                With rsComparativo
                    .AddNew
                        ![Nome da Usuário] = rsRecebidos!nomeBeneficiario
                        !CódGuia = rsRecebidos!senhaAutorizacao
                        !DtAlta = DLookup("DtAlta", "Enviado", "CódGuia = '" & rsRecebidos!senhaAutorizacao & "'")
                        !Qtd = DLookup("[Quantidade Serviço]", "Enviado", " CódGuia = '" & rsRecebidos!senhaAutorizacao & "'")
                        !Fechamento = DLookup("Fechamento", "Enviado", "CódGuia = '" & rsRecebidos!senhaAutorizacao & "'")
                        !Nota = DLookup("Nota", "Enviado", "CódGuia = '" & rsRecebidos!senhaAutorizacao & "'")
                        '------------------------------------------------------------------
                        'Carrego na variável a quantidade da tabela recebido, não necessita
                        'do Dlookup pois o valor já está no rsRecebidos
                        '------------------------------------------------------------------
                        QtdRec = rsRecebidos!quantidade
                        '-------------------------------------------------
                        'Coloco na variável a quantidade da tabela enviado
                        '-------------------------------------------------
                        ' QtdEnv = DLookup("[Quantidade Serviço]", "Enviado", " CódGuia = '" & rsRecebidos!senhaAutorizacao & "'")
                        'Lança na tabela comparativo a quantidade enviada - quantidade recebida
                        '!Qtd = qtdeEnv - qtdeRec
                        !SomaDevalorTotal = rsRecebidos!valorTotal
                        '![Saldo de diferença] = ValorPago - valorTotal isso..O resultado dessa função deve ir para o campo Saldo de diferença.tblComparativo
                    .Update
                End With
            End If
            '----------------------------------------------------------------
            'Incremento o contador para exibir mensagem de registros copiados
            '----------------------------------------------------------------
            nCount = nCount + 1
        rsRecebidos.MoveNext
        Loop
    '------------------------------------
    'Deleta os arquivos da tabela Enviado
    '------------------------------------
    'CurrentDb.Execute "DELETE * FROM Enviado WHERE CódGuia = '" & Me.cboEnviados & "'"
    'Deleta os arquivos da tabela Recebido
    '------------------------------------
    CurrentDb.Execute "DELETE * FROM Recebido WHERE senhaAutorizacao = '" & Me.cboEnviados & "'"
    '---------------------------
    'Emite mensagem de terminado
    '---------------------------
    'MsgBox "Foram copiados " & nCount & " Registros", vbInformation, "PRONTO"
    End If
    End Sub


    Cumprimentos.


    .................................................................................
    PILOTO
    الله أكبر Paz, Justiça e Liberdade! الله أكبر
    CLIQUE AQUI E VEJA O VÍDEO >>> BIOMETRIA EM ACCESS

    Iniciando no Access? Então veja esse tópico e também esse


    BUSCA NO FÓRUM - CLIQUE AQUI!!!

    Quando tua dúvida for RESOLVIDA, dê retorno com AGRADECIMENTO a aqueles que gastaram seu tempo em te ajudar.
    Clique no botão Resolvido logo acima do botão Enviar, do lado direito. Todos nós agradecemos.  
    [Você precisa estar registrado e conectado para ver esta imagem.]

    XPTOS
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 457
    Registrado : 20/01/2014

    Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  XPTOS em Seg 10 Fev 2014, 21:13

    Muitissimo obrigado Harisohn.
    Você é nota 1000.
    Resolvido.

    HARYSOHN
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12246
    Registrado : 01/03/2011

    Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  HARYSOHN em Ter 11 Fev 2014, 07:56

    O Fórum agradece o Retorno.


    .................................................................................
    PILOTO
    الله أكبر Paz, Justiça e Liberdade! الله أكبر
    CLIQUE AQUI E VEJA O VÍDEO >>> BIOMETRIA EM ACCESS

    Iniciando no Access? Então veja esse tópico e também esse


    BUSCA NO FÓRUM - CLIQUE AQUI!!!

    Quando tua dúvida for RESOLVIDA, dê retorno com AGRADECIMENTO a aqueles que gastaram seu tempo em te ajudar.
    Clique no botão Resolvido logo acima do botão Enviar, do lado direito. Todos nós agradecemos.  
    [Você precisa estar registrado e conectado para ver esta imagem.]

      Data/hora atual: Dom 04 Dez 2016, 14:13