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]Auxílio com matriz

    Compartilhe
    avatar
    João Ricardo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 499
    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.
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6260
    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
    avatar
    João Ricardo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 499
    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?
    avatar
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 9337
    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.


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

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

    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.]
    avatar
    João Ricardo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 499
    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.
    avatar
    João Ricardo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 499
    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: Qua 26 Jul 2017, 09:47