” O total calculado está realmente em um formulário secundário e eu quero testar este valor total no evento do before_update do formulário do pai.
Quando você deixa o subform, os registros indicados nisso estão conservados. Do mesmo modo, um formulário do pai é conservado antes que você incorpore um subform. Ou seja impedir as economias do formulário principal quando o subform é errado é apenas irritante, e não fornece nenhuma integridade de dados (o usuário pode cancelar a mensagem e o subform permanecerá errado).
A solução a mais fácil é reservar não selecionar um fornecedor preferred. Nesse caso, tomar o fornecedor o mais barato, ou aleatório. Para o código, quando um fornecedor é selecionado como preferred, funcionar após o evento da atualização para remover a bandeira de todo o outro fornecedor na lista (ver abaixo).
Está igualmente fácil impedir que o usuário un-verific a bandeira preferida, isto é para usar “antes que o evento da atualização” da caixa de verificação e impede ajustá-la a falso se “o valor velho” é verdadeiro. Você pode adicionar uma mensagem: “você não pode un-seleciona um fornecedor preferred, você pode entretanto selecionar outro”.
Tentar executar a régua de negócio do começo é uma dor. Você melhor aposta está provavelmente usar “antes que o evento da atualização” do formulário secundário e ajustado simplesmente a bandeira preferida se é o único registro. O primeiro é o fornecedor preferred, até que outro esteja selecionado. Um petróleo bruto do bocado, mas se você o precisa realmente, faz o sentido que maneira.
Faz essa ajuda?
(°v°)
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
|
Form_AfterUpdate secundário confidencial ()
Se não preferido então retirar o submarino
Com Me.RecordsetClone
.MoveFirst
Fazer até .EOF
Se! Identificação <> Me.ID e preferido então
. Editar
. Preferido = falso
. Atualização
Terminar se
.MoveNext
Laço
Extremidade com
Submarino da extremidade
|