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


    [Resolvido]Transferir dados entre tabelas.

    XPTOS
    XPTOS
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Transferir dados entre tabelas. Empty [Resolvido]Transferir dados entre tabelas.

    Mensagem  XPTOS 21/1/2014, 22:58

    Tenho um banco de dados no Access 2010 com três tabelas, sendo a 1ª tblEnviado, a 2ª tblRecebido e uma 3ª com o comparativo entre o Enviado (-) menos Recebido.

    Criei o  botão de comando "Importar" e queria que ao clicar ele importasse esses dados para tblComparativo e deletasse esses registros importados da tblRecebido.

    Os campos da tblEnviado são: ID; Nome da Usuário, CódUsuário; CódGuia; DtAtendimento; DtAlta; CódServiço; Nome Serviço; Quantidade Serviço; Referencia; Valor Pago; Fechamento; Nota.
    Já os campos da tblRecebido são: ID; nomeBeneficiario; numeroCarteira; senhaAutorizacao; dataHoraInternacao; dataHoraSaidaInternacao; código; descrição; quantidade; valorUnitario; valorTotal.

    PS: TENTEI ANEXAR O BANCO MAIS DE ERRO!!!
    avatar
    Convidado
    Convidado


    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  Convidado 22/1/2014, 01:57

    Boa  noite Amigo.. envie-me no e-mail que posto aqui...

    Cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  Convidado 22/1/2014, 14:34

    Eis o Banco do Colega:

    https://dl.dropboxusercontent.com/u/26441349/Wagninho.zip


    Wagner.. não tenho como ajudá-lo pois está em formato superior ao 2007 e não tenho como converter.
    Converta-o em 2007 e me envie novamente no e-mail.

    Cumprimentos.
    XPTOS
    XPTOS
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  XPTOS 22/1/2014, 17:02

    HARYSOHN, boa tarde,

    Converti o arquivo em formato 2007 e enviei no seu e-mail.

    Sua ajuda será de grande valia para mim.

    Grato,

    Wagner Gomes
    avatar
    Convidado
    Convidado


    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  Convidado 22/1/2014, 21:14

    É um sistema de faturamento hospitalar?

    Pois bem.. cite os objetos e a dúvida.

    Cumprimentos.
    XPTOS
    XPTOS
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  XPTOS 22/1/2014, 21:55

    O objetivo seria fazer uma conferencia automatizada de pagamentos. Ou seja, tenho um excel de tudo que faturei, e recebo um excel de tudo que está sendo pago. Ambos importo pro sistema e Nele tem um formCOMPARATIVO que é o resultado de uma consulta que fiz comparando o q enviei com o q recebi.

    Gostaria de criar um botao para enviar os registros pra tblCOMPARATIVO usando como criterio o CÓDGUIA. A medida q ele achar o dado ele precisa apagar o registro da tblRecebido. Seria algo semelhante ao que criou p usuario UMEI.

    Grato,
    XPTOS
    XPTOS
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  XPTOS 24/1/2014, 16:22

    Olá, boa tarde,

    Gostaria de uma ajuda dos mais entendidos para tentar achar uma solução do problema do meu banco postado anteriormente.

    Grato,
    XPTOS
    XPTOS
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  XPTOS 25/1/2014, 00:38

    Galera me ajudem, por favor,

    Estou tentando adaptar o código citados em post anterior, mas dá a seguinte mensagem.
    avatar
    Convidado
    Convidado


    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  Convidado 25/1/2014, 15:51

    Boa tarde Colega.. isto é relativamente fácil de fazer.. se voce conseguir antes me fazer entender:



    Criar Botão para enviar os registros para tblComparativo >>  Estes registros estão em qual tabela?
    Critério o CódGuia >> Ok

    A medida que ele achar o dado ele precisa apagar o registro da tabela comparativo >>> Ele quem? Como é feita esta busca, cite os detalhes  citando objetos e tabelas..

    Cumprimentos.
    XPTOS
    XPTOS
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  XPTOS 25/1/2014, 16:27

    Seria da seguinte forma!
    Tenho um registro chamado CódGuia - Mascara (Guia) na tblEnviado e este mesmo registro também está na tblRecebido chamado senhaAutorizacao mascara (Guia).
    Gostaria de criar um botão para fazer um comparativo entre as duas tabela Enviado e Recebido.

    Seria basicamente assim, na tblEnviado eu tenho um código 93328460 que refere-se a um material AGULHA DESCARTAVEL 25X7. Isso seria o que eu faturei em um período.

    Depois de alguns dias eu recebido um extrato de pagamento que importo para tblRecebido, inclusive o código pago 93328460 que refere-se a um material AGULHA DESCARTAVEL 25X7.

    Queria um botão que ao um botão no formulário Comparativo criei de modo que ao clicar ele apagasse os registros correspondentes tando da tblEnviado quanto da tblRecebido. Esse ação criaria uma tblComparativo que é aonde ficaria guardados os registros do meu faturamento, os quais contemplam os registros das tabelas anteriores.

    Qualquer dúvida é só falar que tento detalhar ainda melhor o processo.

    Cordialmente,
    avatar
    Convidado
    Convidado


    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  Convidado 26/1/2014, 01:24

    Ok.. Tem duas tabelas...
    tblEnviados e tblRecebidos....

    1 - Você quer digitar um número de guia.... e verificar se a mesma se encontra na tblRecebidos.. Caso encontre este número na tblRecebidos... Envia os registos deste número guia para a tblComparativo.. apagando os registros de mesmo número nas tblRecebidos e tblenviados?

    ou

    2 - Verifica se a guia enviada está na tabela recebidos... caso encontre envia os registros para a tblComparativo e apaga os registros em enviados/recebidos?


    Cumprimentos.
    XPTOS
    XPTOS
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  XPTOS 26/1/2014, 01:47

    Perfeito HARYSOHN,

    Seria a primeira opção que eu estava precisando para meu projeto.

    Grato,
    XPTOS
    XPTOS
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  XPTOS 26/1/2014, 19:36

    Mas, se for muito complexo eu ficaria com a segunda opção...

    Grato,
    XPTOS
    XPTOS
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  XPTOS 27/1/2014, 00:51

    Boa noite,
    Agradeço se puder me ajudar.

    Pois, tentei achar na web algo pra resolver minha duvida! Sem sucesso...
    avatar
    Convidado
    Convidado


    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  Convidado 27/1/2014, 00:56

    É o que estou tentando fazer desde o princípio.. Ajudá-lo, no entanto a paciência é uma virtude...

    Bem sobre os ítens 1 e 2 olhando bem.. eu acho que escrevi a mesma coisa (risos)

    Verei isto pra ti.

    Cumprimentos.
    XPTOS
    XPTOS
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  XPTOS 27/1/2014, 01:07

    Ok, Horysohn

    Me debrucei neste processo ha semanas e nao consegui criar nada. É o desespero falando mais alto. (Risos).
    avatar
    Convidado
    Convidado


    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  Convidado 27/1/2014, 01:24

    Seus "probremas" se acabaram-se então:

    Segue código explicado de todo o processo e exemplo.. 

    https://dl.dropboxusercontent.com/u/26441349/Vagninho.rar


    Dim rsRecebidos     As DAO.Recordset
    Dim rsComparativo   As DAO.Recordset
    Dim StrSQLRec       As String
    Dim nCount          As Long
     '-------------------------------------------------------------------------------------------------------------
    'Careego a variável com a SQL da tabela recebidos filtrados pelo campo senhaAutorizaao tendo
    'como critério o valor selecionado na cboEnviados. A cboEnviados por sua vez é baseada na tabela Enviados
    'Assim o reccordset baseado na tabela recebidos conterá apenas os registros cuja guia esteja na tabela enviados
    '---------------------------------------------------------------------------------------------------------------
    StrSQLRec = "SELECT * FROM Recebido WHERE senhaAutorizacao = '" & Me.cboEnviados & "'   "
    '--------------------------------------
    '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
            With rsComparativo
                .AddNew
                ![Nome da Usuário] = rsRecebidos!nomeBeneficiario
                !CódGuia = rsRecebidos!senhaAutorizacao
                .Update
            End With
            '----------------------------------------------------------------
            '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


    *** Procure estudar e entender o processo, isto é fundamental para vosso crescimento.
    o código e explicações estão de fácil compreensão

    Cumprimentos
    XPTOS
    XPTOS
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  XPTOS 27/1/2014, 13:31

    Amigo HARYSOHN, bom dia,

    Muito, muito abrigado pelo código!

    Vou fazer o teste em casa e dou um retorno aqui no fórum.

    Atenciosamente,
    avatar
    Convidado
    Convidado


    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  Convidado 27/1/2014, 20:24

    Aguardamos, bons estudos!
    XPTOS
    XPTOS
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  XPTOS 27/1/2014, 22:39

    Harysohn, boa noite,

    Dei uma estudada e o código ficou muito bom, parabéns!!!

    Prossegui completando o código com os demais campos que faltavam, porém, não consegui avançar porque fiquei com algumas dúvidas as quais escrevo comentários em vermelho dentro do código:


    Private Sub btnExecutar_Click()
    Dim rsEnviados As DAO.Recordset
    Dim rsComparativo As DAO.Recordset
    Dim StrSQLRec As String
    Dim nCount As Long
    '-------------------------------------------------------------------------------------------------------------
    'Carrego a variável com a SQL da tabela recebidos filtrados pelo campo senhaAutorizaao tendo
    'como critério o valor selecionado na cboEnviados. A cboEnviados por sua vez é baseada na tabela Enviados
    'Assim o reccordset baseado na tabela recebidos conterá apenas os registros cuja guia esteja na tabela enviados
    '---------------------------------------------------------------------------------------------------------------
    StrSQLRec = "SELECT * FROM Recebido WHERE senhaAutorizacao = '" & Me.cboEnviados & "' "
    '--------------------------------------
    '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
    With rsComparativo
    .AddNew
    ![NomeUsuário] = rsRecebidos!nomeBeneficiario
    !CódUsuário = rsRecebidos!numeroCarteira
    !CódGuia = rsRecebidos!senhaAutorizacao
    !DtAtendimento = rsRecebidos!dataHoraInternacao
    !DtAlta = rsRecebidos!dataHoraSaidaInternacao ‘Gostaria que fosse importado DtAlta da tabela Enviado para tabela Comparativo, neste momento está pegando DtAlta da tabela Recebido.
    !CódServiço = rsRecebidos!codigo
    !NomeServiço = rsRecebidos!descricao
    !SomaDeQuantidadeServiço = rsRecebidos!quantidade
    !Referencia = rsRecebidos!valorUnitario
    ![SomaDeSomaDeValorPago] = rsRecebidos!valorTotal

    !Qtd = rsRecebidos!quantidade 'Como receber valores direto da tabela Recebido
    !SomaDevalorTotal = rsRecebidos!SomaDevalorTotal 'Como obter este valor, seria o resultado do valor Referencia x SomaDevalorTotal
    ![Saldo de diferença] = rsRecebidos![Gostaria da função para obter esses dados] 'Ou seja, seria soma da tabela Enviado - Recebido
    !Fechamento = rsRecebidos! 'Como obter esse valor direto da tabela Enviado
    !Nota = rsRecebidos! 'Como obter esse valor direto da tabela Enviado


    .Update
    End With
    '----------------------------------------------------------------
    '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 "A consulta localizou e enviaou para tabela Comparativo. " & nCount & " Registro(s)", vbInformation, "COMPARANDO DADOS..."
    End If
    End Sub
    avatar
    Convidado
    Convidado


    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  Convidado 28/1/2014, 01:46

    Você tem um número de guia na tabela recebidos = número de guia da tabela Enviados..

    Para a data pode utilizar o Dlookup para isto, algo assim:

    !DtAlta = Dlookup("dtAlta","Enviados","CódGuia = " &  rsRecebidos!CódGuia & "")

    !Qtd = rsRecebidos!quantidade 
    (mesma solução do idAlta)

    !SomaDevalorTotal = rsRecebidos!SomaDevalorTotal
    (mesma solução do idAlta) porém utilizando o Dsum
    ![Saldo de diferença] = rsRecebidos!
    (mesma solução do idAlta) porém utilizando o Dsum)

    !Fechamento = rsRecebidos!
    (mesma solução do idAlta)

    !Nota = rsRecebidos!

    (mesma solução do idAlta)


    Cumprimentos.
    XPTOS
    XPTOS
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  XPTOS 28/1/2014, 10:40

    Prezado HARYSOHN, bom dia,

    Apliquei as dicas que me sugeriu nos campos e ficou assim:

    !DtAlta = DLookup("DtAlta", "Enviado", "CódGuia = " & rsRecebidos!CódGuia & "")
    !Qtd = DLookup("Qtd", "Enviado", " CódGuia = " & rsRecebidos!CódGuia & "")
    !Fechamento = DLookup("Fechamento", "Enviado", "CódGuia = " & rsRecebidos!CódGuia & "")
    !Nota = DLookup("Nota", "Enviado", "CódGuia = " & rsRecebidos!CódGuia & "")
    !SomaDevalorTotal = DSum("SomaDevalorTotal", "Enviado", "CódGuia = " & rsRecebidos!CódGuia & "")
    ![Saldo de diferença] = DSum("[Saldo de diferença]", "Enviado", "CódGuia = " & rsRecebidos!CódGuia & "")


    Mas ainda não funcionou, me mostrou essa mensagem:
    Erro em tempo de execução ‘3265’:
    Item não encontrado nesta coleção


    Atenciosamente,
    avatar
    Convidado
    Convidado


    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  Convidado 28/1/2014, 10:49

    Veja na sua tabela recebido se o campo onde está o número da guia é realmente este em vermelho:

    "Enviado", "CódGuia = " & rsRecebidos!CódGuia & "")
    XPTOS
    XPTOS
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  XPTOS 28/1/2014, 11:09

    Não a minha Guia ba tabela Recebido aponta para senhaAutorizacao.

    Alterei a expressão e deu novo erro:

    Erro em tempo de execução ‘2471’
    A expressão que você inseriu como parâmetro da consulta gerou este erro: P68115365
    avatar
    Convidado
    Convidado


    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  Convidado 28/1/2014, 17:08

    Mande-me o bd completo...Como código já inserido para que eu teste.

    Cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  Convidado 28/1/2014, 17:16

    Ha sim... CódGuia é texto e como tal deve ser colocado nos critérios entre aspas duplas e simples:



                !DtAlta = DLookup("DtAlta", "Enviado", "CódGuia = '" & rsRecebidos!senhaAutorizacao & "'")
                !Qtd = DLookup("Qtd", "Enviado", " CódGuia = '" & rsRecebidos!senhaAutorizacao & "'")
                !Fechamento = DLookup("Fechamento", "Enviado", "CódGuia = '" & rsRecebidos!senhaAutorizacao & "'")
                !Nota = DLookup("Nota", "Enviado", "CódGuia = '" & rsRecebidos!senhaAutorizacao & "'")
                !SomaDevalorTotal = DSum("SomaDevalorTotal", "Enviado", "CódGuia = '" & rsRecebidos!senhaAutorizacao & "'")
                ![Saldo de diferença] = DSum("[Saldo de diferença]", "Enviado", "CódGuia = '" & rsRecebidos!senhaAutorizacao & "'")



    Cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  Convidado 28/1/2014, 17:21

    So não entendi o Soma de Valor Total

    Não seria assim?\
                !SomaDevalorTotal = DSum("[Valor Pago]", "Enviado", "CódGuia = '" & rsRecebidos!senhaAutorizacao & "'")

    E saldo de Diferença >> campo nao existe na tabela
               ' ![Saldo de diferença] = DSum("[Saldo de diferença]", "Enviado", "CódGuia = '" & rsRecebidos!senhaAutorizacao & "'")
    XPTOS
    XPTOS
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  XPTOS 28/1/2014, 18:31

    Então, ai que está o problema,

    Pois, estes campos estão apenas na tabela Comparativo para serem preenchido a medida que eu importo, os quais irão receber os dados da tblEnviado - (menos) tblRecebido.
    !Qtd = DLookup("Qtd", "Enviado", " CódGuia = '" & rsRecebidos!senhaAutorizacao & "'")
    !SomaDevalorTotal = DSum("SomaDevalorTotal", "Enviado", "CódGuia = '" & rsRecebidos!senhaAutorizacao & "'")
    ![Saldo de diferença] = DSum("[Saldo de diferença]", "Enviado", "CódGuia = '" & rsRecebidos!senhaAutorizacao & "'")

    Ex: Eu tenho a quantidade 10 em um item da tabela Enviado e para este mesmo item eu tenho a quantidade 8 da tabela Recebido, queria que ele passasse esses dados da tblEnviado (menos) tblRecebido para a tblComparativo que está como esses campos vazios.
    A ideia é mais ou menos essa: !Qtd = [tblEnviado] - tblRecebido


    Os outros compos que corrigi com suas ideias estão importando tudo perfeitamente para tblComparativo.

    Posto banco para que possa avaliar!

    https://www.dropbox.com/s/hyd0pr50eahfito/SAC%20-%20Sistema%20de%20An%C3%A1lise%20de%20Contas%202007.rar?m=
    avatar
    Convidado
    Convidado


    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  Convidado 28/1/2014, 21:08

    Boas Wagner..

    De uma explicação para o abaixo:

    !Qtd = Isso + aquilo
    !SomaDevalorTotal =X - y + N pra
    ![Saldo de diferença] = Aquilo * isso..


    Explicite utilizando o nome das tabelas.. algo assim:

    CampoX.tblRecebido + CampoY.tblEnviado.. etc.
    XPTOS
    XPTOS
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  XPTOS 28/1/2014, 22:24

    Segue!

    !Qtd = QuantidadeServiço.tblEnviado - quantidade.tblRecebido = O resultado dessa função deve ir para o campo Qtd.tblComparativo
    !SomaDevalorTotal = valorTotal.tblRecebido X - y + N pra O resultado dessa função deve ir para o campo SomaDevalorTotal.tblComparativo
    ![Saldo de diferença] = ValorPago - valorTotal isso..O resultado dessa função deve ir para o campo Saldo de diferença.tblComparativo

    Explicite utilizando o nome das tabelas.. algo assim:

    CampoX.tblRecebido + CampoY.tblEnviado.. etc.

    Esses três dados eu obtive com base em uma consulta seleção da tblEnviado e tblRecebido. Segue print!

    Agradeço antecipadamente,
    avatar
    Convidado
    Convidado


    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  Convidado 29/1/2014, 10:37

    Veja isto.. a última linha não vi campo ValorPago..

    Observe e adapte a sua necessidade

                '------------------------------------------------------------------
                '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


    Cumprimentos.
    XPTOS
    XPTOS
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  XPTOS 29/1/2014, 21:09

    Prezado Harysonhn, boa noite,

    Estou estudando bastante a parte de programação em VBA

    Adaptei o código que conforme abaixo, está ficando muito bom, mas tive três dúvidas nos códigos grifados em vermelho. Como esses dados são registros oriundos da tblEnviado, no momento que clico no botão (Verificar) os dados são passados para tblComparativo mas estão todos se repetindo nas colunas grifadas (tblComparativo.QuantidadeEnviado ;tblComparativo.UnitarioEnviado ;tblComparativo.valorTotalEnviado.  
    EX:
               !QuantidadeEnviado = DLookup("QuantidadeServiço", "Enviado", "CódGuia = '" & rsRecebidos!senhaAutorizacao & "'") Está repetindo os valores Enviados em todos os registros na TblComparativo
               !UnitarioEnviado = DLookup("Referencia", "Enviado", "CódGuia = '" & rsRecebidos!senhaAutorizacao & "'") Está repetindo os valores Enviados em todos os registros na TblComparativo
               !valorTotalEnviado = DLookup("ValorPago", "Enviado", "CódGuia = '" & rsRecebidos!senhaAutorizacao & "'") Está repetindo os valores Enviados em todos os registros na TblComparativo


    É muito importante conter na tblComparativo o valor dos itens que Enviei e que Recebi. Peço cordialmente que me de mais sugestões.

    Código completo!
      Set rsComparativo = CurrentDb.OpenRecordset("Comparativo")
           Do While Not rsRecebidos.EOF
               With rsComparativo
                   .AddNew
               !NomeUsuário = rsRecebidos!nomeBeneficiario
               !CódUsuário = rsRecebidos!numeroCarteira
               !CódGuia = rsRecebidos!senhaAutorizacao
               !DtAtendimento = rsRecebidos!dataHoraInternacao
               !DtAlta = DLookup("DtAlta", "Enviado", "CódGuia = '" & rsRecebidos!senhaAutorizacao & "'")
               !CódServiço = rsRecebidos!codigo
               !NomeServiço = rsRecebidos!descricao
               !QuantidadeEnviado = DLookup("QuantidadeServiço", "Enviado", "CódGuia = '" & rsRecebidos!senhaAutorizacao & "'")
               !UnitarioEnviado = DLookup("Referencia", "Enviado", "CódGuia = '" & rsRecebidos!senhaAutorizacao & "'")            
               !valorTotalEnviado = DLookup("ValorPago", "Enviado", "CódGuia = '" & rsRecebidos!senhaAutorizacao & "'")      
         
               !QtdRecebido = rsRecebidos!quantidade
               !valorTotalRecebido = rsRecebidos!valorTotal
                      .Update
           End With
    avatar
    Convidado
    Convidado


    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  Convidado 29/1/2014, 21:16

    Oras.. se repete porque encontra registros com o mesmo código de guia....

    Vamos pegar uma das linha somente.. resolvendo uma passaremos a outra..

    De exemplo citando uma guia..
    O que tem na enviados
    o que tem na recebidos
    e como deve ficar a comparativos.

    Cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  Convidado 29/1/2014, 21:29

    A questão primordial aqui é.. veja bem....

    1 - Para uma guia você tem diversos lançamentos... 1 Guia >>> X Lançamentos
    2 - Verifica se uma determinada guia enviada está contida na recebidos..
    3 - Caso a guia enviada esteja contida na recebidos... a insere na comparativo..
    Agora.. para não se repetir valores.. devemos ter um registro em Recebidos cujo registro na enviados seja único.. e o códGuia não serve..

    Ex:

    Recebidos: 
    Registro X - Maria de Tal, Guia 0001
    Registro Y - Maria de Tal, Guia 0001  

    Enviados
    Registro X - Maria de Tal, Guia 0001
    Registro Y - Maria de Tal, Guia 0001  

    Então X e y são números identificadores dos registros em ambas as tabela... Assim saberá que o Registro X em Enviados = Registro X em Recebidos..

    Só assim poderemos puxar um valor da Enviados para inseri-lo na comparativo tendo como critério um campo na Recebidos..

    !QuantidadeEnviado = DLookup("QuantidadeServiço", "Enviado", "CódGuia = '" & rsRecebidos!senhaAutorizacao & "'")



    A parte em vermelho é o X ai do exemplo que deve ser único... Só assim conseguirá fazer isto..
    Veja que o Dlookup puxa um valor da Enviado tendo como critério a Guia.. Mas qual das guias???? Se tem varios registros com o mesmo número de guia? Impossível... O critério deve ser único.. uma chave identificadora do registro.




    Cumprimentos.
    XPTOS
    XPTOS
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  XPTOS 29/1/2014, 22:51

    Prezado,

    Segue Exemplo de uma linha no arquivo xls para avaliar.

    Grato,
    avatar
    Convidado
    Convidado


    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  Convidado 29/1/2014, 23:22

    Seguindo o que eu disse acima... Me fale sua avaliação segundo seu entendimento...

    Cumprimentos.
    XPTOS
    XPTOS
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  XPTOS 29/1/2014, 23:35

    Meu conhecimento é muito limitado. Mas de repente colocar uma chave primária nas tabelas.
    avatar
    Convidado
    Convidado


    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  Convidado 30/1/2014, 09:17

    Chave primária na tabela...Bom raciocínio...

    Uma pergunta.. nas tabelas como estão agora.. Há algum campo que identifique ou relacione os registros  Enviados <<>> Recebidos?


    Cumprimentos.
    XPTOS
    XPTOS
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  XPTOS 30/1/2014, 09:20

    Bom dia,

    Hoje elas estão relacionadas pelos campos ID.Chave primária.

    Atenciosamente,
    XPTOS
    XPTOS
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  XPTOS 31/1/2014, 14:00

    Prezado Harysohn, bom dia,

    Não esqueci de dar um retorno ao fórum não, estou buscando outro método de importar excel Enviado e Recebido para uma única tabela consolidando as duas informações. De posse da tabela montada, estarei adaptando o DLookup para buscar o que preciso.

    Grato,
    avatar
    Convidado
    Convidado


    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  Convidado 1/2/2014, 01:06

    Deixará esta solução de lado por hora?

    Cumprimentos.
    XPTOS
    XPTOS
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  XPTOS 1/2/2014, 01:14

    Não, posso deixar de lado a solução deste meu problema!
    Estou praticando alguns testes com base nas dicas valiosas que me deu na rotina DLookup.
    avatar
    Convidado
    Convidado


    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  Convidado 1/2/2014, 10:08

    Aguardamos então.
    Bom Estudo.
    XPTOS
    XPTOS
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  XPTOS 3/2/2014, 22:11

    Prezado, boa noite,

    Você havia me ajudado com o código abaixo, no qual eu selecionava registro por registro da caixa de combinação e clicava em um botão de comando para inserir os dados na tabela comparativo.

    Pergunto, é possível eu executar essa comparação de maneira automática sem precisar selecionar o registro na combo cboenviados?

    Dim rsEnviados As DAO.Recordset
    Dim rsComparativo As DAO.Recordset
    Dim StrSQLRec As String
    Dim nCount As Long
    '-------------------------------------------------------------------------------------------------------------
    'Carrego a variável com a SQL da tabela recebidos filtrados pelo campo senhaAutorizaao tendo
    'como critério o valor selecionado na cboEnviados. A cboEnviados por sua vez é baseada na tabela Enviados
    'Assim o reccordset baseado na tabela recebidos conterá apenas os registros cuja guia esteja na tabela enviados
    '---------------------------------------------------------------------------------------------------------------
    StrSQLRec = "SELECT * FROM Recebido WHERE senhaAutorizacao = '" & Me.cboEnviados & "'"
    '--------------------------------------
    '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

    With rsComparativo

    .AddNew
    '
    !NomeUsuário = rsRecebidos!nomeBeneficiario 'Enviado
    '
    !CódUsuário = rsRecebidos!numeroCarteira 'Enviado
    '
    !CódGuia = rsRecebidos!senhaAutorizacao 'Enviado
    '
    !DtAtendimento = rsRecebidos!dataHoraInternacao 'Enviado
    '
    !DtAlta = DLookup("DtAlta", "Enviado", "CódGuia = '" & rsRecebidos!senhaAutorizacao & "'") 'Enviado
    '
    !CódServiço = rsRecebidos!codigo 'Enviado
    '
    !NomeServiço = rsRecebidos!descricao 'Enviado
    '
    !QuantidadeEnviado = DLookup("QuantidadeServiço", "Enviado", "CódGuia = '" & rsRecebidos!senhaAutorizacao & "'") 'Enviado
    '
    !UnitarioEnviado = DLookup("Referencia", "Enviado", "CódGuia = '" & rsRecebidos!senhaAutorizacao & "'") 'Enviado
    '
    !valorTotalEnviado = DLookup("ValorPago", "Enviado", "CódGuia = '" & rsRecebidos!senhaAutorizacao & "'") 'Enviado
    '
    !QtdRecebido = rsRecebidos!quantidade 'Recebido
    '
    !valorUnitario = rsRecebidos!valorUnitario 'Recebido
    '
    !valorTotalRecebido = rsRecebidos!valorTotal 'Recebido
    '
    !Nota = DLookup("Nota", "Enviado", "CódGuia = '" & rsRecebidos!senhaAutorizacao & "'") 'Enviado
    '
    !Fechamento = DLookup("Fechamento", "Enviado", "CódGuia = '" & rsRecebidos!senhaAutorizacao & "'") 'Enviado

    .Update

    End With
    '----------------------------------------------------------------
    '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 "A consulta localizou e enviou para tabela Comparativo. " & nCount & " Registro(s)", vbInformation, "COMPARANDO DADOS..."
    End If

    End Sub
    XPTOS
    XPTOS
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  XPTOS 3/2/2014, 22:19

    Boa noite,

    Favor desconsiderar, pois retirei a linha de critério Me.cboEnviados e funcionou perfeito.
    XPTOS
    XPTOS
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  XPTOS 3/2/2014, 23:38

    Opa, deu um problema.

    Como eu tirei o filtro da cboEnviados; abro o formulario clico no botão para executa o código acima, porém está sendo deletado também os registros não encontrados da tabela Enviado que não foi localizado na tabela Recebido.

    Atenciosamente,
    avatar
    Convidado
    Convidado


    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  Convidado 4/2/2014, 02:13

    Isto porque retirou o filtro...

    Envie o bd como esta agora e de detalhes da tua necessidade.

    Cumprimentos.
    XPTOS
    XPTOS
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  XPTOS 4/2/2014, 09:43

    Prezado bom dia,

    Minha necessidade seria a seguinte.

    No meu BD tenho um formulário chamado: Form_Itens enviados, neste há um botão chamado (Filtro por Guia), no qual eu importo os dados da cboenviados para tblComparativo, mas faço isso guia por guia.

    Daí me deparei com a seguinte dúvida: Na minha rotina mensal eu tenho que importar cerca de 5.000 registros para tblComparativo, então, pensei na necessidade de automatizar o processo e criei um botão chamado (Importar Todos), onde eu gostaria que ele importasse os registros coincidentes da tblEnviado com tblRecebido, para nova tblComparativo sem a necessidade de haver um filtro para nesse botão e que deletasse da tblEnviado e tblRecebido apenas os registros coincidentes.

    Com os testes que fiz o botão deleta todos os registros e não apenas os coincidentes na tblEnviado e tblRecebido .

    Segue banco para apreciação!

    https://www.dropbox.com/s/hyd0pr50eahfito/SAC%20-%20Sistema%20de%20An%C3%A1lise%20de%20Contas%202007.rar?m=

    Grato,
    XPTOS
    XPTOS
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  XPTOS 6/2/2014, 17:37

    UP
    XPTOS
    XPTOS
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  XPTOS 8/2/2014, 18:39

    UP.

    Conteúdo patrocinado


    [Resolvido]Transferir dados entre tabelas. Empty Re: [Resolvido]Transferir dados entre tabelas.

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 24/11/2024, 19:16