Passaggio parametri nuova maschera con pressione pulsante

di
Anonimizzato11424
il
7 risposte

Passaggio parametri nuova maschera con pressione pulsante

Buondì!
Sto sbattendo la testa su una cosa che mi pare apparentemente corretta ma che non funziona.

Ho due maschere:
-MAnagraficaIntervento (contiene, tra gli altri, un campo "DATA_INTERVENTO" NON ASSOCIATO a nessun campo DB)
-MRiepilogoIntervento (contiene, tra gli altri, un campo "DATA_INTERVENTO" ASSOCIATO ad un campo DB)

Ho inserito un pulsante in MAnagraficaIntervento che esegue questo codice

Private Sub BGestisciIntervento_Click()
    On Error GoTo Err_BGestisciIntervento_Click
    Dim stDocName As String
    Dim stLinkCriteria As String
    stDocName = "MRiepilogoIntervento"
    
    stLinkCriteria = "[DATA_INTERVENTO] =" & Me![DATA_INTERVENTO]
    DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_BGestisciIntervento_Click:
    Exit Sub
Err_BGestisciIntervento_Click:
    MsgBox Err.Description
    Resume Exit_BGestisciIntervento_Click
End Sub
In teoria, alla sua pressione dovrei passare alla maschera MRiepilogoIntervento e popolare il suo campo "DATA_INTERVENTO" con quello presente nella maschera MAnagraficaIntervento.
Inutile sottolineare che passa alla nuova maschera senza valorizzare alcun campo.
In cosa sbaglio?

7 Risposte

  • Re: Passaggio parametri nuova maschera con pressione pulsante

    Hai provato a leggere la guida in linea per capire cosa produce quello che hai scritto...?

    Se leggi trovi che hai impostato il Parametro WHERE dell'azione OpenForm, che ha come effetto FILTRARE i dati in base al criterio.

    A prescindere che probabilmente la sintassi è errata di certo non ha nulla a che vedere con quanto mi è parto si capire ti serva...

    Sempre se ho compreso, devi passare il Parametro OPENARGS che è l'ultimo della Funzione OpenForm, questo valorizza la Proprietà ARGS della maschera aperta, quindi su LOAD della maschera aperta puoi RECUPERARE il dato per assegnarlo al campo che serve...

    Quello che non mi torna è che così facendo, quindi senza definire se il Record Attivo della maschera è un NEW o uno già presente, il rischio è di SOVRASCRIVERE a CASO la data nel primo Record presente...!

    Secondo me ti manca qualche considerazione...
  • Re: Passaggio parametri nuova maschera con pressione pulsante

    Ciao @Alex,
    in realtà, come ho notato leggendo la tua risposta, credo di essermi espresso male.
    Il mio "voler assegnare il valore di un campo della maschera di partenza ad un campo della maschera di destinazione" è effetivamente un "voler applicare un filtro alla maschera di destinazione".
    Con questa premessa, credo quindi sia corretto l'impostazione del Parametro WHERE.
    Altra premessa importante che non avevo fatto perchè secondaria per il problema sottoposto è che il Pulsante che richiama la maschera MRiepilogoIntervento è attivo SE E SOLO SE è presente un record in quella data.
    Il mio scopo è quello di visualizzare nella maschera di destinazione il record che ha come "DATA_INTERVENTO" il valore contenuto nel campo "DATA_INTERVENTO" della maschera di partenza.
  • Re: Passaggio parametri nuova maschera con pressione pulsante

    Alex, ho visto che hai recensito alcuni libri su Access.
    Io non sono alle prime armi su DB e simili, solo che sono orientato al mondo Oracle (Portal APEX, Datawarehousing, etc..)
    Sai indicarmi, tra quelli da te segnalati, quello che mi evita di leggere inutilmente pagine su cosa è una tabella, cosa una maschera/report, etc... e che mi dia risposte concrete sul funzionamento di Access e delle funzioni VBA?

    Grazie mille per il supporto!!!
  • Re: Passaggio parametri nuova maschera con pressione pulsante

    ZioPanzu ha scritto:


    Ho due maschere:
    -MAnagraficaIntervento (contiene, tra gli altri, un campo "DATA_INTERVENTO" NON ASSOCIATO a nessun campo DB)
    -MRiepilogoIntervento (contiene, tra gli altri, un campo "DATA_INTERVENTO" ASSOCIATO ad un campo DB)

    Ho inserito un pulsante in MAnagraficaIntervento

    ZioPanzu ha scritto:


    In teoria, alla sua pressione dovrei passare alla maschera MRiepilogoIntervento e popolare il suo campo "DATA_INTERVENTO" con quello presente nella maschera MAnagraficaIntervento.
    Io mi limito a rispondere letteralmente a queste frasi utilizzando una macro. Poi puoi sempre tradurre la macro in VBA.
    Crea una macro in visualizzazione struttura, poi
    1° rigo Azione: ApriMaschera, sotto scrivi MRiepilogoIntervento
    2° rigo Azione: ImpostaValore, sotto
    Elemento: [Maschere]![MRiepilogoIntervento]![DATA_INTERVENTO]
    Espressione: [Maschere]![MAnagraficaIntervento]![DATA_INTERVENTO]
    Salva la macro con nome e associala all'evento "Su clic" del pulsante.
  • Re: Passaggio parametri nuova maschera con pressione pulsante

    Grazie mille, OsvaldoLaviosa!
    In realtà la macro non va, però ho risolto con il codice VBA postato in precedenza che adesso, automagicamente (avendo cambiato la sottomaschera da "normale" a "continua"), va...
    Le macro sono ancora un argomento tabù, per me.

    P.S. Ne approfitto per chiedere scusa ad Alex...lui sa perchè
  • Re: Passaggio parametri nuova maschera con pressione pulsante

    Ti ringrazio per il cenno... ma non hai fatto un torto a me, nulla di personale pertanto
  • Re: Passaggio parametri nuova maschera con pressione pulsante

    In realtà ero un po' a digiuno di CROSSPOST...non si ripeterà
Devi accedere o registrarti per scrivere nel forum
7 risposte