Eliminazione record vba

di il
7 risposte

Eliminazione record vba

Salve,
esiste un modo per "gestire" un record che sta per essere eliminato da una maschera?
Con gestire intendo riuscire a leggere quello che contiene il record che sta per essere eliminato, dato che gli eventi di eliminazione record presenti nella maschera non mi danno informazioni sul quel record. Esempio: c'è un campo descrizione vorrei stampare con Message Box la sua descrizione.
Grazie mille in anticipo!

7 Risposte

  • Re: Eliminazione record vba

    Simone_Urba ha scritto:


    ...esiste un modo per "gestire" un record che sta per essere eliminato da una maschera?
    Prova con guardando anche BeforeDelConfirm e quando questo può non presentarsi.
  • Re: Eliminazione record vba

    Philcattivocarattere ha scritto:


    Simone_Urba ha scritto:


    ...esiste un modo per "gestire" un record che sta per essere eliminato da una maschera?
    Prova con guardando anche BeforeDelConfirm e quando questo può non presentarsi.
    Ok è quello che ho cercato anche io. Il problema è che riesco a intercettare l'eliminazione di un record ma non riesco a trovare esattamente quale record viene eliminato.
  • Re: Eliminazione record vba

    Simone_Urba ha scritto:


    ... ma non riesco a trovare esattamente quale record viene eliminato.
    Questa non l'ho capita. Come fai l'eliminazione del record? Cosa contiene la maschera in quel momento?
  • Re: Eliminazione record vba

    Simone_Urba ha scritto:


    Esempio: c'è un campo descrizione vorrei stampare con Message Box la sua descrizione.
    Per prendere in considerazione il testo del tuo CampoDescrizione usa
    Me![CampoDescrizione]
    poi ottimizza il tuo codice sfruttando tutte le varianti di MsgBox
    https://support.office.com/it-it/article/Funzione-MsgBox-e23511c8-4157-4e09-93a6-ba9f1749f4c0?ui=it-IT&rs=it-IT&ad=IT&fromAR=1
    direi che a te interessa sfruttare un MsgBox con 2 pulsanti Yes/No.
  • Re: Eliminazione record vba

    OsvaldoLaviosa ha scritto:


    Simone_Urba ha scritto:


    Esempio: c'è un campo descrizione vorrei stampare con Message Box la sua descrizione.
    Per prendere in considerazione il testo del tuo CampoDescrizione usa
    Me![CampoDescrizione]
    poi ottimizza il tuo codice sfruttando tutte le varianti di MsgBox
    https://support.office.com/it-it/article/Funzione-MsgBox-e23511c8-4157-4e09-93a6-ba9f1749f4c0?ui=it-IT&rs=it-IT&ad=IT&fromAR=1
    direi che a te interessa sfruttare un MsgBox con 2 pulsanti Yes/No.

    Mi sono spiegato male, come succede spesso, perciò vi espongo il problema per intero. Ho una maschera che mostra IdMatricola e ImmCodiceQr (campo allegato) collegandosi ad una tabella TbMatricole che contiene anche un campo PathCodiceQr (testo breve) dove mi memorizzo la posizione del file che vado ad allegare. Vorrei che eliminando (con il tasto canc ad esempio) dalla maschera mi vada a eliminare il file che ho in locale, memorizzato nel percorso dato da PathCodiceQr. Per fare ciò devo intercettare il record che sta per essere eliminato e il relativo campo. Come faccio?
  • Re: Eliminazione record vba

    Simone_Urba ha scritto:


    Ho una maschera che mostra IdMatricola e ImmCodiceQr (campo allegato) collegandosi ad una tabella TbMatricole che contiene anche un campo PathCodiceQr (testo breve) dove mi memorizzo la posizione del file che vado ad allegare. Vorrei che eliminando (con il tasto canc ad esempio) dalla maschera mi vada a eliminare il file che ho in locale, memorizzato nel percorso dato da PathCodiceQr...
    Alcuni presupposto per la validità della soluzione: la maschera è associata alla tabella TbMatricole. In questa tabella ci sono i campi IdMatricola, ImmCodiceQR e PathCodiceQr. Non è necessario che nella maschera ci sia un controllo associato a PathCodiceQr ai fini di quello che vuoi fare.

    Ipotesi 1: è abilitata la conferma per la cancellazione del record (quindi dopo l'evento Delete della maschera ci sono gli eventi BeforeDelConfirm ed in caso di risposta affermativa anche l'evento AfterDelConfirm)
    Dichiari una variabile stringa a livello di modulo.
    Nell'evento Delete della maschera assegni a quella variabile il contenuto di PathCodiceQr.
    Nell'evento AfterDelConfirm della maschera cancelli il file con kill, usando il contenuto della variabile stringa
    Questo permette di cancellare solo dopo che si è sicuri che il record è stato cancellato.

    Ipotesi 2: non è abilitata la conferma per la cancellazione del record.
    Non serve dichiarare una variabile a livello di modulo ma nell'evento Delete della maschera si cancella direttamente il file con kill usando il contenuto di PathCodiceQr.
    Per l'uso di kill in vba: VBA Kill function (ma è solo una delle tante pagine che spiegano come funziona). Attenzione alla presenza dell'attributo di sola lettura del file da cancellare, ma anche questa particolarità è spiegata nella pagina.

    Se PathCodiceQr non è "direttamente" accessibile dalla maschera si trova una strada per andare a recuperarlo. Inutile mettere altro codice al fuoco.
  • Re: Eliminazione record vba

    Philcattivocarattere ha scritto:


    Simone_Urba ha scritto:


    Ho una maschera che mostra IdMatricola e ImmCodiceQr (campo allegato) collegandosi ad una tabella TbMatricole che contiene anche un campo PathCodiceQr (testo breve) dove mi memorizzo la posizione del file che vado ad allegare. Vorrei che eliminando (con il tasto canc ad esempio) dalla maschera mi vada a eliminare il file che ho in locale, memorizzato nel percorso dato da PathCodiceQr...
    Alcuni presupposto per la validità della soluzione: la maschera è associata alla tabella TbMatricole. In questa tabella ci sono i campi IdMatricola, ImmCodiceQR e PathCodiceQr. Non è necessario che nella maschera ci sia un controllo associato a PathCodiceQr ai fini di quello che vuoi fare.

    Ipotesi 1: è abilitata la conferma per la cancellazione del record (quindi dopo l'evento Delete della maschera ci sono gli eventi BeforeDelConfirm ed in caso di risposta affermativa anche l'evento AfterDelConfirm)
    Dichiari una variabile stringa a livello di modulo.
    Nell'evento Delete della maschera assegni a quella variabile il contenuto di PathCodiceQr.
    Nell'evento AfterDelConfirm della maschera cancelli il file con kill, usando il contenuto della variabile stringa
    Questo permette di cancellare solo dopo che si è sicuri che il record è stato cancellato.

    Ipotesi 2: non è abilitata la conferma per la cancellazione del record.
    Non serve dichiarare una variabile a livello di modulo ma nell'evento Delete della maschera si cancella direttamente il file con kill usando il contenuto di PathCodiceQr.
    Per l'uso di kill in vba: VBA Kill function (ma è solo una delle tante pagine che spiegano come funziona). Attenzione alla presenza dell'attributo di sola lettura del file da cancellare, ma anche questa particolarità è spiegata nella pagina.

    Se PathCodiceQr non è "direttamente" accessibile dalla maschera si trova una strada per andare a recuperarlo. Inutile mettere altro codice al fuoco.
    Ok, grazie mille!
Devi accedere o registrarti per scrivere nel forum
7 risposte