Evento Click su un record

di
Anonimizzato11182
il
10 risposte

Evento Click su un record

Ciao a tutti,
ho realizzato una maschera con relativa sottomaschera, nella sottomaschera ho un elenco di record, ho la necessità di intercettare l'evento click su un record dell'elenco e aprire una maschera che contiene i dettagli di quel record.

mi spiego meglio: nella mia maschera principale ho dei criteri che mi filtrano la sottomaschera, vorrei dare la possibilità all'utente cliccando su uno dei record della sottomaschera di aprire un altra maschera con i dettagli della bolla quindi una volta fatto il doppio click dovrei passare come parametri alla nuova maschera il record sul quale ha spingo l'utente e aprire la nuova maschera.

grazie mille per l'aiuto

10 Risposte

  • Re: Evento Click su un record

    La Maschera o Sottomaschera che immagino sia in visualizzazione Continua, espone l'evento CURRENT che sia attiva proprio quando il Record si attiva.
    Puoi usare quello... altimenti devi attivare il DoppioClick sul Corpo.
  • Re: Evento Click su un record

    Ok Alex,
    ho provato a usare il doppio click sul corpo ma non funziona, non mi entra mai neanche dentro all evento ho provato a mettere un break point.

    ho provato a mettere evento doppio click dentro ad ogni casella di testo della mia sottomaschera
    esempio ho 4 campi anno, nomero bolla e cliente e dentro all'evento doppio click di ogni funzione avevo pensato di mettere una riga di codice che mi aprisse una maschera passando i parametri ma riesco a reperire solo il valore della casella nella quale ho cliccato e non anche gli altri due valori corrispondenti al record.

    ti faccio un esempio:

    Anno Numero Cliente
    2012 1 io
    2012 2 te

    se clicco sopra al numero due per prendere il valore di quel record faccio me.Numero.text,
    se voglio usare anche il valore del campo cliente corrispondente al record 2 cosa devo scrivere?

    grazie mille per la disponibilità
  • Re: Evento Click su un record

    Non si potrebbe mostrare la colonnina del Foglio dati secondario? Se hai la possibilità di mostrarla, l'utente si avvicina al record interessato, clicca sul + e vede aprirsi i dettagli di quel solo record.
  • Re: Evento Click su un record

    Se attivi il Doppio Click sulla TextBox(che contiene il 2) si Attiva il RECORD come CORRENTE, quindi devi passare alla Funzione OpenForm il criterio del FILTRO o CONDIZIONE WHERE contenente il campo CHIAVE.

    In sostanza devi aprire una maschera di dettaglio...
    Hai individuato 3 Campo(Anno,Numero, Cliente) quale di questi è la ChiavePrimaria...?
    Usa quella come criterio da passare come parametro(WhereCondition) alla Funzione OPENFORM.

    La funzione è dettagliata nell'Help.
  • Re: Evento Click su un record

    Ok alex, è chiaro.
    quello che non riesco a fare è reperire i dati del record corrente.
    mi spiego meglio se clicco sul 2, che non è chiave primaria e la chiave primaria non è visualizzata nella tabella come faccio a passare il campo chiave primaria al mio form?

    non riesco a trovare la proprietà che contiene il valore della mia chiave primaria.

    grazie mille.
  • Re: Evento Click su un record

    Se il campo(PK) è nell'origine Record della Maschera/SottoMaschera è accessibile anche se non associato ad un controllo con il riferimento
    
    [NomeCampo]
    tuttavia solitamente si crea un controllo associato alla PK e lo si rende NON VISIBILE in tal modo è più semplice.
  • Re: Evento Click su un record

    Si alex infatti ho fatto proprio cosi, l'ho associato a un controllo e l' ho reso invisibile.

    ora però mi si pone un altro quesito:
    all'interno dell'evento current della mia sottomaschera ho scritto questo codice per far si che in automatico mi compili il campo RigaBolla in maniera incrementale.
    il problema è che IDBolla è nullo fino a quando l'utente non compila i primi dati della bolla quindi quando faccio nuovo record mi da errore "necessario oggetto"
    If Form.NewRecord = -1 Then
    If Format(Nz(Left(DMax("[RigaBolla]", "DettaglioBolla", "IDbolla= Forms!Bolle![IDBolla]"), 4), 0) + 1, "0000") Is Null Then
       Me.RigaBolla.Text = 1
    Else
       Me.RigaBolla.Text = Format(Nz(DMax("[RigaBolla]", "DettaglioBolla", "IDbolla= Forms!Bolle![IDBolla]"))) + 1
    End If
    End If
    
    forse il mio errore è a monte ma non so proprio come risolverlo io vorrei solo che ogni volta che viene aggiunto un record nella sottomaschera il campo rigabolla si incrementasse in automatico.

    grazie a tutti
  • Re: Evento Click su un record

    Premesso che il NewRecord sarebbe meglio riferirlo all'Oggetto [Me] se sei nella Maschera da gestire...quindi
    
    If Me.NewRecord=True Then
    L'errore potrebbe, ma non ne sono certo, derivare da questo
    
    IDbolla= Forms!Bolle![IDBolla]
    La Form [Bolle] è aperta...? Ovviamente come Form...!!
    Se fosse una SubForm la sintassi non è corretta.
  • Re: Evento Click su un record

    La form Bolle è la form principale mentre dettagliobolla è la sottomaschera.

    il mio problema che all'apertura della form principale anche la sottomaschera passa a newrecord=-1 e quando faccio la dmax usando l'id bolla mi da errore perchè ancora idbolla non è stato creato.
  • Re: Evento Click su un record

    Ovviamente... ma gli errori si sfruttano e si gestiscono...!
    Intercetta l'errore in base al Numero e predisponi di conseguenza...
Devi accedere o registrarti per scrivere nel forum
10 risposte