Gente como faço para enviar os registros de uma tbl temporaria para outra definitiva?
3 participantes
[Resolvido]Enviar dados de uma bl para outra
Agravina- Maximo VIP
- Respeito às regras :
Sexo :
Localização :
Mensagens : 1623
Registrado : 18/07/2010
- Mensagem nº1
Enviar dados de uma bl para outra
criquio- Moderador Global
- Respeito às regras :
Sexo :
Localização :
Mensagens : 11229
Registrado : 30/12/2009
- Mensagem nº2
Re: [Resolvido]Enviar dados de uma bl para outra
Para enviar toda a tabela 1 para a tabela 2:
Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset("Tabela1")
Do While Not rs.EOF
CurrentDb.Execute "INSERT INTO Tabela2(Nome, Idade) VALUES('" & rs!Nome & "', '" & rs!Idade & "')"
rs.MoveNext
Loop
rs.Clone
Set rs = Nothing
Para enviar apenas os novos registros de tabela 1 para tabela 2:
Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset("SELECT * FROM Tabela1 WHERE Código > " & Nz(DMax("Código", "Tabela2"), 0) & ";")
Do While Not rs.EOF
CurrentDb.Execute "INSERT INTO Tabela2(Nome, Idade) VALUES('" & rs!Nome & "', '" & rs!Idade & "')"
rs.MoveNext
Loop
MsgBox "Concluído"
rs.Clone
Set rs = Nothing
Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset("Tabela1")
Do While Not rs.EOF
CurrentDb.Execute "INSERT INTO Tabela2(Nome, Idade) VALUES('" & rs!Nome & "', '" & rs!Idade & "')"
rs.MoveNext
Loop
rs.Clone
Set rs = Nothing
Para enviar apenas os novos registros de tabela 1 para tabela 2:
Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset("SELECT * FROM Tabela1 WHERE Código > " & Nz(DMax("Código", "Tabela2"), 0) & ";")
Do While Not rs.EOF
CurrentDb.Execute "INSERT INTO Tabela2(Nome, Idade) VALUES('" & rs!Nome & "', '" & rs!Idade & "')"
rs.MoveNext
Loop
MsgBox "Concluído"
rs.Clone
Set rs = Nothing
.................................................................................
Meu novo site: www.vcssistemas.com.br Clique aqui e veja um vídeo que explica como fazer pesquisas no forum. DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo: 1 - faça uma cópia do aplicativo 2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar 3 - use o Compactar/Reparar 4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem) Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário. Positive as mensagens que achar útil, no canto superior direito delas. |
Agravina- Maximo VIP
- Respeito às regras :
Sexo :
Localização :
Mensagens : 1623
Registrado : 18/07/2010
- Mensagem nº3
Re: [Resolvido]Enviar dados de uma bl para outra
Criquio ,funciona mas permite salvar só vez na tbldefinitiva os proximos registros não são salvos?
criquio- Moderador Global
- Respeito às regras :
Sexo :
Localização :
Mensagens : 11229
Registrado : 30/12/2009
- Mensagem nº4
Re: [Resolvido]Enviar dados de uma bl para outra
Não entendi bem, mas a segunda rotina salva toda a tabela A se a tabela B estiver vazia. Se a tabela B contiver dados, serão importados os registros ainda não constantes. Para isso, precisa ter o código numérico sequencial. Se a tabela B tiver sido limpa, apagando todos os dados, precisará Compactar/Reparar para voltar ao 1, caso seja auto numeração. O melhor mesmo seria que fosse um campo número. Assim, não perde sequência na numeração.
.................................................................................
Meu novo site: www.vcssistemas.com.br Clique aqui e veja um vídeo que explica como fazer pesquisas no forum. DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo: 1 - faça uma cópia do aplicativo 2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar 3 - use o Compactar/Reparar 4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem) Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário. Positive as mensagens que achar útil, no canto superior direito delas. |
ton0612- Avançado
- Respeito às regras :
Sexo :
Localização :
Mensagens : 275
Registrado : 30/03/2011
- Mensagem nº5
Re: [Resolvido]Enviar dados de uma bl para outra
CRiquio... tudo bem? Boa noite?
Eu acabei de postar um novo tópico... mas quando li este fiquei meio na dúvida... sera que serviria para o meu problema??
Eu acabei de postar um novo tópico... mas quando li este fiquei meio na dúvida... sera que serviria para o meu problema??
ton0612- Avançado
- Respeito às regras :
Sexo :
Localização :
Mensagens : 275
Registrado : 30/03/2011
- Mensagem nº6
Re: [Resolvido]Enviar dados de uma bl para outra
Eu exclui o tópico que eu tinha feito... pois este funciona para o meu caso....
criquio- Moderador Global
- Respeito às regras :
Sexo :
Localização :
Mensagens : 11229
Registrado : 30/12/2009
- Mensagem nº7
Re: [Resolvido]Enviar dados de uma bl para outra
Ótimo.
.................................................................................
Meu novo site: www.vcssistemas.com.br Clique aqui e veja um vídeo que explica como fazer pesquisas no forum. DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo: 1 - faça uma cópia do aplicativo 2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar 3 - use o Compactar/Reparar 4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem) Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário. Positive as mensagens que achar útil, no canto superior direito delas. |
ton0612- Avançado
- Respeito às regras :
Sexo :
Localização :
Mensagens : 275
Registrado : 30/03/2011
- Mensagem nº8
Re: [Resolvido]Enviar dados de uma bl para outra
Criquio... Agora estou com mais uma dúvida...
Antes de iniciar vou explicar os itens:
- Consulta2: Agrupa os dados do pedido para gerar um protocolo por item do pedido.
- tbl_Protocolo: aqui tem os itens enviados como protocolo, dentro do sistema ele é utilizado para o envio de produtos que ainda não esta completamente finalizado, e permite que seja enviado varios até a soma da quantidade total do pedido.
- Consulta1: Tem os dados de soma dos itens enviados por protocolo.
através do seu código adaptado, eu abri a consulta1 e inseri os dados desta consulta na tbl_Protocolo, mas este tbl_protocolo as vezes tem alguns dados ja inseridos em outro momento....conforme mencionado acima. o que eu gostaria de fazer é que antes de inserir dentro da tbl_Protocolo ele faça os cálculos de subtração dos itens enviados na Consulta1(somaDeQtdeEnviada) e Consulta2(QuantidadeFat).
Desde ja obrigado.
Antes de iniciar vou explicar os itens:
- Consulta2: Agrupa os dados do pedido para gerar um protocolo por item do pedido.
- tbl_Protocolo: aqui tem os itens enviados como protocolo, dentro do sistema ele é utilizado para o envio de produtos que ainda não esta completamente finalizado, e permite que seja enviado varios até a soma da quantidade total do pedido.
- Consulta1: Tem os dados de soma dos itens enviados por protocolo.
através do seu código adaptado, eu abri a consulta1 e inseri os dados desta consulta na tbl_Protocolo, mas este tbl_protocolo as vezes tem alguns dados ja inseridos em outro momento....conforme mencionado acima. o que eu gostaria de fazer é que antes de inserir dentro da tbl_Protocolo ele faça os cálculos de subtração dos itens enviados na Consulta1(somaDeQtdeEnviada) e Consulta2(QuantidadeFat).
Desde ja obrigado.
criquio- Moderador Global
- Respeito às regras :
Sexo :
Localização :
Mensagens : 11229
Registrado : 30/12/2009
- Mensagem nº9
Re: [Resolvido]Enviar dados de uma bl para outra
Não entendi. Você quer a quantidade de linhas de uma tabela menos a quantidade de linhas da outra? E onde esse resultado seria armazenado e para qual finalidade? Ou você subtrair o valor de um campo de um registro em uma tabela pelo valor de um campo de um registro em outra tabela?
.................................................................................
Meu novo site: www.vcssistemas.com.br Clique aqui e veja um vídeo que explica como fazer pesquisas no forum. DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo: 1 - faça uma cópia do aplicativo 2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar 3 - use o Compactar/Reparar 4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem) Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário. Positive as mensagens que achar útil, no canto superior direito delas. |
ton0612- Avançado
- Respeito às regras :
Sexo :
Localização :
Mensagens : 275
Registrado : 30/03/2011
- Mensagem nº10
Re: [Resolvido]Enviar dados de uma bl para outra
Obrigado Pelo retorno.
Eu gostaria de subtrair o valor de um campo.
assim... os campos sao:
"NumPed","Cod_Prod_Ped","SomaQuantidadeProt" - Consulta1
1234, 4, 600
"NumPed","Cod_Prod_Ped","QuantidadeFat" - Consulta2
1234, 4, 1000
Saldo de 400
ou seja... eu gostario que ao inserir na tbl_Protocolo ele coloque o saldo, neste caso 400, mas tem casos que é 0 ou o valor do faturado (quando nao tem "SomaQuantidadeProt").
Eu gostaria de subtrair o valor de um campo.
assim... os campos sao:
"NumPed","Cod_Prod_Ped","SomaQuantidadeProt" - Consulta1
1234, 4, 600
"NumPed","Cod_Prod_Ped","QuantidadeFat" - Consulta2
1234, 4, 1000
Saldo de 400
ou seja... eu gostario que ao inserir na tbl_Protocolo ele coloque o saldo, neste caso 400, mas tem casos que é 0 ou o valor do faturado (quando nao tem "SomaQuantidadeProt").
ton0612- Avançado
- Respeito às regras :
Sexo :
Localização :
Mensagens : 275
Registrado : 30/03/2011
- Mensagem nº11
Re: [Resolvido]Enviar dados de uma bl para outra
rsrs... ainda não consegui mesmo...
Eu tentei criar uma consulta onde apresente os valores só gerados no procedimento.... e deixei o valor de quantidade como zero... e depois tentei atualizar... com um código semelhante.. mas ao invés do insert coloquei update...e nao deu ...
Eu tentei criar uma consulta onde apresente os valores só gerados no procedimento.... e deixei o valor de quantidade como zero... e depois tentei atualizar... com um código semelhante.. mas ao invés do insert coloquei update...e nao deu ...
ton0612- Avançado
- Respeito às regras :
Sexo :
Localização :
Mensagens : 275
Registrado : 30/03/2011
- Mensagem nº12
Re: [Resolvido]Enviar dados de uma bl para outra
Criquiooo.... Eu Consegui!!!!!!!
Vou colar o código de como ficou... e abaixo vou explicar o que eu fiz....
Private Sub btnProt_Click()
Dim rs, rs2 As Recordset
Dim SomaProt As String
Set rs = CurrentDb.OpenRecordset("Select * From [cnsEnvioDeProtocoloPedFaturado2] where [Numero do Pedido]= '" & Me.NumPedFat & "'")
Do While Not rs.EOF
CurrentDb.Execute "INSERT INTO tbl_Protocolo([Numero do Pedido], [Cod_Cliente], [Cod_Pro_Ped_Prot], [DescricaoItem], [Faturamento]) VALUES('" & rs![Numero do Pedido] & "', '" & rs!Cod_Cliente & "', '" & rs!Cod_Prod_Ped & "', '" & rs!DescItem & "', True)"
rs.MoveNext
Loop
rs.Clone
Set rs = Nothing
Set rs2 = CurrentDb.OpenRecordset("Select * From [cnsEnvioDeProtocoloPedFaturado] where [Numero do Pedido]= '" & Me.NumPedFat & "'")
Do While Not rs2.EOF
DoCmd.RunSQL ("Update cnsEnvioDeProtocoloPedFaturadoTrue SET [cnsEnvioDeProtocoloPedFaturadoTrue].[QtdeProt] = '" & rs2!Saldo & "' where Cod_Pro_Ped_Prot = " & rs2!Cod_Prod_Ped & "")
rs2.MoveNext
Loop
rs2.Clone
Set rs2 = Nothing
End Sub
o que eu fiz foi o seguinte...
Na 1º Rotina... ele coloca o valor de um campo como true (que seriam os campos feitos na primeira rotina)... entao criei uma nova consulta e marquei para aparecer só os com os "Faturados" = True. e coloquei para atualizar ao invés de inserir.....
Caramba... nem acredito que deu certo.... eu ja estava desistindo.... hehehe
Obrigado Criquio.....
Vou colar o código de como ficou... e abaixo vou explicar o que eu fiz....
Private Sub btnProt_Click()
Dim rs, rs2 As Recordset
Dim SomaProt As String
Set rs = CurrentDb.OpenRecordset("Select * From [cnsEnvioDeProtocoloPedFaturado2] where [Numero do Pedido]= '" & Me.NumPedFat & "'")
Do While Not rs.EOF
CurrentDb.Execute "INSERT INTO tbl_Protocolo([Numero do Pedido], [Cod_Cliente], [Cod_Pro_Ped_Prot], [DescricaoItem], [Faturamento]) VALUES('" & rs![Numero do Pedido] & "', '" & rs!Cod_Cliente & "', '" & rs!Cod_Prod_Ped & "', '" & rs!DescItem & "', True)"
rs.MoveNext
Loop
rs.Clone
Set rs = Nothing
Set rs2 = CurrentDb.OpenRecordset("Select * From [cnsEnvioDeProtocoloPedFaturado] where [Numero do Pedido]= '" & Me.NumPedFat & "'")
Do While Not rs2.EOF
DoCmd.RunSQL ("Update cnsEnvioDeProtocoloPedFaturadoTrue SET [cnsEnvioDeProtocoloPedFaturadoTrue].[QtdeProt] = '" & rs2!Saldo & "' where Cod_Pro_Ped_Prot = " & rs2!Cod_Prod_Ped & "")
rs2.MoveNext
Loop
rs2.Clone
Set rs2 = Nothing
End Sub
o que eu fiz foi o seguinte...
Na 1º Rotina... ele coloca o valor de um campo como true (que seriam os campos feitos na primeira rotina)... entao criei uma nova consulta e marquei para aparecer só os com os "Faturados" = True. e coloquei para atualizar ao invés de inserir.....
Caramba... nem acredito que deu certo.... eu ja estava desistindo.... hehehe
Obrigado Criquio.....
criquio- Moderador Global
- Respeito às regras :
Sexo :
Localização :
Mensagens : 11229
Registrado : 30/12/2009
- Mensagem nº13
Re: [Resolvido]Enviar dados de uma bl para outra
Muito bem. Só faltou clicar no botão Resolvido. Estou fazendo dessa vez.
.................................................................................
Meu novo site: www.vcssistemas.com.br Clique aqui e veja um vídeo que explica como fazer pesquisas no forum. DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo: 1 - faça uma cópia do aplicativo 2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar 3 - use o Compactar/Reparar 4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem) Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário. Positive as mensagens que achar útil, no canto superior direito delas. |
ton0612- Avançado
- Respeito às regras :
Sexo :
Localização :
Mensagens : 275
Registrado : 30/03/2011
- Mensagem nº14
Re: [Resolvido]Enviar dados de uma bl para outra
MAs o tópico nao era meu... eu só aproveitei o assunto ....
criquio- Moderador Global
- Respeito às regras :
Sexo :
Localização :
Mensagens : 11229
Registrado : 30/12/2009
- Mensagem nº15
Re: [Resolvido]Enviar dados de uma bl para outra
Verdade. De qualquer forma, como o amigo Agravina não deu retorno ainda, vou deixar Resolvido. Qualquer coisa, podemos reabri-lo.
.................................................................................
Meu novo site: www.vcssistemas.com.br Clique aqui e veja um vídeo que explica como fazer pesquisas no forum. DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo: 1 - faça uma cópia do aplicativo 2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar 3 - use o Compactar/Reparar 4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem) Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário. Positive as mensagens que achar útil, no canto superior direito delas. |