MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Transferir dados entre tabelas.

    Compartilhe
    avatar
    XPTOS
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 509
    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,
    avatar
    HARYSOHN
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12230
    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.]
    avatar
    XPTOS
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

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

    Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  XPTOS em Dom 09 Fev 2014, 15:37

    Seria justamente isso que preciso.
    avatar
    HARYSOHN
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12230
    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.]
    avatar
    XPTOS
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 509
    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.
    avatar
    HARYSOHN
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12230
    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 25 Jun 2017, 09:35