+ Rispondi al Thread
Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Variabili in un comando

  1. #1
    fnic non è in linea Novello
    Post
    13

    Question Variabili in un comando

    salve a tutti!!

    domandone: posso utilizzare una variabile per specificare di quale campo prenderne il valore in una maschera? se sì come?

    cioè: xx=Me.nomevariabile.value dove nomevariabile contiene uno dei campi presenti nella form

    grazie!!

  2. #2
    L'avatar di @Alex
    @Alex non è in linea Very Important Person
    Post
    16,541
    Quote Originariamente inviato da fnic Visualizza il messaggio
    salve a tutti!!

    domandone: posso utilizzare una variabile per specificare di quale campo prenderne il valore in una maschera? se sì come?

    cioè: xx=Me.nomevariabile.value dove nomevariabile contiene uno dei campi presenti nella form

    grazie!!
    Si ma la domanda è strana e darti una risposta semplice mi sembra banale...!
    codice:
    xx=Me.Controls("NomeControllo").Value
    Oppure...
    codice:
    Dim strNome as String
    strNome="NomeControllo"
    xx=Me.Controls(strNome).Value
    Personalmente non darei MAI la possibilità di fare una cosa simile, ma eventualmente vincolerei l'utente a scegliere tra un ventaglio di opzioni... VINCOLATE.
    @Alex
    Il CROSSPOST è VIETATO
    Mirror al vecchio sito WEB(salvare i Demo riassegnando l'estensione (.Zip/.Rar/.Exe in base all'icona...):
    http://mirror.masterdrive.it/alessandrobaraldi/
    Leggi il
    Regolamento del Forum e nel comprenderne la filosofia rispettalo.

  3. #3
    fnic non è in linea Novello
    Post
    13
    mille grazie! ...è proprio quello che cercavo

    la form in questione raccoglie una serie di dati, poi mette a disposizione un testo preformattato in una campo memo dove l'utente può inserire delle variabili (campi precedenti) per poter poi sostituire il campo con il valore dello stesso per quel record e un bottone esegue il codice che crea il testo finale, ecco dove mi serviva il tuo prezioso consiglio! proprio per evitare una serie infinita di select case e per poter aggiungere campi senza metter mano al codice in futuro.

    ecco il codice modificato con il tuo consiglio... se può essere utile o se avete consigli per migliorie :
    *********************************
    Private Sub CMDElabora_Click()

    appo = ""
    p_ini = InStr(1, Me.QueryBase, "&")
    Do While True
    p_fi = InStr(p_ini + 1, Me.QueryBase, "&")
    campo = Mid(Me.QueryBase, p_ini + 1, p_fi - p_ini - 1)
    ris = Me.Controls(DLookup("Tabella", "CampiUtilizzabili", "Campo = '" & campo & "'")).Controls(campo)
    altro = InStr(p_fi + 1, Me.QueryBase, "&")
    If altro = 0 Then
    Me.QueryElab = IIf(appo = "", Left(Me.QueryBase, p_ini - 1), appo) & ris & Right(Me.QueryBase, Len(Me.QueryBase) - p_fi)
    Exit Do
    Else
    appo = Left(Me.QueryBase, p_ini - 1) & ris & Mid(Me.QueryBase, p_fi + 1, altro - p_fi - 1)
    p_ini = altro
    End If
    Loop
    End Sub
    **********************************

    grazie
    Ultima modifica di fnic; 07-07-2015 20:42  Motivo: aggiunta

  4. #4
    L'avatar di muttley005
    muttley005 non è in linea Topo di biblioteca
    Post
    2,013
    Quote Originariamente inviato da fnic Visualizza il messaggio
    ...
    Me.Controls(DLookup("Tabella", "CampiUtilizzabili", "Campo = '" & campo & "'")).Controls(campo)
    ...
    ?!? mi suona alquanto strano...

  5. #5
    fnic non è in linea Novello
    Post
    13

    Lightbulb

    Quote Originariamente inviato da muttley005 Visualizza il messaggio
    ?!? mi suona alquanto strano...
    nel form ci sono più oggetti table che contengono tabelle referenziate alla tabella generale del form stesso, nella tabella CampiUtilizzabili c'è un elenco dei campi utilizzabili appunto nel campo memo [QueryBase] e nel campo [CampiUtilizzabili].[Tabella] troviamo la tabella a cui il campo [CampiUtilizzabili].[Campo] fa riferimento. L'oggetto Table della form ha lo stesso nome della tabella a cui è legato. Da qui il dlookup sul primo Controls.

    ...spero di essere stato chiaro!!

  6. #6
    L'avatar di muttley005
    muttley005 non è in linea Topo di biblioteca
    Post
    2,013
    quindi si "trasforma" in una cosa equivalente a questa?
    codice:
    ...
    Me.SUB_FORM_X.Form.Controls(campo)
    ...

  7. #7
    fnic non è in linea Novello
    Post
    13
    più o meno...
    dato che devo passargli SUB_FORM_X come variabile uso Controls(NomeVariabile)

  8. #8
    L'avatar di muttley005
    muttley005 non è in linea Topo di biblioteca
    Post
    2,013
    si è quello che intendevo

+ Rispondi al Thread

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi