Access VBA - Verifica se un record è bloccato

di il
3 risposte

Access VBA - Verifica se un record è bloccato

Gentili,

sto iniziando a dare un'occhiata a vba per automatizzare un database access.

In particolare nel database c'è una tabella utenti collegata con una relazione uno-a-molti su un'altra tabella ASSEGNI.

UTENTI - CHIAVE PRINCIPALE - IDUTENTE
ASSEGNI- CHIAVE ESTERNA - IDTRAENTE

La tabella utenti ha anche un campo denominato "bloccato" che viene posto a True se l'utente è bloccato per qualsiasi motivo.

Avrei bisogno che, all'interno della maschera ASSEGNI, nel momento dell'inserimento di un utente mi faccia la verifica sulla tabella bloccato e mi avverta con un msgbox se l'utente risulta bloccato.

Spero di essere stato preciso nell'esposizione del problema.

Salutoni e grazie.
Luciano

3 Risposte

  • Re: Access VBA - Verifica se un record è bloccato

    Credo tu abbia sbagliato Sezione, segnaliamo agli amministratori.

    Per la tua soluzione, siccome credo si tratti di Maschera-Sottomaschera, su Evento CURRENT della Maschera, Forzi AllowAddition della sottomaschera a True/False a seconda del BLOCCO...
    
    Private Sub Form_Current()
       Me!NomeSubForm.Form.AllowAddition=NOT Me!NomeControlloBLOCCO.Value
    End Sub
  • Re: Access VBA - Verifica se un record è bloccato

    Salve Alex,
    ho provato ma non funziona, forse sbaglio qualcosa.

    La maschera ASSEGNI non è una sottomaschera di UTENTI.

    Non c'è la possibilità, nell'evento AfterUpdate() del campo IdTraente della maschera ASSEGNI creare una query che verifichi se IdUtente della tabella UTENTI ha il campo BLOCCATO a True?

    Ciao e grazie.
    Luciano

    p.s. mi scuso per l'errato posizionamento del post.
  • Re: Access VBA - Verifica se un record è bloccato

    Salve,

    sono riuscito a risolvere il problema utilizzando, nell'evento AfterUpdate del campo IdUtente nella maschera ASSEGNI, la funzione DLookup che va a recuperarmi il valore del campo BLOCCATO per l'utente nella tabella SOCI.

    Praticamente se nella tabella SOCI per l'utente il valore del campo BLOCCATO è impostato a TRUE, inserendo l'utente nella maschera ASSEGNI, mi visualizza un messaggio di avvertimento.

    Di seguito il codice:
    
    Private Sub IdSocioBeneficiario_AfterUpdate()
     
    c = IdSocioBeneficiario.Value
     
    Dim varX As Variant
    varX = (DLookup("Bloccato", "Soci", "IdUtente =" & c))
     
    If varX = -1 Then
      MsgBox ("ATTENTO UTENTE BLOCCATO" & vbCrLf & vbCrLf & "BISOGNA AVVERTIRE I SOCI CHE L'UTENTE E' STATO SOSPESO")
    End If
     
    End Sub
    
Devi accedere o registrarti per scrivere nel forum
3 risposte