MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

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

    update em form populado por recordset perdendo dados

    Compartilhe

    mathusalmeida
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 263
    Registrado : 30/08/2011

    update em form populado por recordset perdendo dados

    Mensagem  mathusalmeida em Seg 22 Jun 2015, 23:46

    Olá a todos do fórum.

    Estou com a seguinte situação.

    Tenho um form que é populado pela função:

    Código:
    Public Function carregaForm()

    Dim db As Database, rs As Recordset, strSql As String

    Set db = CurrentDb
    strSql = "SELECT * FROM TBDADOS WHERE Código=" & Me.Código & ";"
    Set rs = db.OpenRecordset(strSql)

    'DADOS
    Me.NomedoPaciente = rs!NomedoPaciente
    Me.cpNomedoPaciente = rs!NomedoPaciente
    Me.NomedoSolicitante = rs!NomedoSolicitante
    Me.NumerodoContato = rs!NumerodoContato
    Me.NomeCidade = rs!NomeCidade
    Me.Endereço = rs!Endereço
    Me.NumeroCasa = rs!NumeroCasa
    Me.NomeBairro = rs!NomeBairro
    Me.PontodeReferencia = rs!PontodeReferencia
    Me.DataChamado = rs!DataChamado
    Me.HoraChamado = rs!HoraChamado

    'BLOCO A - VIAS AÉREAS
    Me.AVAPerveas = rs!AVAPerveas
    Me.A_VA_ObstruçãoParcial = rs!A_VA_ObstruçãoParcial
    Me.A_VA_ObstruçãoTotal = rs!A_VA_ObstruçãoTotal
    Me.A_VA_CorpoEstranho = rs!A_VA_CorpoEstranho
    Me.A_VA_Outros = rs!A_VA_Outros
    Me.A_VA_Observaçao = rs!A_VA_Observaçao

    'CONDUTAS EXECUTADAS
    Me.ASP = rs!ASP
    Me.CER = rs!CER
    Me.CUR = rs!CUR
    Me.DES = rs!DES
    Me.ENT = rs!ENT
    Me.HID = rs!HID
    Me.IMO = rs!IMO
    Me.KED = rs!KED
    Me.PRA = rs!PRA
    Me.RCP = rs!RCP
    Me.SON = rs!SON
    Me.TOR = rs!TOR
    Me.MED = rs!MED
    Me.OCO = rs!OCO
    rs.Close
    db.Close
    Set rs = Nothing
    Set db = Nothing

    End Function

    Até aqui tudo bem, o form é populado com os dados da tabela sem problemas.

    Aí realizo as alterações que preciso utilizando está função:

    Código:
    Public Function alterar() As Boolean
    Dim strSql As String
    strSql = "update TBDADOS set "

    'CAMPOS DA TABELA - DADOS RECUPERADOS DO TARMS
    strSql = strSql & "NomedoSolicitante = """ & Me.NomedoSolicitante & ""","
    strSql = strSql & "NomedoPaciente = """ & Me.NomedoSolicitante & """, "
    strSql = strSql & "NumerodoContato = """ & Me.NumerodoContato & """, "
    strSql = strSql & "NomeCidade = """ & Me.NomeCidade & """ , "
    strSql = strSql & "Endereço = """ & Me.Endereço & """, "
    strSql = strSql & "NumeroCasa = """ & Me.NumeroCasa & """, "
    strSql = strSql & "NomeBairro = """ & Me.NomeBairro & """, "
    strSql = strSql & "PontodeReferencia = """ & Me.PontodeReferencia & """, "
    strSql = strSql & "DataChamado = """ & Me.DataChamado & """, "
    strSql = strSql & "HoraChamado = #" & Me.HoraChamado & "#, "


    'CAMPOS DA TABELA - BLOCO A - VIAS AÉREAS
    strSql = strSql & "A_VA_Perveas = """ & Me.A_VA_Perveas & """, "
    strSql = strSql & "A_VA_ObstruçãoParcial = """ & Me.A_VA_ObstruçãoParcial & """, "
    strSql = strSql & "A_VA_ObstruçãoTotal = """ & Me.A_VA_ObstruçãoTotal & """, "
    strSql = strSql & "A_VA_CorpoEstranho = """ & Me.A_VA_CorpoEstranho & """, "
    strSql = strSql & "A_VA_Outros = """ & Me.A_VA_Outros & """, "
    strSql = strSql & "A_VA_Observaçao = """ & Me.A_VA_Observaçao & """, "

    'CONDUTAS EXECUTADAS
    strSql = strSql & "ASP = """ & Me.ASP & """, "
    strSql = strSql & "CER = """ & Me.CER & """, "
    strSql = strSql & "CUR = """ & Me.CUR & """, "
    strSql = strSql & "DES = """ & Me.DES & """, "
    strSql = strSql & "ENT = """ & Me.ENT & """, "
    strSql = strSql & "HID = """ & Me.HID & """, "
    strSql = strSql & "IMO = """ & Me.IMO & """, "
    strSql = strSql & "KED = """ & Me.KED & """, "
    'strSql = strSql & "PER = """ & Me.PER & """ , "
    strSql = strSql & "PRA = """ & Me.PRA & """, "
    strSql = strSql & "RCP = """ & Me.RCP & """, "
    strSql = strSql & "SON = """ & Me.SON & """, "
    strSql = strSql & "TOR """ & Me.TOR & """, "
    strSql = strSql & "MED = """ & Me.MED & """, "
    strSql = strSql & "OCO = """ & Me.OCO & """, "

    strSql = strSql & "where "
    strSql = strSql & "Código = " & Me.Código & ";"

    DoCmd.RunSQL strSql

    End Function

    O problema é que os campos que não altero, perdem os dados já gravados.

    Exemplo:

    O campo OCO da TBDADOS é do tipo SIM/NÃO e já está gravado como SIM. Quando populo o form ele vem marcado como SIM.

    Se faço alteração mas não altero esse campo, quando populo o form com o mesmo registro, o campo está marcado como não.

    É como se no Update esse campo populado do form, mesmo marcado como sim, fosse alterado pra não.

    Alguém pode dar uma força.

    Grato desde já.

    mathusalmeida
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 263
    Registrado : 30/08/2011

    Re: update em form populado por recordset perdendo dados

    Mensagem  mathusalmeida em Qua 24 Jun 2015, 01:33

    up!

    mathusalmeida
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 263
    Registrado : 30/08/2011

    Re: update em form populado por recordset perdendo dados

    Mensagem  mathusalmeida em Qui 25 Jun 2015, 11:18

    up!

    mathusalmeida
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 263
    Registrado : 30/08/2011

    Re: update em form populado por recordset perdendo dados

    Mensagem  mathusalmeida em Dom 05 Jul 2015, 20:12

    up!

    cleverson_manaus
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 620
    Registrado : 23/09/2011

    Re: update em form populado por recordset perdendo dados

    Mensagem  cleverson_manaus em Qua 08 Jul 2015, 12:50

    Brother,

    Analisando seus códigos, percebi a falta do método addnew do objeto recordset no primeiro código.

    E dos métodos edit e update no segundo código .

    Podendo postar parte do BD, ficaria melhor pra dar uma olhada .

    Abraços


    .................................................................................
    [Você precisa estar registrado e conectado para ver esta imagem.]

    "É fazendo que se aprende a fazer aquilo que se deve aprender a fazer."(Aristóteles)
    - Dúvida resolvida!!! Tópico resolvido!!!!

      Data/hora atual: Seg 05 Dez 2016, 04:26