MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Formulario nao acoplado nao registra combo na tabela

    Compartilhe

    maguim
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 197
    Registrado : 15/05/2013

    [Resolvido]Formulario nao acoplado nao registra combo na tabela

    Mensagem  maguim em Qui 27 Abr 2017, 12:59

    bom dia amigos !


    Tenho um formulário de retorno total de dados(nao aclopado) através de um outro formulário de folha de dados.

    codigo de retorno total

    Código:
    Private Sub seleção_Click()
    DoCmd.OpenForm "formhistorico"
    Forms!formhistorico!CODPASTA = Me.CODPASTA
    Forms!formhistorico!PRESTADORINDICADO = Me.PRESTADORINDICADO
    Forms!formhistorico!CNPJ_PRESTADOR = Me.CNPJ_PRESTADOR
    Forms!formhistorico!CODIGOPRESTADOR = Me.CODIGOPRESTADOR
    Forms!formhistorico!DATA = Me.DATA
    Forms!formhistorico!ESPECIALIDADE = Me.ESPECIALIDADE
    Forms!formhistorico!DDD = Me.DDD
    Forms!formhistorico!TELEFONE = Me.TELEFONE
    Forms!formhistorico!CIDADE = Me.CIDADE
    Forms!formhistorico!UF = Me.UF
    Forms!formhistorico!INDICAÇÃO_ADEQUAÇÃO = Me.INDICAÇÃO_ADEQUAÇÃO
    Forms!formhistorico!STATUS = Me.STATUS
    Forms!formhistorico!SITUAÇÃO = Me.SITUAÇÃO
    Me.seleção = ""
    Forms!formhistorico.Form!lstHist.Requery
    Me.Requery
    formulário já com retorno de todos os dados tem uma combo tem mais 14 ALEATÓRIOS STATUS

    "01 - A CONTATAR";
    "02 - EM NEGOCIAÇÃO - ANÁLISE PRESTADOR";
    "04 - AGUARDANDO DOCUMENTAÇÃO";"
    05 - FASE CADASTRAL";
    "06 - ATENDIMENTO LIBERADO";
    "07- SEM INTERESSE PRESTADOR";
    "08 - NEGOCIAÇÃO INVIABILIZADA";"
    11 - STAND-BY";
    "12 - RESGATE DE PRESTADOR";
    "13 - AGUARDANDO DOCUMENTAÇÃO";
    "14 - AGUARDANDO CONTRATO";
    "15 - EXTENSÃO DE PROCEDIMENTO";
    "16 - EM NEGOCIAÇÃO - ANÁLISE GAMA ";
    "17 - ASSINATURA DIRETORIA GAMA"

    Minha duvida é?

    Teria com simplificar todos os dados da combo em uma unica "tag" ?

    ao inves eu declarar todos as 14 contextos dentro da combo tipo assim?

    If Me.SITUAÇÃO.Column(1) = "01 - A CONTATAR" Or Me.SITUAÇÃO.Column(1) = "02 - EM NEGOCIAÇÃO - ANÁLISE PRESTADOR" Then

    para

    assim ?

    If Me.SITUAÇÃO.Column(1)



    codigo da combo:

    Código:
    If Me.SITUAÇÃO.Column(1) = "01 - A CONTATAR" Or Me.SITUAÇÃO.Column(1) = "02 - EM NEGOCIAÇÃO - ANÁLISE PRESTADOR" Then
        If MsgBox("Tem Certeza que deseja Alterar a Situação do Prestador", vbYesNo, "Exit") = vbYes Then
        
        Dim rs As Recordset
        Set rs = CurrentDb.OpenRecordset("select codpasta, SITUAÇÃO from BANCODEDADOSCENTRAL where codpasta = " & Me.CODPASTA & "")
        rs.Edit
            rs("SITUAÇÃO") = Me.SITUAÇÃO.Column(1)
        rs.Update
        rs.Close
        
        Me.SITUAÇÃO.Enabled = False
        Else
        Me.SITUAÇÃO = ""
        End If
    End If
    Me.Refresh
    End Sub
    avatar
    CassioFabre
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 433
    Registrado : 18/01/2013

    Re: [Resolvido]Formulario nao acoplado nao registra combo na tabela

    Mensagem  CassioFabre em Qui 27 Abr 2017, 15:02

    Bom dia,

    Se entendi bem você quer saber se a combo está preenchida com algum valor, independente de qual seja, certo? Se sim, tente:

    Código:
    If not isnull(me.SITUAÇÃO) = True Then
        If MsgBox("Tem Certeza que deseja Alterar a Situação do Prestador", vbYesNo, "Exit") = vbYes Then
       
        Dim rs As Recordset
        Set rs = CurrentDb.OpenRecordset("select codpasta, SITUAÇÃO from BANCODEDADOSCENTRAL where codpasta = " & Me.CODPASTA & "")
        rs.Edit
            rs("SITUAÇÃO") = Me.SITUAÇÃO.Column(1)
        rs.Update
        rs.Close
       
        Me.SITUAÇÃO.Enabled = False
        Else
        Me.SITUAÇÃO = ""
        End If
    End If
    Me.Refresh

    Abraço.

    maguim
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 197
    Registrado : 15/05/2013

    Re: [Resolvido]Formulario nao acoplado nao registra combo na tabela

    Mensagem  maguim em Qui 27 Abr 2017, 16:05

    Cássio

    tentei fazer da sua maneira não esta salvado os dados fica em branco.


    Private Sub STATUS_AfterUpdate()
    If Not IsNull(Me.STATUS) = True Then

    Dim rs As Recordset
    Set rs = CurrentDb.OpenRecordset("select codpasta, STATUS from BANCODEDADOSCENTRAL where codpasta = " & Me.CODPASTA & "")
    rs.Edit
    rs("STATUS") = Me.SITUAÇÃO.Column(1)
    rs.Update
    rs.Close

    Else
    Me.STATUS = ""
    End If
    Me.Refresh
    End Sub
    Anexos
    Sistema ERCS - Cópia.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (4.9 Mb) Baixado 8 vez(es)
    avatar
    CassioFabre
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 433
    Registrado : 18/01/2013

    Re: [Resolvido]Formulario nao acoplado nao registra combo na tabela

    Mensagem  CassioFabre em Qui 27 Abr 2017, 16:45

    Boa tarde,

    Desculpa, não estou conseguindo entender exatamente o que você está querendo.

    Abraço.

    maguim
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 197
    Registrado : 15/05/2013

    Re: [Resolvido]Formulario nao acoplado nao registra combo na tabela

    Mensagem  maguim em Qui 27 Abr 2017, 18:17

    cassio

    o que estou tentando passar, é que... dentro formulario "CHECKPOINTREPORT" esta a folha de dados que abre "formhistorico" com os dados

    Dentro tem um combo "STATUS"

    pois o codigo desta forma

    Private Sub STATUS_AfterUpdate()
    If Not IsNull(Me.STATUS) = True Then

    Código:
    Dim rs As Recordset
    Set rs = CurrentDb.OpenRecordset("select codpasta, STATUS from BANCODEDADOSCENTRAL where codpasta = " & Me.CODPASTA & "")
    rs.Edit
    rs("STATUS") = Me.SITUAÇÃO.Column(1)
    rs.Update
    rs.Close

    Else
    Me.STATUS = ""
    End If
    Me.Refresh
    End Sub

    Só que não esta salvando na tabela... como posso resolver ? postei o bd ai pra vc dar uma olha.

    só queria que a combo salve-se a alteração na tabela. porem quando a combo é atualizada fica em branco no formulario, NAO SALVA


    abraços
    avatar
    CassioFabre
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 433
    Registrado : 18/01/2013

    Re: [Resolvido]Formulario nao acoplado nao registra combo na tabela

    Mensagem  CassioFabre em Qui 27 Abr 2017, 18:44

    Boa tarde,

    Troque o código da combo SITUAÇÃO para este:
    Código:
    Private Sub SITUAÇÃO_AfterUpdate()
    If Me.SITUAÇÃO.Column(1) = "CONCLUIDO" Then
        If MsgBox("Tem Certeza que deseja Alterar a Situação do Prestador", vbYesNo, "Exit") = vbYes Then
       
        Dim rs As Recordset
        Set rs = CurrentDb.OpenRecordset("select codpasta, SITUAÇÃO from BANCODEDADOSCENTRAL where codpasta = " & Me.CODPASTA & "")
        rs.Edit
            rs("SITUAÇÃO") = Me.SITUAÇÃO.Column(1)
        rs.Update
        rs.Close
       
        Me.SITUAÇÃO.Enabled = False
        Else
        Me.SITUAÇÃO = "EM ANDAMENTO"
        End If
    End If
    Me.Refresh
    End Sub

    E da combo STATUS para este:
    Código:
    Private Sub STATUS_AfterUpdate()
        If Not IsNull(Me.STATUS) = True Then
            If MsgBox("Confirma alteração?", vbQuestion + vbYesNo, "Alteração") = vbYes Then
                Dim rs As Recordset
                Set rs = CurrentDb.OpenRecordset("select codpasta, STATUS from BANCODEDADOSCENTRAL where codpasta = " & Me.CODPASTA & "")
                rs.Edit
                    rs("STATUS") = Me.STATUS
                rs.Update
                rs.Close
            Else
                Me.STATUS = ""
            End If
        End If
        Me.Refresh
    End Sub
    avatar
    CassioFabre
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 433
    Registrado : 18/01/2013

    Re: [Resolvido]Formulario nao acoplado nao registra combo na tabela

    Mensagem  CassioFabre em Qui 27 Abr 2017, 20:02

    Boa tarde,

    Caso a dúvida tenha sido sanada, não se esqueça de marcar o tópico como resolvido.

    Abraço.

    maguim
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 197
    Registrado : 15/05/2013

    Re: [Resolvido]Formulario nao acoplado nao registra combo na tabela

    Mensagem  maguim em Qui 27 Abr 2017, 20:46

    um duvida?

    se eu colocar no msgbox "não" como voltar pra informação anterios combo status

    por exemplo:

    me.status estava:

    "01 - A CONTATAR";

    ai coloquei

    "08 - NEGOCIAÇÃO INVIABILIZADA";" quando apertar "nao" no msgbox voltar "01 - A CONTATAR";

    mas como vc sabe as informações são aleatórios de cada prestador.

    abraços


    avatar
    CassioFabre
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 433
    Registrado : 18/01/2013

    Re: [Resolvido]Formulario nao acoplado nao registra combo na tabela

    Mensagem  CassioFabre em Qui 27 Abr 2017, 21:05

    Boa tarde,

    Neste caso substitua o código da combo Status pelo abaixo:
    Código:
    Private Sub STATUS_AfterUpdate()
        If Not IsNull(Me.STATUS) = True Then
            Dim rs As Recordset
            Set rs = CurrentDb.OpenRecordset("select codpasta, STATUS from BANCODEDADOSCENTRAL where codpasta = " & Me.CODPASTA & "")
           
            If MsgBox("Confirma alteração?", vbQuestion + vbYesNo, "Alteração") = vbYes
                rs.Edit
                    rs("STATUS") = Me.STATUS
                rs.Update
               
            Else
                Me.STATUS = rs!STATUS
            End If

            rs.Close
        End If
        Me.Refresh
    End Sub

    Abraço.

    maguim
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 197
    Registrado : 15/05/2013

    Re: [Resolvido]Formulario nao acoplado nao registra combo na tabela

    Mensagem  maguim em Sex 28 Abr 2017, 12:12

    cassio !

    bom dia !

    qual a relação da tag "Me.STATUS = rs!STATUS"

    só para entender melhor..


    abraços
    avatar
    CassioFabre
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 433
    Registrado : 18/01/2013

    Re: [Resolvido]Formulario nao acoplado nao registra combo na tabela

    Mensagem  CassioFabre em Sex 28 Abr 2017, 14:51

    Bom dia,

    Me.Status é a referencia para a combo STATUS do seu formulário.
    rs!Status é a referencia para o valor do campo Status que está no recordset "rs" populado logo acima. Este valor é o mesmo que está na tabela (seja ele qual for) e não foi alterado.

    Então quando você coloca a expressão Me.Status = rs!status você diz ao access que neste momento a combo Status vai recever o valor da variável rs!status, que é o valor padrão que o usuário cancelou a alteração.

    Abraço.

    maguim
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 197
    Registrado : 15/05/2013

    Re: [Resolvido]Formulario nao acoplado nao registra combo na tabela

    Mensagem  maguim em Sex 28 Abr 2017, 15:19

    Cassio mto obg mesmo.


    resolvido !

    Se puder olhe sua PV, mandei msg pra vc.


    abraços
    avatar
    CassioFabre
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 433
    Registrado : 18/01/2013

    Re: [Resolvido]Formulario nao acoplado nao registra combo na tabela

    Mensagem  CassioFabre em Sex 28 Abr 2017, 16:37

    Boa tarde,

    O fórum agradece o retorno. Verei assim que possível.

    Abraço.

      Data/hora atual: Ter 19 Set 2017, 12:48