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]Atualizar e Salvar no Formulário

    Access365
    Access365
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 288
    Registrado : 09/07/2012

    [Resolvido]Atualizar e Salvar no Formulário Empty Atualizar e Salvar no Formulário

    Mensagem  Access365 31/8/2012, 02:02

    Olá pessoal, será que podem me ajudar?
    Na Tabela Serviço, tenho a coluna CODGerdao e a coluna Serviço, ambas com valores que se repetem.
    Estou tentando criar dois botões:
    ATUALIZAR: (Dá erro!)
    Private Sub ButAtualiza_Click()
    'Form_ADMServiços.Requery
    str = "UPDATE Serviço set Serviço =' " & Me.Serviço & " ' WHERE CODGerado = '" & Me.CODGerado & "' "
    CurrentDb.Execute str
    End Sub

    SALVAR: (Será que isso salva mesmo?)
    Private Sub ButSalva_Click()
    Dim str As String
    DoCmd.RunCommand acCmdSaveRecord
    MsgBox "Dados gravados com sucesso", vbInformation, "Confirmação"
    End Sub
    Estou colocando uma parte do DB, como exemplo.
    Agradeço!
    Paulo César
    avatar
    Convidado
    Convidado


    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Convidado 31/8/2012, 17:18

    Boas Info... Está dando erro porque estás a buscar o valor em uma combo, portanto deves especificar em que coluna está esta informação.



    str = "UPDATE Serviço set Serviço =' " & Me.Serviço & " ' WHERE CODGerado = '" & Me.CODGerado.Column(X) & "' "


    Onde X é o numero da coluna na combo, lembrando que a primeira coluna é a de número 0

    Quanto ao Salva, está correto.


    Cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Convidado 31/8/2012, 17:25

    Lembre-se que para os critérios, valores númericos ficam entre Aspas duplas " "
    Valores de texto ficam entre aspas Simples e Duplas '" "'


    Coloque:


    CurrentDb.Execute "UPDATE Serviço set Serviço ='" & Me.Serviço & "' WHERE CODGerado = " & Me.CODGerado.Column(0) & ""



    Cumprimentos.
    Access365
    Access365
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 288
    Registrado : 09/07/2012

    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Access365 31/8/2012, 18:32

    Olá Piloto, tudo bem?

    Então ficaria assim:

    Private Sub ButAtualiza_Click()
    str = "UPDATE Serviço set Serviço =' " & Me.Serviço & " ' WHERE CODGerado = '" & Me.CODGerado.Column(0) & "' "
    CurrentDb.Execute "UPDATE Serviço set Serviço ='" & Me.Serviço & "' WHERE CODGerado = " & Me.CODGerado.Column(0) & ""
    End Sub

    Mas aparece uma janela de erro dizendo:
    O argumento Ao clicar inserido gerou o seguinte erro: O argumento não é opcional

    Obrigado!
    avatar
    Convidado
    Convidado


    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Convidado 31/8/2012, 18:41

    Apenas:


    Private Sub ButAtualiza_Click()
    CurrentDb.Execute "UPDATE Serviço set Serviço ='" & Me.Serviço & "' WHERE CODGerado = " & Me.CODGerado.Column(0) & ""
    End Sub


    Cumprimentos.
    Access365
    Access365
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 288
    Registrado : 09/07/2012

    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Access365 31/8/2012, 18:54

    Oi Piloto... não funfa...
    A janela fica estática, inativa, parada...
    Ao tentar sair, aparece uma mensagem de erro depois pergunta se eu quero sair, mas que não foi possível salvar...
    Obrigado!
    Access365
    Access365
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 288
    Registrado : 09/07/2012

    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Access365 31/8/2012, 19:15

    Piloto,pra falar a verdade... até o Salvar dá erro...
    Eu sei que é por causa dos vários dados repetidos dentro da tabela, mas não estou sabendo resolver isso...
    Abro um Form que mostra o CODGerado e Serviço, neste caso, a única coisa deve ser alterado, é os dados de Serviço, a caixa CODGerado só serve para mudar de serviço...
    Como posso atualizar o Form após uma alteração no serviço e mesmo salvar os dados para sair, se na Tabela Serviço há vários dados iguais?
    É de derreter neurônios, não é? rsrs... Veja a Consulta: "ConsultaServiços"

    Eu acho que deveria ficar assim:
    ATUALIZAR: (é somente para atualizar os dados alterações no SubForm)
    Private Sub ButAtualiza_Click()
    Form_ADMServiços.Requery
    End Sub

    SALVAR: (salva a alteração feita no controle Serviço)
    Private Sub ButSalva_Click()
    CurrentDb.Execute "UPDATE Serviço set Serviço ='" & Me.Serviço & "' WHERE CODGerado = " & Me.CODGerado.Column(0) & ""
    MsgBox "Dados gravados com sucesso", vbInformation, "Confirmação"
    End Sub
    Mas não funfa!
    Obrigado!
    avatar
    Convidado
    Convidado


    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Convidado 31/8/2012, 20:54

    Deves utilizar o campo Índice da tabela (Chave primária)...

    VOcê quer salvar apeas o registro do formulário? (Registro ativo)


    De detalhes disso.


    Cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Convidado 31/8/2012, 21:16

    Na sua caixa texto Serviços em eventos, há referencia a uma Macro: Serviço, que não existe.

    Apague esta linha, por isso o comando salvar não funciona.

    Na instrução que atualiza:

    Crie uma caixa texto no form, acople ao campo Código... coloque o nome como txtCodigo:

    No botão:


    CurrentDb.Execute "UPDATE Serviço set Serviço = '" & Me.Serviço & "' WHERE Código = " & Me.txtCodigo & ""


    Agora... se quer atualizar o serviço para todos cujo Cod do servico sejam iguais, deves utilizar um recordeset abrindo fltrado pelo cod servico e realizar um loop nos mesmo atualizando.

    Cumprimentos.
    Access365
    Access365
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 288
    Registrado : 09/07/2012

    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Access365 31/8/2012, 21:24

    Pois é... o X da questão está aí...
    Na Tabela serviço, criou-se vários registros, veja:

    01 - Paulo - 525252 - Honorário 01 - R$400,00 - R$200,00 - 01/01/12
    02 - Paulo - 525252 - Honorário 01 - R$400,00 - R$200,00 - 01/02/12
    03 - Paulo - 979797 - Honorário 02 - R$900,00 - R$300,00 - 05/05/12
    04 - Paulo - 979797 - Honorário 02 - R$900,00 - R$300,00 - 05/06/12
    05 - Paulo - 979797 - Honorário 02 - R$900,00 - R$300,00 - 05/07/12

    Se alterar manualmente num Form: "Honorários 02" para "Honorários 02 Teste", "R$900,00" para "R$1.200,00", preciso que os registros 03, 04 e 05 sejam alterados automaticamente.

    "Fundi sua cuca?"
    Obrigado!
    Access365
    Access365
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 288
    Registrado : 09/07/2012

    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Access365 31/8/2012, 21:30

    O Atualizar, até que não atrapalha não... posso alterar o código de atualização, apenas para dar um refresh na janela, pois é somente para atualizar os dados alterados no SubForm... lá o usuário tem que alterar linha-por-linha mesmo.
    O problema está no salvar... Vou tentar o que vc disse ae em cima...
    Brigadão!
    Access365
    Access365
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 288
    Registrado : 09/07/2012

    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Access365 31/8/2012, 21:41

    Obrigado Piloto, mas não funfa...
    Não posso usar ó código, pois a alteração tem que ser para vários registros e a ÚNICA coisa que os une é o CODGerado e este não pode ser "chave", pois a tabela está relacionada.

    Perdoe-me, mas eu não sei o que quer dizer isto: "Agora... se quer atualizar o serviço para todos cujo Cod do servico sejam iguais, deves utilizar um recordeset abrindo fltrado pelo cod servico e realizar um loop nos mesmo atualizando."

    Obrigado por está ajudando amigo!


    Última edição por infosoft em 31/8/2012, 21:44, editado 1 vez(es)
    avatar
    Convidado
    Convidado


    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Convidado 31/8/2012, 21:43

    Para atualizar todos os servicos com o mesmo CODGerado:

    Dim Db As DAO.Database
    Dim Rs As DAO.Recordset
    Set Db = CurrentDb
    Set Rs = CurrentDb.OpenRecordset("SELECT * FROM Serviço WHERE CODGerado = " & Me.CODGerado.Column(0) & ";")
    Do While Not Rs.EOF
    Rs.Edit
    Rs!Servico = Me.txtServico.Text
    Rs.Update
    Rs.MoveNext
    Loop

    Observe que renomeei a caixa texto no form e na tabela retirei a cedilha da palavra serviço.

    Nunca utilize acentos ou espaços em nomes de caixa texto ou tabelas ou campos etc.


    Cumprimentos.
    Access365
    Access365
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 288
    Registrado : 09/07/2012

    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Access365 31/8/2012, 21:47

    Tem gente me chamando, assim que retornar eu aplicarei e te falo...
    Mais uma vez, obrigado!
    avatar
    Convidado
    Convidado


    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Convidado 31/8/2012, 22:00

    Este código acima faz isto porém esta atualizando apenas o serviço, para editar mais campos basta incluí-los no procedimento...


    Dim Db As DAO.Database
    Dim Rs As DAO.Recordset
    Set Db = CurrentDb
    Set Rs = CurrentDb.OpenRecordset("SELECT * FROM Serviço WHERE CODGerado = " & Me.CODGerado.Column(0) & ";")
    Do While Not Rs.EOF
    Rs.Edit
    Rs!Servico = Me.txtServico.Text
    Rs!VRTotal = SuaCaixaTexto
    Rs!VRParcela = SuaCaixaTexto

    Rs.Update
    Rs.MoveNext
    Loop


    E assim para os campos que dsejar.

    O Botão Salvar para este caso não tem serventia.. ele apenas salva o registro ativo no form....o primeiro registro encontrado com o CODGerado... mas como sao muitos so altera o Ativo.




    Cumprimentos.
    Access365
    Access365
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 288
    Registrado : 09/07/2012

    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Access365 31/8/2012, 23:48

    Olá Piloto... o código está "pegando" todos os valores, mas ainda não sei dizer se vai alterar todos na Tabela Serviço, pois está abrindo a "Depuração" e está apontando para: (marquei de vermelho)

    Private Sub ButAtualiza_Click()

    Dim Db As DAO.Database
    Dim Rs As DAO.Recordset
    Set Db = CurrentDb
    Set Rs = CurrentDb.OpenRecordset("SELECT * FROM Serviço WHERE CODGerado = " & Me.CODGerado.Column(0) & ";")
    Do While Not Rs.EOF
    Rs.Edit
    Rs!Servico = Me.txtServico
    Rs!VRTotal = Me.VRTotal
    'Rs!VRParcela = SuaCaixaTexto
    Rs.Update
    Rs.MoveNext
    Loop

    End Sub

    Muito obrigado, amigo!
    avatar
    Convidado
    Convidado


    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Convidado 1/9/2012, 00:41

    Esta linha está correta, aqui não vejo erros.

    FOram atualizados todos os registros com o CODGerado iguais, colocando no campo Servico a mesma informação.

    Compile o seu Bd para que possa resolver possíveis erros em códigos.

    Envio-o novamente para que vejamos.


    Cumprimentos.
    Access365
    Access365
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 288
    Registrado : 09/07/2012

    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Access365 1/9/2012, 01:00

    Ok Piloto... Muito obrigado!
    Postando o segundo. (somente botão ATUALIZAR)
    avatar
    Convidado
    Convidado


    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Convidado 1/9/2012, 03:16

    O que ocorre é o seguinte:

    Você está utilizando um Fomulário e um SibFormulário, ambos baseados na mesma tabela.

    Quando Altera um dado na caixa texto Serviço, você está manipulando um registro na tabela, como se estivesse editando...

    Na realidade está alterando um dos registros do conjunto de registros do mesmo CODGerado, portanto quando faz isso da conflito com o procedimento Rs.Edit posto que o mesmo tambem está a manipular a mesma tabela.


    Deves deixar esta caixa descoplada e criar outra para exibir o servico.


    Cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Convidado 1/9/2012, 03:18

    Assim dará certo:

    Salva o registro antes da edição.

    Private Sub ButAtualiza_Click()

    Dim Db As DAO.Database
    Dim Rs As DAO.Recordset
    Me.ServiçosParcelados.SetFocus
    DoCmd.RunCommand acCmdSaveRecord

    Set Db = CurrentDb
    Set Rs = CurrentDb.OpenRecordset("SELECT * FROM Serviço WHERE CODGerado = " & Me.CODGerado.Column(0) & ";")
    Do While Not Rs.EOF
    Rs.Edit
    Rs!Servico = Me.txtServico
    Rs!VRTotal = Me.VRTotal
    'Rs!VRParcela = SuaCaixaTexto
    Rs.Update
    Rs.MoveNext
    Loop

    End Sub


    Cumprimentos.
    Access365
    Access365
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 288
    Registrado : 09/07/2012

    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Access365 1/9/2012, 03:30

    É isso aí Piloto, vc brilhou cara!
    Muito obrigado e muita luz pra vc!
    avatar
    Convidado
    Convidado


    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Convidado 1/9/2012, 03:37

    O Fórum agradece o Retorno.
    Access365
    Access365
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 288
    Registrado : 09/07/2012

    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Access365 1/9/2012, 06:03

    Que isso.. sou eu quem agradeço a você e a este Fórum.
    Valeu e muita luz!
    avatar
    Convidado
    Convidado


    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Convidado 1/9/2012, 17:18

    cheers
    Access365
    Access365
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 288
    Registrado : 09/07/2012

    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Access365 1/9/2012, 18:53

    Boa tarde Piloto...
    Só mais uma coisinha... (risos sem graça)
    Quando te mandei o exemplo era pra solucionar o problema de salvar atualizar, retirei umas janela de um DB mais antigo para te enviar somente a parte em questão, mas agora que o coloquei no lugar certo, está acontecendo o seguinte:
    1- Eu adaptei caixas de mensagem para a gravação de dados e caso o cliente clique em FECHAR ao esquecer de salvar;
    2- Se o cliente tem três linhas com o CODGerado, é aberto três caixas de mensagens e as caixas de mensagens ficam atrás da janela.

    Peço a gentileza de me auxiliar mais esta vez...
    Agradecido!
    Paulo César
    Access365
    Access365
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 288
    Registrado : 09/07/2012

    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Access365 1/9/2012, 19:29

    Desculpa aí Piloto, mas era a Formatação Condicional do SubForm na janela principal é que está colocando todas as Caixas de Mensagens atrás...
    E quanto às Caixas de Mensagens aparecer quantas vezes forem os CODGerados eu resolvi, mas...
    Agora só aparece 2 vezes, por causa disso:

    EVENTO: antes de atualizar do Form principal

    Private Sub Form_BeforeUpdate(Cancel As Integer)
    If MsgBox("Alterações detectadas no campo de dados do serviço." _
    & vbCr & vbCr & "Deseja salvar estas alterações? Caso escolha não, as alteraçoes serão desfeitas." _
    , vbYesNo + vbInformation, "Confirmação") = vbNo Then
    Me.Undo
    Dim Db As DAO.Database
    Dim rs As DAO.Recordset
    Me.ServiçosParcelados.SetFocus
    DoCmd.RunCommand acCmdSaveRecord
    Set Db = CurrentDb
    'ALTEREI CX. COMBINAÇÃO PARA CX. DE TEXTO DO CODGERADO
    Set rs = CurrentDb.OpenRecordset("SELECT * FROM Serviço WHERE CODGerado = " & Me.CODGerado & ";")
    Do While Not rs.EOF
    rs.Edit
    rs!Servico = Me.txtServico
    'rs!VRTotal = Me.VRTotal
    'Rs!VRParcela = SuaCaixaTexto
    rs.Update
    rs.MoveNext
    Loop
    Else
    MsgBox "Gravação efetuada com sucesso!", vbQuestion, ""
    End If
    End Sub

    Agradeço!
    avatar
    Convidado
    Convidado


    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Convidado 1/9/2012, 19:35

    Manda o BD ai.

    Cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Convidado 1/9/2012, 19:39

    Private Sub Form_BeforeUpdate(Cancel As Integer)
    If MsgBox("Alterações detectadas no campo de dados do serviço." _
    & vbCr & vbCr & "Deseja salvar estas alterações? Caso escolha não, as alteraçoes serão desfeitas." _
    , vbYesNo + vbInformation, "Confirmação") = vbNo Then
    Me.Undo
    Else 'Aqui se caso a resposta for sim....
    Dim Db As DAO.Database
    Dim rs As DAO.Recordset
    Me.ServiçosParcelados.SetFocus
    DoCmd.RunCommand acCmdSaveRecord
    Set Db = CurrentDb
    'ALTEREI CX. COMBINAÇÃO PARA CX. DE TEXTO DO CODGERADO
    Set rs = CurrentDb.OpenRecordset("SELECT * FROM Serviço WHERE CODGerado = " & Me.CODGerado & ";")
    Do While Not rs.EOF
    rs.Edit
    rs!Servico = Me.txtServico
    'rs!VRTotal = Me.VRTotal
    'Rs!VRParcela = SuaCaixaTexto
    rs.Update
    rs.MoveNext
    Loop
    End If 'Encerra o If

    'Esta linha é a última a aparecer, dando o indicativo que o procedimento fora executado com sucesso
    MsgBox "Gravação efetuada com sucesso!", vbQuestion, ""



    Cumprimentos.
    Access365
    Access365
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 288
    Registrado : 09/07/2012

    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Access365 1/9/2012, 20:25

    Olá Piloto, estou postando uma parte do DB original...

    Ele tem algumas proteções ainda, mas:
    1- "ALT+F4" fecha as janelas
    2- Tecle "ALT" para trazer as caixas de mensagens/erro para frente
    3- Clique 2 VEZES na coluna CODGerado do cliente, na janela principal, para abrir a janela "Serviços"

    Muito obrigado!
    Anexos
    [Resolvido]Atualizar e Salvar no Formulário AttachmentHonoráriosAltMaxAccPilo.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (738 Kb) Baixado 12 vez(es)
    avatar
    Convidado
    Convidado


    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Convidado 1/9/2012, 20:35

    E qual problema esta tendo?

    Testou o código que postei na minha menssagem anterior?

    Cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Convidado 1/9/2012, 21:07

    Da forma como esta aplicando esta dando conflito de gravação... ou seja...ainda nao terminou o processo de gravacao do servico do registro ativo, e tenta atualizar a tabela... Coloque o código que te enviei acima diretamente no botão.


    Cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Convidado 1/9/2012, 21:21

    Preste atenção em como fazer para dar certo da forma que pretende:

    1 - Criei uma variável do tipo boolean nas declarações do módulo do form

    Dim Atualiza as Boolean


    2 - No evento antes de atualizar do form:

    If MsgBox("Alterações detectadas no campo de dados do serviço." _
    & vbCr & vbCr & "Deseja salvar estas alterações? Caso escolha não, as alteraçoes serão desfeitas." _
    , vbYesNo + vbInformation, "Confirmação") = vbNo Then
    Me.Undo
    Atualiza = False
    Else
    Atualiza = True
    End If
    End Sub

    Aqui se houve alterações definirá a variável como True, caso não, como False (que é o padrao inicial da variável)


    3 - No botão Atualiza:

    Form_ServiçosAD.Requery
    If Atualiza = True Then
    Dim Db As DAO.Database
    Dim Rs As DAO.Recordset
    DoCmd.RunCommand acCmdSaveRecord
    Set Db = CurrentDb
    Set Rs = CurrentDb.OpenRecordset("SELECT * FROM Serviço WHERE CODGerado = " & Me.CODGerado & ";")
    Do While Not Rs.EOF
    Rs.Edit
    Rs!Servico = Me.txtServico
    'rs!VRTotal = Me.VRTotal
    'Rs!VRParcela = SuaCaixaTexto
    Rs.Update
    Rs.MoveNext
    Loop
    Rs.Close
    Set Rs = Nothing
    Atualiza = False
    MsgBox "Gravação efetuada com sucesso!", vbQuestion, ""
    Else




    Resumindo... se a resposta form Sim... a variável fica como True e ao pressionar o botão, executa o procedimento recordset

    Caso seja não, a variável fica como false, não executando o procedimento recordset



    Cumprimentos.
    Access365
    Access365
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 288
    Registrado : 09/07/2012

    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Access365 1/9/2012, 21:41

    Estava tentando o penultimo exemplo que vc passou...
    1- Consegui fazer fechar;
    2- Só pergunta se quer salvar se o "Serviço" for alterado;
    MAS
    3- Sempre aparece "Garavação efetuada com sucesso." após fechar a janela

    Obrigado por se preocupar!
    Access365
    Access365
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 288
    Registrado : 09/07/2012

    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Access365 1/9/2012, 21:57

    Oi Piloto, o que tá acontecendo agora:
    Erro (no botão)
    If Atualiza = True Then
    Erro (Ao Fechar, somente depois de alterar)
    (no primeiro e seleciona a palavra "Atualiza")
    Atualiza = False
    E quando salva, só salva uma linha...
    Obrigado!

    --------------------
    Desculpa... ignore o que escrevi antes, aqui...
    É porque eu não dei um nome correto ao Módulo... me lembrei do que vc disse antes sobre os "nomes"...
    Agora o nome do Módulo está correto e o erro é:
    1- Só salva uma linha
    Vou estudar mais o código pra ver se dou um "jeito", mas qq coisa posta aí que ficarei agradecido.

    Obrigado!
    Access365
    Access365
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 288
    Registrado : 09/07/2012

    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Access365 1/9/2012, 22:24

    Oi Piloto... Aqui, tudo dá certo... O botão de Salvar tá tudo OK, mas no de Fechar:
    A caixa de mensagem "Gravação efetuada com sucesso." ao fechar sem alterar, continua aparecendo e ela só aparece após o "Form Serviços" sumir da tela.
    -----------------(Botão FECHAR)---------------------
    Private Sub ButFecha_Click()

    If Me.Dirty = False Then
    DoCmd.Close
    Else

    If MsgBox("Alterações detectadas no campo de dados do serviço." _
    & vbCr & vbCr & "Deseja salvar estas alterações? Caso escolha não, as alteraçoes serão desfeitas." _
    , vbYesNo + vbInformation, "Confirmação") = vbNo Then
    Me.Undo
    Else 'Aqui se caso a resposta for sim....
    Dim Db As DAO.Database
    Dim rs As DAO.Recordset
    'Me.ServiçosParcelados.SetFocus
    DoCmd.RunCommand acCmdSaveRecord
    Set Db = CurrentDb
    'ALTEREI CX. COMBINAÇÃO PARA CX. DE TEXTO DO CODGERADO
    Set rs = CurrentDb.OpenRecordset("SELECT * FROM Serviço WHERE CODGerado = " & Me.CODGerado & ";")
    Do While Not rs.EOF
    rs.Edit
    rs!Servico = Me.txtServico
    'rs!VRTotal = Me.VRTotal
    'Rs!VRParcela = SuaCaixaTexto
    rs.Update
    rs.MoveNext
    Loop

    End If 'Encerra o If
    DoCmd.Close
    End If
    'Esta linha é a última a aparecer, dando o indicativo que o procedimento fora executado com sucesso
    MsgBox "Gravação efetuada com sucesso!", vbQuestion, ""

    End Sub
    ----------------------------------------
    Pode ajudar de novo?
    Obrigado!
    avatar
    Convidado
    Convidado


    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Convidado 2/9/2012, 03:49

    https://dl.dropbox.com/u/26441349/Infosoft.rar


    Cumprimentos.
    Access365
    Access365
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 288
    Registrado : 09/07/2012

    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Access365 2/9/2012, 06:02

    Olá Piloto, está abrindo este erro no download:

    Error (404)
    We can't find the page you're looking for. Check out our Help Center and forums for help, or head back to home.

    Obrigado!
    avatar
    Convidado
    Convidado


    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Convidado 2/9/2012, 11:39

    Estava ainda a carregar no DropBox... Tente novamente.

    Cumprimentos.
    Access365
    Access365
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 288
    Registrado : 09/07/2012

    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Access365 2/9/2012, 23:08

    Olá Piloto, tudo bem?
    O botão Fechar não tá alterando todas as linhas e no Atualizar só grava na primeira linha.
    Com o que vc me passou (antes da função) eu fiz este (EM ANEXO)
    Mas só tem UM erro...
    Quando fecha sem salvar aparece a Caixa de Mensagem Sim ou Não...
    Ao clicar em NÃO ele desfaz as alterações, aparece a Caixa de Mensagem dizendo que foi desfeito, mas aparece "Gravação efetuada com sucesso."
    Este é o único erro agora... (estou "apanhando" nos End If's) rsrs

    Abraço e muito obrigado por tudo!
    Paulo César
    Anexos
    [Resolvido]Atualizar e Salvar no Formulário AttachmentHonoráriosAltMaxAccPilo_02.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (605 Kb) Baixado 14 vez(es)
    avatar
    Convidado
    Convidado


    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Convidado 3/9/2012, 14:38

    Fiz apenas para o botão atualizar...

    Agora me fale:

    1 - o do botão atualizar está certo?
    2 - O que deseja mais?


    Cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Convidado 3/9/2012, 15:04

    Amigão sinto muito... Assim não dá pra continuar...


    Tudo que faço você ignora e modifica...

    Se observar o último exemplo, utilizei uma variável boolean para executar o código apenas se a mesma estiver definida como true.. e isso acontecia apos modificar o texto do serviço..

    Mas este exemplo que me enviou está totalmente diferente do exemplo que fiz.. que está funcionando...

    Assim não dá... ai ficarei trabalhando em vão.


    Cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Convidado 3/9/2012, 16:00

    Vamos partir deste exemplo... Testado e 100% funcional.

    https://dl.dropbox.com/u/26441349/Infosoft_2.rar

    Cumprimentos.
    Access365
    Access365
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 288
    Registrado : 09/07/2012

    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Access365 3/9/2012, 17:36

    Minha nossa... me desculpa... não foi a minha intenção... pensei que estava agindo certo... vou usar o que vc me mandar!
    A minha intenção foi a de melhorar, pois aqui não tinha dado certo... me perdoe, vc tem razão!
    Vou testar o que enviou agora e te falo...
    Foi mal cara!
    Muito obrigado!
    Access365
    Access365
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 288
    Registrado : 09/07/2012

    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Access365 3/9/2012, 17:43

    Piloto, tudo bem?
    1- O botão atualizar serve somente para quando o usuário modificar "Aberto", "Devedor" e/ou "Fechado", somar os valores atuais no Form;
    2- O botão salvar serve para atualizar, caso o usuário corrija um erro gramática, de digitação, etc, no controle serviço;
    3- O botão fechar, basicamente para fechar, mas caso o usuário esqueça de salvar, ele tem que "lembrar" sobre a gravação, trazendo a opção de salvar ou não, NÃO salvar é para caso de somente o usuário estar lendo e encostou nalguma tecla sem querer.

    Obrigado pela paciência!
    Access365
    Access365
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 288
    Registrado : 09/07/2012

    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Access365 3/9/2012, 18:10

    Oi Piloto, o exemplo que me enviou por último não funfa, TALVEZ seja pq os dados dos clientes estejam iguais...
    Neste sistema, o CODGerdado nunca irá se repetir para cada SERVIÇO/CLIENTE, pois:
    1- O próprio sistema gera um número aleatório;
    2- Se tiver um Homônimo, i sistema pedirá para colocar um "." (ponto) no final do nome.
    Talvez com vc este exemplo dê certo, pq vc está alterando a Tabela com dados iguais para os serviços e CODGerados...Tente colocar tudo diferente, exemplo:
    PESSOA CODGERADO SERVIÇO
    Andresa 49430336 Nº Proc.: 49430336
    Andresa 49430336 Nº Proc.: 49430336
    Andresa 49430336 Nº Proc.: 49430336
    Barbosa 50525153 Nº Proc.: 50525153
    Barbosa 50525153 Nº Proc.: 50525153
    Barbosa 50525153 Nº Proc.: 50525153
    Paulo César 47505658 Nº Proc.: 47505658
    Paulo César 47505658 Nº Proc.: 47505658
    Paulo César 47505658 Nº Proc.: 47505658

    MAS para cada linha/Cliente tem que haver uma DATA diferente.
    Se a data se repetir, o CODGerado/Serviço serão diferentes.


    Eu fiz as correções dos dados na Tabela Serviço e aqui aconteceu o seguinte:
    1- ATUALIZAR: Só salva uma linha;
    2- SALVAR: Salva todas as linhas de uma só vez, MAS pergunta DUAS vezes se deseja salvar;
    3- FECHAR: Ao alterar e fechar, pergunta, e em caso afirmativo, só salva 1 linha.

    Por favor, não se aborreça, só estou tentando acertar e me desculpe, mais uma vez, por eu ter "mexido" nos seus exemplos.

    Muito obrigado!
    Paulo César
    avatar
    Convidado
    Convidado


    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Convidado 3/9/2012, 18:56

    Relaxa... Devemos sempre utilizar o ultimo exemplo válido.. e melhorar o mesmo senão ficaremos a dar voltas...


    Neste sistema, o CODGerdado nunca irá se repetir para cada SERVIÇO/CLIENTE, pois:[/code]

    Mas no teu exemplo há varios repetidos!!!!

    O exemplo que postei funciona sim!!! se abrir e modificar o texto e clicar em atualizar ele atualiza todos os servicos para o mesmo código gerado... VOce havia dito em um dos exemplos que estava atualizando apenas uma linha... Agora atualiza todas para o mesmo código.

    Agora disse que não...

    Não estou entendendo o que quer...


    Voceê quer atualizar quais Regitros???????????

    Pois bem, partindo desta sua última explicação vamos iniciar por partes.

    Botão Atualiza:

    Descreve todos os procedimentos para o mesmo

    Cumprimentos.
    Access365
    Access365
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 288
    Registrado : 09/07/2012

    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Access365 3/9/2012, 19:51

    Olá Piloto, eu acho que expliquei mal...
    Não se repete da seguinte forma... O Cliente Andresa contrata o escitório, seu nome fica armazenado, toda vez que ela pede um serviço, é garado um número de serviço (CODGerado), este CODGerado se repete somente para ela entre as datas de parcelamento para pagamento deste serviço... exemplo de 3 parcelas 10/07/12 - 10/08/12 - 10/09/12, então ficaria assim:
    Andresa - 57436515 - Nº Proc.: 57436515 - R$ XXX,XX - R$ 0,00 - 3 - 10/07/2012 - Fechado
    Andresa - 57436515 - Nº Proc.: 57436515 - R$ XXX,XX - R$ 0,00 - 3 - 10/08/2012 - Devedor
    Andresa - 57436515 - Nº Proc.: 57436515 - R$ XXX,XX - R$ 0,00 - 3 - 10/09/2012 - Aberto
    Se a Andresa procurasse o escritório novamente, seria um outro CODGerado e outras datas e se ela contratar o escritório para dois tipos de serviços diferentes no mesmo dia, as datas poderiam serem iguais, mas o CODGerado seria outro.
    Talvez as datas dos exemplos estejam erradas de tanto que eu "mexer" pra testar códigos/funções.
    ATUALIZAR: (para os controles do Form ServiçosAD)
    O botão atualizar é para somente, qndo o usuário trocar de "Aberto" para "Fechado" ou para "Devedor", ele clicar em atualizar para ver a soma dos valores no Form ServiçosAD.
    O mais importante é salvar a alterações do controle servico dentro da tabela e habilitar, adequadamente, o botão fechar para perguntar se o usuário quer salvar as alterações, qndo esquecer de salvar

    Poxa, Piloto, me desculpe mesmo, estou "o maior sem graça" com você, mas aqui o ultimo exemlo que me deu, não está funfando...
    Muito obrigado pela atenção!
    avatar
    Convidado
    Convidado


    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Convidado 3/9/2012, 20:16

    Nao fique envergonhado por nada.. Os teus problemas no BD me serve para aumentar o meu aprendizado, pois ao buscar a solução para ti, aprendo cada vez mais... Comecei no fórum a mais ou menos 1 ano e meio como novato.. e tudo que aprendi em Access e VBA devo ao Fórum e aos que muito me ajudara. Só estou retribuindo da mesma forma a ajuda que recebi aqui quando precisei, e acredite... enchi muito a paciencia de muitos no meu inicio.


    Pois bem, pegue este exemplo que postei e coloque registros apenas de uma pessoa, para que possamos arrumar primeiramente o atualizar.

    Explique para estes rgistros o que pretende.


    Cumprimentos.
    Access365
    Access365
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 288
    Registrado : 09/07/2012

    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Access365 3/9/2012, 20:40

    Piloto, posso colocá-lo do "jeito" que eu preciso?
    avatar
    Convidado
    Convidado


    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Convidado 3/9/2012, 21:30

    Faça assim para uma melhor compreensão minha:

    Pegue o ultimo exemplo que te enviei, não mexa em nada no vba...

    Coloque na tabela apenas registros de uma pessoa... varios... para a mesma data, para datas diferentes etc...

    Porém para apenas uma pessoa.

    Descreva para estes registros qual deles deseja atualizar e em quais campos..

    E descreva o que deseja que o botao atualizar faça..

    Vamos faze primeiro para o botão atualizar, quando pronto partimos para os demais.

    Compreendeu?


    Cumprimentos.

    Conteúdo patrocinado


    [Resolvido]Atualizar e Salvar no Formulário Empty Re: [Resolvido]Atualizar e Salvar no Formulário

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 25/11/2024, 13:12