Corretta utilizzazione della proprietà OpenArgs

di Anonimizzato28272 il
45 risposte

45 Risposte - Pagina 3

  • Quindi sei arrivato (credo) alla fine.
    La variabile strPArametri viene correttamente riempita.
    Adesso se vuoi essere sicuro che venga passata al form chiamato metti un breakpoint dove testi la lunghezza dell'openargs e guardi cosa contiene.
    Se contiene il valore di partenza (e non vedo perché non dovrebbe) passi a risolvere gli eventuali errori nel form chiamato ...
  • ? Len(Me.OpenArgs)
    Nullo

    Non passa... ho effettuato di nuovo il Debug e torna l'errore di run-time 3615: tipo non corrispondente nell'espressione, con evidenziata la riga
    DoCmd.OpenForm "MascheraChiamata", acNormal, , , , acDialog, strParametri>
  • Devi modificare così:
    DoCmd.OpenForm "MascheraChiamata", acNormal, , , , acDialog, strParametri
    occevo devi cancellare l'ultimo carattere '>'
  • Il simbolo di > dopo strParmetri da dove arriva ?
    Hai controllato che sia giusta la sequenza di paramentri del comando OpenForm? Ovvero strPArametri corrisponde relamente a Openarg (te ne puoi accorgere eliminando una virgola e reinserendola - dovrebbero comparirti i parametri richiesti) ...
  • Ecco ... appunto!
  • Il simbolo > è un refuso.
    Il comando ha la giusta sequenza: ho tolto la virgola prima di strParametri e, rimessa, è evidenziato il parametro [OpenArgs] in neretto.
  • 
    DoCmd.OpenForm "MascheraChiamata", acNormal, , , , acDialog,"70|45"
    
    Prova ...
  • ? strParametri, me.IDEdizione, me.IDTitolo
    70|44 70 44
  • Quindi 'sti 2 parametri (eventualmente impostasti in maniera esplicita come da mio post precedente) passano dal chiamante al chiamato ?
  • Dovrebbero passare, sì... ma Len(Me.OpenArgs) è nullo
  • No non passa.

    Facciamola minimale che di meno non si può.
    Nel form chiamante commenta tutto (il simbolo per commentare una riga è l'apice singolo ') e lascia solo :
    
    DoCmd.OpenForm "MascheraChiamata", acNormal, , , , acDialog,"70|44"
    
    Nel form chiamato nell'evento Load (o Open) commenta tutto e lascia solo :
    
    debug.print me.Openargs
    
    Compila, accertati che non ci siano errori di compilazione, metti un breakpoint sull'istruzione debug e dimmi che Openargs contiene cosa tutti ci aspettiamo (70|44).
  • Ecco il risultato:

    Debug_3.JPG
    Debug_3.JPG

  • Dopo il Debug di poco fa, ho notato che la MascheraChiamata si era aperta, ma in visualizzazione struttura. Allora ho pensato di vedere se c'era qualche problema nel come era costruita ed ho scoperto che c'era un errore nel join della query di selezione dei campi. Ho corretto e rieseguito il Debug e...

    ? Me.OpenArgs
    Nullo

    Niente da fare...
  • Ripetuto tutto il procedimento: ora sembra andare

    ? Me.OpenArgs
    70|44
  • Meno male ...
Devi accedere o registrarti per scrivere nel forum
45 risposte