Olá a todos do fórum.
Estou com a seguinte situação.
Tenho um form que é populado pela função:
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:
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á.
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á.