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]Excluir um registro exclusivo de uma tabela e acrescentar em outra tabela!

    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    [Resolvido]Excluir um registro exclusivo de uma tabela e acrescentar em outra tabela! Empty Excluir um registro exclusivo de uma tabela e acrescentar em outra tabela!

    Mensagem  Lupércio 14/5/2012, 12:10

    Bom dia amigos!

    Tenho um consulta, vinculada a tabela "A", e form vinculado a esta consulta!
    Ao filtrar os registros neste form quero ao clique de um botão, excluir os registros desta tabela "A",
    e acrecenta-los na tabela "B". Excluir somente os registros filtrados, tentei aqui mas está excluindo
    todos os dados da tabela "A".
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5074
    Registrado : 20/04/2011

    [Resolvido]Excluir um registro exclusivo de uma tabela e acrescentar em outra tabela! Empty Re: [Resolvido]Excluir um registro exclusivo de uma tabela e acrescentar em outra tabela!

    Mensagem  Silvio 14/5/2012, 12:34

    Bom dia Lupércio,

    Tente assim:

    Private Sub Exportar_Click()
    'rotina para exportar dados do formulário para uma tabela
    Dim db1 As Database, rs1 As DAO.Recordset
    If MsgBox("Confirma a exportação desses dados ?", vbYesNo + vbQuestion, "CONFIRMAR") = vbYes Then

    Set db1 = CurrentDb

    Set rs1 = db1.OpenRecordset("nome tabela que vai receber os dados", dbOpenTable)

    With rs1
    ' os campos abaixo do formulário/Consulta tem que ser iguais aos que estão na tabela para realizar a exportação
    .AddNew
    ![Idseucampo] = Me.Idseucampo
    ![Idseucampo1] = Me.Idseucampo1
    ![Idseucampo2] = Me.Idseucampo2
    ![Idseucampo3] = Me.Idseucampo3
    ![Idseucampo4] = Me.Idseucampo4
    ...
    ...
    ...


    .Update

    End With


    DoCmd.RunCommand acCmdDeleteRecord
    DoCmd.GoToRecord , , acNewRec
    Me.EncerrarCalculo = Null

    MsgBox "Exportarção..... confirmada !", vbOKOnly + vbInformation, " Concluído "

    End If

    End Sub


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    avatar
    Convidad
    Convidado


    [Resolvido]Excluir um registro exclusivo de uma tabela e acrescentar em outra tabela! Empty Re: [Resolvido]Excluir um registro exclusivo de uma tabela e acrescentar em outra tabela!

    Mensagem  Convidad 14/5/2012, 12:50

    Lupércio

    Vamos lá, companheiro?

    Uma dica:
    Você pode ganhar tempo usando consultas ação no vba.

    Eu faria 2 consultas, nessa ordem:

    -Para adicionar na segunda tabela
    -Para deletar da primeira tabela

    Criaria as duas consultas separadamente, lógico e testaria se cada uma funciona.
    Uma vez que cada uma funcione, pegaria o código SQL delas e usaria no VBA Assim:

    Docmd.RunSQL "código SQL"

    Abraços
    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    [Resolvido]Excluir um registro exclusivo de uma tabela e acrescentar em outra tabela! Empty Re: [Resolvido]Excluir um registro exclusivo de uma tabela e acrescentar em outra tabela!

    Mensagem  Lupércio 14/5/2012, 14:49

    Balem eu não posso deletar a tabela inteira você entendeu né? Preciso Deletar somente o registro filtrado no form e inserir na outra tabela!
    avatar
    Convidad
    Convidado


    [Resolvido]Excluir um registro exclusivo de uma tabela e acrescentar em outra tabela! Empty Re: [Resolvido]Excluir um registro exclusivo de uma tabela e acrescentar em outra tabela!

    Mensagem  Convidad 14/5/2012, 14:56

    Lupercio

    Meu amigo, pense um pouco, na consulta não existe critérios?

    Eis um exemplo:
    Veja o critério em azul.

    MinhaSQL = "DELETE tblParcelas.IDContrato FROM tblParcelas" & _
    " WHERE (((tblParcelas.IDContrato)=[Formulários]![frmContratoClientes]![subfrm_Contratos].[Formulário]![IDContrato]));"
    DoCmd.RunSQL (MinhaSQL)
    E veja, você pode fazer tudo na consulta e pegar todo o código e colocar no vba como eu fiz nessa ai de cima.
    Abraços
    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    [Resolvido]Excluir um registro exclusivo de uma tabela e acrescentar em outra tabela! Empty Re: [Resolvido]Excluir um registro exclusivo de uma tabela e acrescentar em outra tabela!

    Mensagem  Lupércio 14/5/2012, 17:17

    Este problema foi resolvido!

    Obrigado a todos!
    Abraço!
    avatar
    Convidad
    Convidado


    [Resolvido]Excluir um registro exclusivo de uma tabela e acrescentar em outra tabela! Empty Re: [Resolvido]Excluir um registro exclusivo de uma tabela e acrescentar em outra tabela!

    Mensagem  Convidad 14/5/2012, 17:48

    Valeu pelo retorno.

    Mas... Qual foi a solução?
    Me deixou curioso. Razz

    Brincadeiras à parte, é bom para ajudar que olhar o tópico no futuro.

    Boa sorte, amigo !

    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    [Resolvido]Excluir um registro exclusivo de uma tabela e acrescentar em outra tabela! Empty Re: [Resolvido]Excluir um registro exclusivo de uma tabela e acrescentar em outra tabela!

    Mensagem  Lupércio 14/5/2012, 18:49

    Olá amigo Balem! Fiz do meu modo!

    1º - Criei uma consulta que me retorna somente o campo "nomecliente" dei o nome de "SeleçãoCliente" Com origem da tabela "TabDefinitiva"
    onde estão armazenados os dados que necessito excluir.

    2º - Criei outra consulta com origem de dados na consulta "seleçãoCliente" de o nome de "ConsultaExclusão" define a mesma como consulta exclusão.
    Critério desta consulta "Como [Forms]![FormEstorno]![NomeCliente]"............... "FormEstorno" é o nome do meu form onde está o botão excluir.

    Ai no botão excluir no clique defini:

    Dim db1 As Database, db2 As Database, rs1 As DAO.Recordset, rs2 As DAO.Recordset, rs3 As DAO.Recordset


    Set db1 = CurrentDb

    Set rs1 = db1.OpenRecordset("TabArmazem", dbOpenTable)

    With rs1

    .AddNew

    ![Nome] = Me.Nome
    ![ValorCompra] = Me.ValorCompra
    ![DataCompra] = Me.DataCompra
    ![Compra] = Me.Compra
    ![DataVencimento] = Me.DataVencimento
    ![CpValor] = Me.CpValor

    .Update

    End With


    Dim X As Integer
    Dim stDocName As String
    X = MsgBox("Realmente deseja excluir " & Me!Nome & "?", 36, "Confirmar Exclusão de Registro!")
    If X = 6 Then
    DoCmd.SetWarnings False
    stDocName = "ConsultaExclusão"
    DoCmd.OpenQuery stDocName, acNormal, acEdit
    DoCmd.SetWarnings True
    X = MsgBox("O registro foi excluído!", 64, "Pronto!")
    Me.Refresh
    DoCmd.RunCommand acCmdRefreshPage
    DoCmd.Close
    End If


    Está excluindo todos os registros selecionados no form, sem causar dano nos demais registros, só que está enviando somente um registro para a tabela "TabArmazem".
    Exemplo: Ao abrir do form vem o parâmetro a insiro Lupércio, ai abre o form "FormEstorno"
    com 3 registros pois ele é um form continuo, quando clico no botão excluir que na verdade,
    é para excluir e transferir ele exclui normalmente só que envia somente 1 registro para a tabela "TabArmazem". mas estou quase lá! Se puder me de uma ajuda!
    avatar
    Convidad
    Convidado


    [Resolvido]Excluir um registro exclusivo de uma tabela e acrescentar em outra tabela! Empty Re: [Resolvido]Excluir um registro exclusivo de uma tabela e acrescentar em outra tabela!

    Mensagem  Convidad 14/5/2012, 19:30

    Lupércio

    O que está ocorrendo é que o código não percorre todos os registros do formulário, pois precisa de um loop para isso.
    Modifiquei teu código, o que inseri está em azul.

    obs. tirei o "resolvido" por enquanto Wink



    Dim db1 As Database, db2 As Database, rs1 As DAO.Recordset, rs2 As DAO.Recordset, rs3 As DAO.Recordset
    Dim frm as form, regs as Recordset,I as integer
    set frm = Me
    regs = frm.RecordsetClone



    Set db1 = CurrentDb

    Set rs1 = db1.OpenRecordset("TabArmazem", dbOpenTable)
    regs.MoveFirst
    With rs1
    For I = 1 To regs.RecordCount ' faz o loop nos registros do formulário para gravar cada um deles na tabela TabArmazem
    .AddNew

    ![Nome] = Me.Nome
    ![ValorCompra] = Me.ValorCompra
    ![DataCompra] = Me.DataCompra
    ![Compra] = Me.Compra
    ![DataVencimento] = Me.DataVencimento
    ![CpValor] = Me.CpValor

    .Update
    Next I
    End With


    Dim X As Integer
    Dim stDocName As String
    X = MsgBox("Realmente deseja excluir " & Me!Nome & "?", 36, "Confirmar Exclusão de Registro!")
    If X = 6 Then
    DoCmd.SetWarnings False
    stDocName = "ConsultaExclusão"
    DoCmd.OpenQuery stDocName, acNormal, acEdit
    DoCmd.SetWarnings True
    X = MsgBox("O registro foi excluído!", 64, "Pronto!")
    Me.Refresh
    DoCmd.RunCommand acCmdRefreshPage
    DoCmd.Close
    End If
    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    [Resolvido]Excluir um registro exclusivo de uma tabela e acrescentar em outra tabela! Empty Re: [Resolvido]Excluir um registro exclusivo de uma tabela e acrescentar em outra tabela!

    Mensagem  Lupércio 14/5/2012, 19:51

    Amigo está dando erro na 4ª linha!

    regs = frm.RecordsetClone
    avatar
    Convidad
    Convidado


    [Resolvido]Excluir um registro exclusivo de uma tabela e acrescentar em outra tabela! Empty Re: [Resolvido]Excluir um registro exclusivo de uma tabela e acrescentar em outra tabela!

    Mensagem  Convidad 14/5/2012, 19:55

    Esse formulário é normal ou é um subformulario?
    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    [Resolvido]Excluir um registro exclusivo de uma tabela e acrescentar em outra tabela! Empty Re: [Resolvido]Excluir um registro exclusivo de uma tabela e acrescentar em outra tabela!

    Mensagem  Lupércio 14/5/2012, 19:56

    Normal e continuo.
    avatar
    Convidad
    Convidado


    [Resolvido]Excluir um registro exclusivo de uma tabela e acrescentar em outra tabela! Empty Re: [Resolvido]Excluir um registro exclusivo de uma tabela e acrescentar em outra tabela!

    Mensagem  Convidad 14/5/2012, 20:00

    Estranho

    Para desencargo de consciência coloque o nome do formulário no lugar do Me.

    E me diga que erro deu na mensagem.
    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    [Resolvido]Excluir um registro exclusivo de uma tabela e acrescentar em outra tabela! Empty Re: [Resolvido]Excluir um registro exclusivo de uma tabela e acrescentar em outra tabela!

    Mensagem  Lupércio 14/5/2012, 20:04

    Ficou assim Balem!

    Más não funfou!

    Dim db1 As Database, db2 As Database, rs1 As DAO.Recordset, rs2 As DAO.Recordset, rs3 As DAO.Recordset
    Dim frm As Form, regs As Recordset, I As Integer
    Set frm = FormEstorno
    regs = frm.RecordsetClone


    Set db1 = CurrentDb

    Set rs1 = db1.OpenRecordset("TabArmazem", dbOpenTable)
    regs.MoveFirst
    With rs1
    For I = 1 To regs.RecordCount ' faz o loop nos registros do formulário para gravar cada um deles na tabela TabArmazem
    .AddNew

    ![Nome] = Me.Nome
    ![ValorCompra] = Me.ValorCompra
    ![DataCompra] = Me.DataCompra
    ![Compra] = Me.Compra
    ![DataVencimento] = Me.DataVencimento
    ![CpValor] = Me.CpValor

    .Update
    Next I
    End With

    avatar
    Convidad
    Convidado


    [Resolvido]Excluir um registro exclusivo de uma tabela e acrescentar em outra tabela! Empty Re: [Resolvido]Excluir um registro exclusivo de uma tabela e acrescentar em outra tabela!

    Mensagem  Convidad 14/5/2012, 20:12

    O código não tem erro e deveria ter funfado com o Me.

    Qual é a mensagem de erro que mostra?

    Acredito que saiba usar a Janela imediata (Ctrl+G )

    Se sim, abra o formulário FormEstorno

    Na janela imediata, digite:
    ? Forms!FormEstorno.RecodsetClone.RecordCount

    deverá mostrar o número de registro que tem no formulário

    Aguardo...


    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    [Resolvido]Excluir um registro exclusivo de uma tabela e acrescentar em outra tabela! Empty Re: [Resolvido]Excluir um registro exclusivo de uma tabela e acrescentar em outra tabela!

    Mensagem  Lupércio 14/5/2012, 20:23

    Estou enviando o bd!

    http://speedy.sh/RTFhg/BALEM-RREGISTROS.zip
    avatar
    Convidad
    Convidado


    [Resolvido]Excluir um registro exclusivo de uma tabela e acrescentar em outra tabela! Empty Re: [Resolvido]Excluir um registro exclusivo de uma tabela e acrescentar em outra tabela!

    Mensagem  Convidad 14/5/2012, 20:44

    Ficando goiaba aqui, fazendo 5 coisas ao mesmo tempo da nisso:

    Coloque o Set no inicio da linha

    Set Regs = frm.RecordsetClone

    E retorne com o Me no lugar do nome do formulário.

    Editando: Funfou legal aqui, como tirou a parte da exclusão, ficou nas duas tabelas.
    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    [Resolvido]Excluir um registro exclusivo de uma tabela e acrescentar em outra tabela! Empty Re: [Resolvido]Excluir um registro exclusivo de uma tabela e acrescentar em outra tabela!

    Mensagem  Lupércio 14/5/2012, 21:12

    Iruuuuuuuuuuuuuuuu,,, Very Happy

    Funcionou aqui grande "amigo"
    Se eu tiver créditos contigo queria te pedir um favor, para excluir o outro tópico!

    "Erro ao tranferir registros no form continuo para a tabela!" Está em modulos em VBA!
    É o mesmo problema eu tinha dado aqui como resolvido e aberto outro la devido o erro!

    Abraço você é "Ninja"!
    avatar
    Convidad
    Convidado


    [Resolvido]Excluir um registro exclusivo de uma tabela e acrescentar em outra tabela! Empty Re: [Resolvido]Excluir um registro exclusivo de uma tabela e acrescentar em outra tabela!

    Mensagem  Convidad 14/5/2012, 21:20

    Essa criança nasceu a forceps! Razz
    Eu apago o outro tópico

    Valeu pelo retorno

    Editando: Como existem posts naquele tópico, dei-o somente como resolvido.

    Boa sorte!

    Conteúdo patrocinado


    [Resolvido]Excluir um registro exclusivo de uma tabela e acrescentar em outra tabela! Empty Re: [Resolvido]Excluir um registro exclusivo de uma tabela e acrescentar em outra tabela!

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 29/4/2024, 06:00