Ir para conteúdo
Fórum Script Brasil
  • 0

Operações Com O Subformulario


Synk

Pergunta

Boa Tarde,

Estou a construir uma base de dados acerca de uma turma, e estou a obter um problema ao tentar calcular a média das notas de um aluno.

Construí um formulário que contém dentro dele um subformulário a partir do qual posso inserir as notas de um certo aluno a uma certa disciplina. Tenho também uma caixa de texto que deverá mostrar a média total das notas do aluno após clicar num botao para actualizar a média!

Qual é a melhor maneira para aceder ao subformulario e actualizar a media? Eu estava a tentar fazer isso através de uma consulta que contem a média das notas, mas apos inserir as notas no subformulario a consulta so é actualizada se eu fechar o formulário e o voltar a abrir...

Ou então como poderei ler os registos todos das notas que estao no subformulario e fazer um somatorio para calcular a media?

Desde já obrigado wink.gif

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Bom acredito que no subform você pode criar um campo não acoplado (vamos chama-lo de SomaNota) para somar o total das notas, em Origem do controle coloque assim:

-Caso o subform seja um formulário continuo

=nz(soma([seuCampo]);0)

-Caso seja um sub com campos distintos tipo (Nota1,Nota2,Nota3,Nota4)

=nz([nota1]+[nota2]+[nota3]+[nota];0)

Isso faz com que o Campo SomaNota atualize-se automaticamente pelos dados previstos, assim no seu campo Media você só irá precisar fazer um procedimento "Ao Receber Foco" assim

me.media.value=seuSubForm!SomaNota/X

onde X é a quantidade notas para a media (4 por exemplo)

espero que isso ajude vc cool.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Obrigado pela ajuda!!

Também consegui resolver o problema de outra maneira.

Vi este comando noutro post e usei na minha bd e resultou

Me.MediaSub.Requery

Isto actualiza o Formulário das médias então posso fazer logo as contas directas cool.gif

Já agora podem-me dizer como bloquear uma consulta? para ninguém poder alterar os seus dados?

Link para o comentário
Compartilhar em outros sites

  • 0

você pode pode definir como não as propriedades "Pode Alterar", "Pode Incluir", "Pode Excluir" do form onde você irá mostrar os resultados da consulta isso irá impedir que façam alterações nos dados exibidos cool.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Sim tem razão!!! Mas a minha consulta é mesmo aberta como consulta e não a inseri dentro de um form!!! A sua maneira esta correcta mas tive que adoptar outra.

Como uso um botao de comando para aceder à consulta alterei o seguinte codigo:

stDocName = "Consulta Notas por Aluno"

DoCmd.OpenQuery stDocName, acNormal, acEdit

Alterei o "acEdit" para "acReadOnly" assim não deixa alterar os dados das consultas biggrin.gif

Obrigado

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...