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


3 participantes

    [Resolvido]Selecionar ou marcar aleatóriamente itens em formulário continuo

    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Selecionar ou marcar aleatóriamente itens em formulário continuo Empty [Resolvido]Selecionar ou marcar aleatóriamente itens em formulário continuo

    Mensagem  Silvio 21/10/2017, 17:37

    Prezados boa tarde.

    Tenho um pequeno problema em mãos.   Preciso selecionar, marcar aleatoriamente itens em um formulário continuo, para que através disso eu possa mudar o status em uma tabela.  Até consegui e está rodar, mas a seleção vai ser aleatória e para isso há um campo sim/não para ser marcado.

    É nisso que eu estou a apanhar, fazer com que o código veja esse campo sim/não   e apenas nesses selecionados ele execute o update de status na tabela.

    Segue o código....

    Onde nesse código os campos são...

    TblAtendimento= tabela onde vai ocorrer a mudança
    StatusOculta = campo presente na tabela, tipo texto
    Me.StatusOculta= campo do formulário continuo, tipo texto
    Me.AEnvioEnviado = Campo Sim/Não, presente na TblAtendimento e no formulário continuo

    Private Sub bt_alterar_Click()

    If MsgBox("Deseja alterar o status de Aguardando Envio para Enviado" & vbCrLf & _
             "Dos  " & Me.TotalMudado & "  itens selecionados ?", vbQuestion + vbYesNo, Me.Caption) = vbNo Then
             Me.Undo
             Exit Sub
             Else
             Dim db As Database
             Dim rs As Recordset
             Set db = CurrentDb
            Set rs = db.OpenRecordset("Select * from TblAtendimento  Where StatusOculta = '" & Me.StatusOculta & "'") 'And Me.AEnvioEnviado = -1)
             rs.Edit
             rs("DataEnvio") = Date
             rs("StatusOculta") = "Enviado"
             rs("NaoEnviado") = 0
             rs("ComissaoAPagar") = -1
             rs.Update
             rs.Close
             db.Close
             End If
             Me.Refresh
             Me.Requery
             Me.Recalc
             Me.Oculta.SetFocus

    End Sub


    Se alguém puder me dar uma força, fico eu agradecido.


    .................................................................................
    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."
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    [Resolvido]Selecionar ou marcar aleatóriamente itens em formulário continuo Empty Re: [Resolvido]Selecionar ou marcar aleatóriamente itens em formulário continuo

    Mensagem  Alvaro Teixeira 22/10/2017, 12:00

    Olá Silvio, esse campo sim/não está na tabela como um campo temporário, exemplo selTmp

    Se sim, será correr uma consulta update para mudar status, depois outra update para limpar o selTmp. Assim não necessita do recordset.

    Caso seja de outra forma, poste pequeno exemplo dos objectos envolvidos para se testar.
    Abraço
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Selecionar ou marcar aleatóriamente itens em formulário continuo Empty Re: [Resolvido]Selecionar ou marcar aleatóriamente itens em formulário continuo

    Mensagem  Silvio 22/10/2017, 12:14

    Boa tarde Alvaro..

    Vou lhe manda uma MP explicando umas coisas...


    .................................................................................
    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."
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    [Resolvido]Selecionar ou marcar aleatóriamente itens em formulário continuo Empty Re: [Resolvido]Selecionar ou marcar aleatóriamente itens em formulário continuo

    Mensagem  Alvaro Teixeira 22/10/2017, 18:19

    Olá Silvio, compreendo a situação.
    Envie então para o meu email e partilhamos aqui depois apenas a solução adotada.
    Abraço
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Selecionar ou marcar aleatóriamente itens em formulário continuo Empty Re: [Resolvido]Selecionar ou marcar aleatóriamente itens em formulário continuo

    Mensagem  Silvio 22/10/2017, 19:51

    Boa noite....

    Já foi !

    Abraços.


    .................................................................................
    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."
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Selecionar ou marcar aleatóriamente itens em formulário continuo Empty Re: [Resolvido]Selecionar ou marcar aleatóriamente itens em formulário continuo

    Mensagem  JPaulo 23/10/2017, 12:34

    Código:
    Private Sub bt_alterar_Click()
    'Quando se marca a caixa no Formulário AEnvioEnviado, tenho que alterar o Status na TblAtendimento de "Aguardando Envio" para "Enviado"
    'Essa alteração ela está fazendo, o que eu não estou conseguindo é fazer com que  eu posso marcar aleatóriamente os registros e assim
    'Dar baixa, pois o usuário vai receber lotes para dar baixa de forma aleatória.


    If MsgBox("Deseja alterar o status de Aguardando Envio para Enviado" & vbCrLf & _
              "Dos  " & Me.TotalMudado & "  itens selecionados ?", vbQuestion + vbYesNo, Me.Caption) = vbNo Then
              Exit Sub
              Else
              Dim db As dao.Database
              Dim rs As dao.Recordset
              Set db = CurrentDb
                     
              'é nessa linha abaixo que eu estou sofrendo para a mudança de Status na tblAtendimento.
              'pois haverá escolhas aleatórias por parte do usuário final.
              Set rs = db.OpenRecordset("Select * from TblAtendimento  Where StatusOculta = '" & Me.StatusOculta & "' And [AEnvioEnviado] = True")
        'se não encontra registros, morre aqui
        If rs.RecordCount = 0 Then Exit Sub
        'coloca-se no 1º registro
        rs.MoveFirst
        'percorre todos os registros da tabela SuaTabela
        Do While Not rs.EOF
                rs.Edit
                rs("DataEnvio") = Date ' coloca a data em que foi alterado o registro.
                rs("StatusOculta") = "Enviado" ' muda o status da caixa oculta.  Não consegui mudar o texto "Enviado" da CboStatus, por isso não coloquei aqui
                rs("NaoEnviado") = False ' muda o check box para vazio ( não )
                rs("ComissaoAPagar") = True 'Muda o check box para cheio (sim)
                rs.Update
                rs.MoveNext
        Loop
    rs.Close: Set rs = Nothing
    db.Close: Set db = Nothing

    Me.Requery
    Me.Repaint
    Me.Oculta.SetFocus
    End If
    Me.Repaint
    End Sub


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Selecionar ou marcar aleatóriamente itens em formulário continuo Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Selecionar ou marcar aleatóriamente itens em formulário continuo Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Selecionar ou marcar aleatóriamente itens em formulário continuo Folder_announce_new Instruções SQL como utilizar...
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    [Resolvido]Selecionar ou marcar aleatóriamente itens em formulário continuo Empty Re: [Resolvido]Selecionar ou marcar aleatóriamente itens em formulário continuo

    Mensagem  Alvaro Teixeira 23/10/2017, 13:43

    Olá a todos,
    JPaulo a "olho" está de categoria a correr o recordset.

    Silvio, o simples uma vez que tem o campo "identificador" (True/False) na tabela:

    Código:
    Private Sub bt_alterar_Click()
        If MsgBox("Deseja alterar o status de Aguardando Envio para Enviado" & vbCrLf & _
            "Dos  " & Me.TotalMudado & "  itens selecionados ?", vbQuestion + vbYesNo, Me.Caption) = vbNo Then
            Exit Sub
        Else
            DoCmd.RunSQL "UPDATE TblAtendimento SET TblAtendimento.StatusOculta = 'Enviado', TblAtendimento.AEnvioEnviado = False WHERE TblAtendimento.AEnvioEnviado = True"
        End If
       
        Me.Refresh
        Me.Requery
        Me.Recalc
        Me.Oculta.SetFocus
    End Sub

    Abraço a todos
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Selecionar ou marcar aleatóriamente itens em formulário continuo Empty Re: [Resolvido]Selecionar ou marcar aleatóriamente itens em formulário continuo

    Mensagem  Silvio 23/10/2017, 13:44

    Tópico resolvido com a  grande ajuda dos mestre....Jpaulo e Alvaro, sempre dispostos a ajudar a quem pede socorro.

    Abraços a todos e deixando aqui esse tópico pois sei que mais colegas irão passar pelo mesmo drama que eu.


    Ps....Ambos códigos funfam de maneira espetacular, sem sombras de duvidas.


    .................................................................................
    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."
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Selecionar ou marcar aleatóriamente itens em formulário continuo Empty Re: [Resolvido]Selecionar ou marcar aleatóriamente itens em formulário continuo

    Mensagem  Silvio 23/10/2017, 13:56

    Não abusando da boa vontade....
    Mas é possível alterar a CboStatus na rotina ?
    rs("StatusOculta") = "Enviado" ' muda o status da caixa oculta. Não consegui mudar o texto "Enviado" da CboStatus


    .................................................................................
    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."
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    [Resolvido]Selecionar ou marcar aleatóriamente itens em formulário continuo Empty Re: [Resolvido]Selecionar ou marcar aleatóriamente itens em formulário continuo

    Mensagem  Alvaro Teixeira 23/10/2017, 14:04

    Olá amigos,

    Silvio no meu código:
    Código:
    DoCmd.RunSQL "UPDATE TblAtendimento SET TblAtendimento.StatusOculta = 'Enviado',TblAtendimento.CboStatus = 6, TblAtendimento.AEnvioEnviado = False WHERE TblAtendimento.AEnvioEnviado = True"

    No código do JPaulo
    Código:
    rs("CboStatus") = 6

    Abraço


    Última edição por ahteixeira em 23/10/2017, 16:29, editado 1 vez(es)
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Selecionar ou marcar aleatóriamente itens em formulário continuo Empty Re: [Resolvido]Selecionar ou marcar aleatóriamente itens em formulário continuo

    Mensagem  JPaulo 23/10/2017, 14:04

    Isso acontece porque na sua tabela, o campo CboStatus começa na coluna zero (0) que é o IdStatus e que corresponde á descrição do Status.

    Então terá de ser o simples;

    Código:
    'Quando se marca a caixa no Formulário AEnvioEnviado, tenho que alterar o Status na TblAtendimento de "Aguardando Envio" para "Enviado"
    'Essa alteração ela está fazendo, o que eu não estou conseguindo é fazer com que  eu posso marcar aleatóriamente os registros e assim
    'Dar baixa, pois o usuário vai receber lotes para dar baixa de forma aleatória.


    If MsgBox("Deseja alterar o status de Aguardando Envio para Enviado" & vbCrLf & _
              "Dos  " & Me.TotalMudado & "  itens selecionados ?", vbQuestion + vbYesNo, Me.Caption) = vbNo Then
              Exit Sub
              Else
              Dim db As dao.Database
              Dim rs As dao.Recordset
              Set db = CurrentDb
                     
              'é nessa linha abaixo que eu estou sofrendo para a mudança de Status na tblAtendimento.
              'pois haverá escolhas aleatórias por parte do usuário final.
              Set rs = db.OpenRecordset("Select * from TblAtendimento  Where StatusOculta = '" & Me.StatusOculta & "' And [AEnvioEnviado] = True")
        'se não encontra registros, morre aqui
        If rs.RecordCount = 0 Then Exit Sub
        'coloca-se no 1º registro
        rs.MoveFirst
        'percorre todos os registros da tabela SuaTabela
        Do While Not rs.EOF
                rs.Edit
                rs("DataEnvio") = Date ' coloca a data em que foi alterado o registro.
                rs("StatusOculta") = "Enviado" ' muda o status da caixa oculta.  Não consegui mudar o texto "Enviado" da CboStatus, por isso não coloquei aqui
                rs("CboStatus") = DLookup("IDStatus", "TblStatus", "Status='Enviado'")
                rs("NaoEnviado") = False ' muda o check box para vazio ( não )
                rs("ComissaoAPagar") = True 'Muda o check box para cheio (sim)
                rs.Update
                rs.MoveNext
        Loop
    rs.Close: Set rs = Nothing
    db.Close: Set db = Nothing

    Me.Requery
    Me.Repaint
    Me.Oculta.SetFocus
    End If
    Me.Repaint
    End Sub


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Selecionar ou marcar aleatóriamente itens em formulário continuo Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Selecionar ou marcar aleatóriamente itens em formulário continuo Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Selecionar ou marcar aleatóriamente itens em formulário continuo Folder_announce_new Instruções SQL como utilizar...
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Selecionar ou marcar aleatóriamente itens em formulário continuo Empty Re: [Resolvido]Selecionar ou marcar aleatóriamente itens em formulário continuo

    Mensagem  JPaulo 23/10/2017, 14:06

    Como provavelmente vai ser fixo, faça como o Alvaro lhe passou e voilá.


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Selecionar ou marcar aleatóriamente itens em formulário continuo Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Selecionar ou marcar aleatóriamente itens em formulário continuo Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Selecionar ou marcar aleatóriamente itens em formulário continuo Folder_announce_new Instruções SQL como utilizar...
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Selecionar ou marcar aleatóriamente itens em formulário continuo Empty Re: [Resolvido]Selecionar ou marcar aleatóriamente itens em formulário continuo

    Mensagem  Silvio 23/10/2017, 14:08

    Dizer, falar..... o que para você dois....JPaulo e Alvaro ??

    Sem palavras !!!

    Cada dia aprendo uma coisa nova com vocês !

    Grato a ambos !!


    .................................................................................
    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."
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    [Resolvido]Selecionar ou marcar aleatóriamente itens em formulário continuo Empty Re: [Resolvido]Selecionar ou marcar aleatóriamente itens em formulário continuo

    Mensagem  Alvaro Teixeira 23/10/2017, 16:30

    Obrigado pelo retorno.
    Abraço a todos
    cheers

    Conteúdo patrocinado


    [Resolvido]Selecionar ou marcar aleatóriamente itens em formulário continuo Empty Re: [Resolvido]Selecionar ou marcar aleatóriamente itens em formulário continuo

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 27/4/2024, 02:43