Utilizzare una varibile nella definizione di un nome Form

di il
9 risposte

Utilizzare una varibile nella definizione di un nome Form

Ciao

ho un'istruzione di questo tipo:
Forms![nomeform]![nomecampo].ColumnHidden = False
Vorrei trasformala in una cosa tipo

Variabileform1 = "pippo"
Forms! & Variabileform1 & ![nomecampo].ColumnHidden = False
Si puo fare? se si c'è qualche esempio della sintassi che posso seguire? ho cercato ma con scarsi risultati

Grazie

9 Risposte

  • Re: Utilizzare una varibile nella definizione di un nome Form

    Supertelegrafico
    Forms!(Variabileform1)![nomecampo].ColumnHidden = False
  • Re: Utilizzare una varibile nella definizione di un nome Form

    Philcattivocarattere ha scritto:


    Supertelegrafico
    Forms!(Variabileform1)![nomecampo].ColumnHidden = False
    e dire che faccio gia doCmd.OpenForm (pippo), acFormDS, "", "", acFormEdit, acNormal
    Certe volte mi perdo sulle fesserie! grazie mille!
  • Re: Utilizzare una varibile nella definizione di un nome Form

    Io ho capito che "Pippo" è il nome proprio della form. Nella sintassi DoCmd.OpenForm devi scrivere
    DoCmd.OpenForm "Pippo"
    oppure
    VariabileForm1 = "Pippo"
    DoCmd.OpenForm VariabileForm1
    Sono contesti e sintassi diversi.
  • Re: Utilizzare una varibile nella definizione di un nome Form

    Philcattivocarattere ha scritto:


    Supertelegrafico
    Forms!(Variabileform1)![nomecampo].ColumnHidden = False
    una precisazione, la sintassi corretta è
    Forms(Variabileform1)![nomecampo].ColumnHidden = False
    senza!: Forms!(Variabileform1)![nomecampo].ColumnHidden = False
  • Re: Utilizzare una varibile nella definizione di un nome Form

    OsvaldoLaviosa ha scritto:


    Io ho capito che "Pippo" è il nome proprio della form. Nella sintassi DoCmd.OpenForm devi scrivere
    DoCmd.OpenForm "Pippo"
    oppure
    VariabileForm1 = "Pippo"
    DoCmd.OpenForm VariabileForm1
    Sono contesti e sintassi diversi.
    Senza parentesi? ho il codice scritto utilizzando (nomevariabile) e funziona, non è corretto perche?
  • Re: Utilizzare una varibile nella definizione di un nome Form

    Ho fatto un test: OK, hai ragione, funziona anche con le parentesi.
  • Re: Utilizzare una varibile nella definizione di un nome Form

    bean_bandit ha scritto:


    OsvaldoLaviosa ha scritto:


    Io ho capito che "Pippo" è il nome proprio della form. Nella sintassi DoCmd.OpenForm devi scrivere
    DoCmd.OpenForm "Pippo"
    oppure
    VariabileForm1 = "Pippo"
    DoCmd.OpenForm VariabileForm1
    Sono contesti e sintassi diversi.
    Senza parentesi? ho il codice scritto utilizzando (nomevariabile) e funziona, non è corretto perche?
    Vorrei capire cosa c'entra il Metodo OpenForm con quello che hai chiesto...?
    Tu chiedi un modo per RIFERIRTI ad un Oggetto passando dal Modello Oggetti Indicizzando per Nome sulla Collection Forms, e ti propongono di aprire una form...? Ti sei accorto che nulla ha a che fare con la domanda...?
    Il modo Corretto per indirizzarsi su Oggetti o Proprietà sapendo il Nome è quello di accedere al Modello ad Oggetti
    https://msdn.microsoft.com/en-us/vba/access-vba/articles/object-model-access-vba-reference
    http://codevba.com/msaccess/objectmodeldiagram.xhtml#.WmZutTfSKUk
    
    Appliaction.Forms(VariabileNomeForm)   ' Riferimento alla Maschera
    Appliaction.Reports(VariabileNomeReport)[/code]
    Application puo essere Omesso dal VBA di Access in quanto il riferimento è IMPLICITO.
    Per le Proprietà degli Oggetti(qualsiasi oggetto) si accede alla Collection Properties:
    
    Forms(VariabileNomeForm).Properties(NomeProperty).Value  ' riferimento alla Proprietà
    Es.:
    NomeProperty="Visible"
    Forms(VariabileNomeForm).Properties(NomeProperty).Value   ' Restituisce la proprietà Visible
    Equivale a:
    Forms(VariabileNomeForm).Visible
    Stessa cosa dicasi per i Controlli, si accede alla Collection Controls, che è Membro dell'Oggetto Form o Report(anche altre ma lasciamo stare)
    
    Appliaction.Forms(VariabileNomeForm).Controls(VariabileNomeControllo).Enabled
    oppure
    NomeProperty="Enabled"
    Appliaction.Forms(VariabileNomeForm).Controls(VariabileNomeControllo).Properties(NomeProperty).Value
  • Re: Utilizzare una varibile nella definizione di un nome Form

    bean_bandit ha scritto:


    Philcattivocarattere ha scritto:


    Supertelegrafico
    ...
    una precisazione, la sintassi corretta è
    Forms(Variabileform1)![nomecampo].ColumnHidden = False
    senza!...
    Supertelegrafico e un po' arruffone. Qualosa mi suonava male, anche visivamente ma la classica scusa sarebbe "Volevo vedere se eri attento e non darti la soluzione senza un minimo di impegno da parte tua".
  • Re: Utilizzare una varibile nella definizione di un nome Form

    Philcattivocarattere ha scritto:


    Forms(Variabileform1)![nomecampo].ColumnHidden = False
    senza!...
    Supertelegrafico e un po' arruffone. Qualosa mi suonava male, anche visivamente ma la classica scusa sarebbe "Volevo vedere se eri attento e non darti la soluzione senza un minimo di impegno da parte tua".[/quote]
    Ti ringrazio lo stesso, sono bastate un paio di prove per saltarci fuori

    lascio questa se magari dovesse servire a qualcuno, è la sintassi per usare le variabili con le sottomaschere
    Forms(Form_ricerca).Form(SubForm_ricerca).Form.Filter = variabile
    non l'ho provata con l'esempio precedente ma suppongo sia la stessa cosa:
    Forms(Form_ricerca).Form(SubForm_ricerca)![nomecampo].ColumnHidden = False
    @Alex era solo un modo per dire che tra le prove che ho fatto avrei potuto ricavare la sintassi giusta partendo da quella dell'openform cioè openform (Variabileform1) ---> Forms(Variabileform1)
Devi accedere o registrarti per scrivere nel forum
9 risposte