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

    [Resolvido]Auxílio com matriz

    Compartilhe

    João Ricardo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 453
    Registrado : 20/01/2013

    [Resolvido]Auxílio com matriz

    Mensagem  João Ricardo em Seg 24 Fev 2014, 04:50

    Olá pessoal!

    Estou atualizando um projeto antigo e tenho dúvidas qto ao uso de matriz.

    Em determinada parte do sistema o usuário informa um número que varia de 1 a 40. Qdo ele é inserido a primeira vez, o sistema simplesmente grava o número em um campo da tabela.
    A partir do segundo número é necessário comparar se este novo número já foi gravado. Se foi gravado, então deve ser emitida uma mensagem dizendo que o tal número já foi gravado e quais as posições estão disponíveis - dentro das 40.

    Pensei em usar uma matriz para gravar os números, mas não sei como fazer para atribuir o valor a uma posição da matriz e depois percorrê-las para ver se o novo número já estaria gravado nela.

    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: [Resolvido]Auxílio com matriz

    Mensagem  Alexandre Neves em Seg 24 Fev 2014, 19:26

    Boa tarde,
    Veja aqui [Você precisa estar registrado e conectado para ver este link.]


    .................................................................................
    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

    João Ricardo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 453
    Registrado : 20/01/2013

    Re: [Resolvido]Auxílio com matriz

    Mensagem  João Ricardo em Ter 25 Fev 2014, 03:19

    Obrigado Alexandre.

    Entendi o funcionamento da matriz, o problema agora está no laço For Next
    Não consigo sair dele.

    Veja o código

    Código:
    Private Sub txtNumeroCama_AfterUpdate()
        Dim intCama        As Integer
        Dim i              As Integer
        Dim arrNCama(40)    As Integer
       
        For i = 1 To 40 Step 1
            intCama = NumeroCama
                If intCama = i Then
                    MsgBox "Esta cama já está ocupada, selecione outra", vbSystemModal + vbExclamation, "Sistema Educacional"
                    Me.Undo
                    DataColchao.SetFocus
                Else
                    arrNCama(i) = intCama
                    i = intCama + i
                End If
        Next i
    End Sub

    Podes me ajudar?

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Auxílio com matriz

    Mensagem  JPaulo em Ter 25 Fev 2014, 09:21

    Não consigo ver como está no site passado pelo Alexandre, mas falta ae algo;

    Insira o Exit Sub, a seguir ao DataColchao.SetFocus.


    .................................................................................
    Sucesso e Bons Estudos
    Success and Good Studies

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

    João Ricardo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 453
    Registrado : 20/01/2013

    Re: [Resolvido]Auxílio com matriz

    Mensagem  João Ricardo em Ter 25 Fev 2014, 12:52

    Olá JPaulo, Grato pelo retorno

    A implantação do código na propriedade após atualizar de uma txt em sub formulário não está produzindo o resultado esperado.

    Com a sua informação o loop sai do laço contínuo, mas o código ainda não faz a comparação qdo tem dois valores iguais, ou seja, está passando direto.

    Na linha arrNCama(i) = intCama a minha intenção é que a matriz receba o primeiro número para compará-lo ao próximo número a ser informado e, se forem iguais, retornar a

    MsgBox "Esta cama já está ocupada, selecione outra", vbSystemModal + vbExclamation, "Sistema Educacional"

    Veja o problema abaixo:

    Em determinada parte do sistema o usuário informa um número que varia de 1 a 40. Qdo ele é inserido a primeira vez, o sistema simplesmente grava o número em um campo da tabela.
    A partir do segundo número é necessário comparar se este novo número já foi gravado. Se foi gravado, então deve ser emitida uma mensagem dizendo que o tal número já foi gravado e quais as posições estão disponíveis - dentro das 40.


     cheers  Obrigado novamente.

    João Ricardo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 453
    Registrado : 20/01/2013

    Re: [Resolvido]Auxílio com matriz

    Mensagem  João Ricardo em Qui 27 Fev 2014, 21:58

    Consegui resolver o problema e estou dando o tópico como resolvido, mas se alguém já tem pronto uma outra sugestão ou que esteja em andamento, por favor, me enviem.

    Grato a todos.

      Data/hora atual: Dom 04 Dez 2016, 01:53