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]Entendendo Recordset + Loop

    Leandro
    Leandro
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1601
    Registrado : 12/11/2009

    [Resolvido]Entendendo Recordset + Loop Empty Entendendo Recordset + Loop

    Mensagem  Leandro 16/5/2013, 19:26

    Boa tarde a todos, estava estudando Recordset + Loop e pensei em fazer que o Loop percorresse o Recordset de forma intermitente para alterar a cor de fundo de um rótulo.
    Até agora não usei esse recurso e gostaria de fazê-lo no Timer para que a cor mudasse em intervalos definidos por mim.
    Como fazer?
    Obrigado

    Private Sub Form_Timer()
    On Error Resume Next

    Dim dbCor As DAO.Database
    Dim rsCor As DAO.Recordset
    Dim strCor As String

    strCor = "SELECT IdCor, Vermelho, Verde, Azul, ObservacoesCor FROM TabCores"
    Set dbCor = CurrentDb()
    Set rsCor = dbCor.OpenRecordset(strCor)

    Do While Not rsCor.EOF
    rsCor.MoveNext
    MsgBox rsCor("ObservacoesCor")
    Loop

    dbCor.Close
    Set dbCor = Nothing
    rsCor.Close
    Set rsCor = Nothing
    End Sub

    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Entendendo Recordset + Loop Empty Re: [Resolvido]Entendendo Recordset + Loop

    Mensagem  Alexandre Neves 16/5/2013, 19:34

    Boa tarde, Leandro
    Não entendi como pretende alterar a cor.
    A cor é a mesma em cada execução?
    Tem quantidade fixa e definida de cores?
    Explique tim-tim por tim-tim
    Abraço,


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    Leandro
    Leandro
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1601
    Registrado : 12/11/2009

    [Resolvido]Entendendo Recordset + Loop Empty Re: [Resolvido]Entendendo Recordset + Loop

    Mensagem  Leandro 16/5/2013, 19:49

    Boa tarde Alexandre, obrgiado pela atenção.

    Isso mesmo, a parte do SELECT: "Vermelho, Verde, Azul" refere-se as varições do RGB().

    As cores são inseridas pelo usuário e ao abrir o form elas são exibidas autmaticamente, por isso pensei no Loop.

    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Entendendo Recordset + Loop Empty Re: [Resolvido]Entendendo Recordset + Loop

    Mensagem  Alexandre Neves 16/5/2013, 19:55

    Continuo a não entender bem o que pretende (pode ter muitas formas de variação de cor, etc)
    Supondo que pretende que o controlo, a cada ciclo do relógio, faça um ciclo de mudança de cor do género Vermelho > Verde > Azul
    Coloque no Timer
    if NomeControlo.BackColor=rgb(250,0,0) then
    NomeControlo.BackColor=rgb(0,250,0)
    elseif NomeControlo.BackColor=rgb(0,250,0) then
    NomeControlo.BackColor=rgb(0,0,250)
    elseif NomeControlo.BackColor=rgb(0,0,250) then
    NomeControlo.BackColor=rgb(250,0,0)
    end if


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    Leandro
    Leandro
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1601
    Registrado : 12/11/2009

    [Resolvido]Entendendo Recordset + Loop Empty Re: [Resolvido]Entendendo Recordset + Loop

    Mensagem  Leandro 16/5/2013, 20:06

    Explico denovo.

    Veja como os dados ficam na tabela:

    IdCor---Vermelho---Verde---Azul
    1----------100----------70------45
    2-----------50----------25-------17

    O usuário cria cores conforme quer e salva.

    O que quero é que o Loop percorra os registros do primeiro ao último e recomece novamente.

    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Entendendo Recordset + Loop Empty Re: [Resolvido]Entendendo Recordset + Loop

    Mensagem  Alexandre Neves 17/5/2013, 17:30

    Boa tarde, Leandro
    Penso que seja isto que pretende
    1 - ao abrir a bd

    Public rsCor As DAO.Recordset
    Set rsCor = CurrentDb.OpenRecordset("SELECT Vermelho, Verde, Azul FROM TabCores")

    2 - no relógio
    Private Sub Form_Timer()
    On Error Resume Next
    if rscor.eof then rscor.movefirst
    controlo.BackColor=rgb(rscor(0),rscor(1),rscor(2))
    rsCor.MoveNext
    End Sub

    3 - ao fechar a bd:
    rsCor.Close
    Set rsCor = Nothing


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    Leandro
    Leandro
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1601
    Registrado : 12/11/2009

    [Resolvido]Entendendo Recordset + Loop Empty Re: [Resolvido]Entendendo Recordset + Loop

    Mensagem  Leandro 17/5/2013, 17:54

    Resultou!!! Very Happy

    Muito obrigado Alexandre, pela aula e pela paciência como sempre prestados por você.

    Depois de terminar o que estou fazendo mando-lhe para ver como ficou.

    Abraço


    Conteúdo patrocinado


    [Resolvido]Entendendo Recordset + Loop Empty Re: [Resolvido]Entendendo Recordset + Loop

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 27/4/2024, 16:54