Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 31
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    231

    VBA ACCESS: puntare ad una variabile

    Salve a tutti,
    vi chiedo aiuto su un problemino:
    in un "criterio" di una querry ho il seg. controllo:
    <>[tabella1].[campo1]
    equivalente a SQL:
    WHERE (((Tabella2.campo2)<>[Tabella1].[Campo1]))

    Vorrei mettere al posto di "campo1", che è il nome effettivo del campo, una variabile tipo string, in modo da poter puntare ad un diverso campo

    ciao
    Davide

  2. #2
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Se tua SELECT inizia con il doppio apice " :
    codice:
        "SELECT .......... WHERE (((Tabella2.campo2)<>[Tabella1].[" & VariabileNomeCampo & "]))"
    Ciao,
    Ciao, Brainjar

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    231
    grazie 1000
    Ora forse ho un problema correlato:
    la variabile che metto al posto del campo si resetta inspiegabilmente quando chiudo la maschera dove è generata.
    In pratica nei criteri della querry ho messo:
    <>[Macchinari].["& MacchinarioCk &"]
    ma mi chiede "Immissione Valore Parametro"
    MacchinarioCk è una variabile che funziona bene quando sono dentro una maschera (con codice VBA)

  4. #4
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Dove dichiari la variabile, nel codice del bottone, nel codice del
    form o in un modulo esterno al form ?
    Se la variabile è dichiarata in uno dei primi due scenari, allora
    chiudendo il form la perdi e riaprendo il form la reimposti vuota.

    Ciao,
    Ciao, Brainjar

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    231
    immaginavo qualcosa di simile.
    Infatti pensavo di aver risolto dichiarandola nel:
    (generale)(dichiarazioni) della "form" con:
    Dim MacchinarioCk As String
    A me serve di usare questa variabile dentro una querry

    grazie
    Davide

  6. #6
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Se la query la esegui 'solo' nel form, allora va bene.
    Altrimenti dovresti avere un modulo .bas nel progetto dove la
    dichiarazione sarebbe :

    ' Non puoi utilizzare Dim, ma Public
    Public MacchinarioCk As String

    Ciao,
    Ciao, Brainjar

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    231
    forse dovrei creare la querry con il codive VBA da dentro la maschera?

    Il codice SQL della querry è:

    SELECT New_Compilation.VariableName, New_Compilation.DefaultValue, [Macchinari].[" & MacchinarioCk & "] AS Espr1, DB_Monocircuito.Descrizione_ITA, DB_Monocircuito.Interpretazione_limiti
    FROM (New_Compilation INNER JOIN Macchinari ON New_Compilation.VariableName = Macchinari.VariableName) INNER JOIN DB_Monocircuito ON Macchinari.VariableName = DB_Monocircuito.VariableName
    WHERE (((New_Compilation.DefaultValue)<>[Macchinari].[" & MacchinarioCk & " ]))
    ORDER BY New_Compilation.VariableName;

    In pratica dentro una maschera seleziono un macchinario da una listbox e da qui sono riuscito a ricavare la variabile "MacchinarioCk" che corrisponde ad un campo della tabella "macchinari".
    Quindi voglio fare una querry che riceve un parametro

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    231
    intendi dire che devo fare in access -> modulo -> nuovo?
    Mi passa nel VBA creando un modulo vuoto.
    Devo mettere qui la dichiarazione della variabile?
    Verrà letta all'avvio?
    saluti

  9. #9
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Si, la metti qui la dichiarazione.
    Il valore, però, non ti viene letto al lancio della procedura, ma
    la prima volta che ne imposti il contenuto, questo sarà visibile a
    tutte le procedure, fino a che non termini l'applicazione. Per
    avere la persistenza del valore dovresti salvarlo in chiusura e
    caricarlo in apertura a livello fisico.
    O come valore di un campo di una tabella. o come valore testo in
    un file di configurazione, tipo i vecchi file .ini o .cfg.
    Visto che apri un DB ti conviene utilizzare il primo metodo.

    Ciao,
    Ciao, Brainjar

  10. #10
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    231
    bene,
    sono riuscito a salvare la mia variabile in un file di testo (dalla maschera).
    Come faccio ora a leggere questo file di testo e quindi la mia variabile da dentro un querry?
    Io riesco solo con le maschere ad accedere al VBA!
    saluti e grazie
    Davide

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.