Aprire una Query in VBA per modifica dei campi

di il
13 risposte

Aprire una Query in VBA per modifica dei campi

Salve a tutti,

non saprei dire quanto il mio argomento sia nuovo, ma non vi ho mai trovato una risposta.

Solitamente navigo fra i campi di una tabella per cercare valori o aggiornarli ma non sono mai riuscito ad aprire una query nello stesso modo in cui apro la tabella. Ciò pur copiando le righe che trovo solitamente nell'help di Access. 

Mi dice errore perché vuole il parametro 3

Il codice che di solito uso per aprire tabelle è: 

   Dim rsC As Object
   Dim st As String
        st = "Select * From Pazienti"   ' dove Pazienti è il nome della tabella
       Set rsC = CurrentDb.OpenRecordset(st, dbOpenSnapshot)
....

....

        rsC.Close
       Set rsC = Nothing

Domanda: Qual' è il codice giusto per aprire una Query?

13 Risposte

  • Re: Aprire una Query in VBA per modifica dei campi

    30/05/2025 - antocuomo ha scritto:

    Mi dice errore perché vuole il parametro 3

    Ciao, 

    allora vuol dire che la tua query e parametrica, cioè.... richiede dei parametri per poterla eseguire 

    In questo caso MsAccess in VBA segnala che manca un parametro.

    Domanda ... ma la tua query ha i parametri ?

  • Re: Aprire una Query in VBA per modifica dei campi

    30/05/2025 - antocuomo ha scritto:

    Mi dice errore perché vuole il parametro 3

    Ti lascio due esempi semplici semplici per aprire e leggere un recordset da delle query

    Esempio Query che non richiede parametri:

    ' READ NO PARAMETER QUERY
    Private Sub MyTestQueryNonParam()
        ' Open recordset
        Dim rs As DAO.Recordset
        Set rs = CurrentDb.OpenRecordset("QueryNoParameter", dbOpenSnapshot)
        
        ' Read recordset
        Do While Not rs.EOF
            Debug.Print rs.Fields(1).Value
            rs.MoveNext
        Loop
        
        ' Close
        rs.Close
        Set rs = Nothing
    End Sub
    

    In questo caso si apre e si legge la query al pari di una Tabella

    Esempio Query parametrica - Query che richiede parametri :

    • poniamo di untilizzare un solo parametro di nome MyName  (così come è impostato nei parametri della query)
    • in questo caso si utilizza DAO QueryDef per comunicare alla Query quali siano i parametri da trattare
    ' READ A PARAMETER QUERY
    Private Sub MyTestQueryParam()
        ' Set parameters
        Dim qdf As DAO.QueryDef
        Set qdf = CurrentDb.QueryDefs("QueryWithParameters")
        qdf!MyName = "YourParameterValue"
        
        ' Open recordset
        Dim rs As DAO.Recordset
        Set rs = qdf.OpenRecordset(dbOpenSnapshot)
        
        ' Read recordset
        Do While Not rs.EOF
            Debug.Print rs.Fields(1).Value
            rs.MoveNext
        Loop
        
        ' Close
        rs.Close
        Set rs = Nothing
        Set qdf = Nothing
    End Sub

    Se si hanno più parametri, allora basta elencarli. In questo caso sono 4 parametri :

    ' READ A PARAMETER QUERY
    Private Sub MyTestQueryParam()
        ' Set parameters
        Dim qdf As DAO.QueryDef
        Set qdf = CurrentDb.QueryDefs("QueryWithParameters")
        qdf!Parm1 = "YourParam1Value"
        qdf!Parm2 = "YourParam2Value"
        qdf!Parm3 = "YourParam3Value"
        qdf!Parm4 = "YourParam4Value"
        
        ' Open recordset
        Dim rs As DAO.Recordset
        Set rs = qdf.OpenRecordset(dbOpenSnapshot)
        
        ' Read recordset
        Do While Not rs.EOF
            Debug.Print rs.Fields(1).Value
            rs.MoveNext
        Loop
        
        ' Close
        rs.Close
        Set rs = Nothing
        Set qdf = Nothing
    End Sub

    Associare il nome reale dei parametri e il relativi valori da passare alla Query

  • Re: Aprire una Query in VBA per modifica dei campi

    Caro By65 Franco, mi stai facendo capire cose mai comprese in altri spazi ma devo porti un paio di domande:

    Innanzitutto, i parametri sono quelle cose che ti chiede una query quando la apri al di fuori della maschera, vero?

    ovvero quei dati che solitamente fanno parte del runtime e quindi sono parte di una maschera che al momento non è aperta, giusto?

    se così è, all'interno del codice quale valore potrei assegnare ad un parametro "vivente" quando mi dici 

    qdf!MyName = "YourParameterValue"

    Sono sicuro che mi manca un passaggio.

    Oppure,  "YourParameterValue" è semplicemente il nome della casella di testo che in "criteri:" della query conterrà i dati necessari al suo funzionamento?  Non so.

  • Re: Aprire una Query in VBA per modifica dei campi

    Perché non impostate la gestione recordset includendo la dichiarazione del DAO.Database?

    Dim dbMyDB As DAO.Database
    Dim rsMyQuery As DAO.Recordset
    Set dbMyDB = CurrentDB
    Set rsMyQuery = dbMyDB.OpenRecordSet("NomeQuery", dbOpenDynaset) 'dbOpenSnapshot si usa per solo lettura
    ecc...
    rsMyQuery.Close
    dbMyDB.Close

    31/05/2025 - antocuomo ha scritto:

    Innanzitutto, i parametri sono quelle cose che ti chiede una query quando la apri al di fuori della maschera, vero?

    La QUERY CON PARAMETRI è una query, dove in visualizzazione struttura, in Criterio ci trovi scritto qualcosa tra parentesi quadre, tipo [Digita il valore da inserire]. Quando apri la query, ti apparirà una piccola finestra che ti chiederà di inserire un valore mostrando il testo incluso dentro le parentesi quadre.

    Esiste anche la QUERY PARAMETRICA che, oltre a quello che ho detto prima, vuole essere "rafforzata" con una dichiarazione esplicita da inserire cliccando in alto su Parametri (sempre visualizzazione struttura query). Solo la query parametrica è gestibile da VBA per l'inserimento automatico di valori prelevati da questa o quella maschera (aperta).

    "Select * From Pazienti"

    Non è una query con parametri.

  • Re: Aprire una Query in VBA per modifica dei campi

    31/05/2025 - OsvaldoLaviosa ha scritto:

    Perché non impostate la gestione recordset includendo la dichiarazione del DAO.Database?

    Dim dbMyDB As DAO.Database
    Dim rsMyQuery As DAO.Recordset
    Set dbMyDB = CurrentDB
    Set rsMyQuery = dbMyDB.OpenRecordSet("NomeQuery", dbOpenDynaset) 'dbOpenSnapshot si usa per solo lettura
    ecc...
    rsMyQuery.Close
    dbMyDB.Close

    Ciao Osvaldo,

    direi che è ottima domanda ...

    sistemiamo l'esempio che hai fatto perchè il DAO.Database (dbMyDB) non vuole la chiusura ma si può solo liberare la memoria dall'oggetto
    Esempio :

    • define DAO.Database
    • define DAO.Recordset
      • set open Dao.Recordset in sola lettura dbOpenSnapshot
        • operazioni di lettura sul recordset, etc...
    • close DAO.Recordset
    • libera memoria da oggetto DAO.Recordset
    • libera memoria da oggetto DAO.Database
    Dim dbMyDB As DAO.Database
    Dim rsMyQuery As DAO.Recordset
    
    Set dbMyDB = CurrentDb
    Set rsMyQuery = dbMyDB.OpenRecordset("NomeQuery", dbOpenSnapshot)
    
    ' ... etc ...
    
    rsMyQuery.Close
    Set rsMyQuery = Nothing
    Set dbMyDB = Nothing

    :
    Alcune precisazioni :

    1. L'esempio in precedenza mostrato esegue solo una lettura di records da un certo recordset, le opzioni di apertura del recordset sono:
      1. opzione : dbOpenDynaset  -  permette la lettura e scrittura dei records
      2. opzione : dbOpenSnapshot  -  permette solo la lettura
      3. opzione : dbOpenForwardOnly  -  permette la solo lettura solo in avanti
    2. Per l'esempio in questione si usa l'opzione b. Solo Lettura in quanto si ha l'intenzione solo di leggere dei records
      1. se l'esempioo aggiornava/inseriva/eliminava dei records, allora si sarebbe usato l'opzione a. che consente di leggere e modificare il recordset
      2. se si volesse leggere il recordset dal primo record all'ultimo e solo in avanti (una unica direzione), allora si sarebbe usato l'opzione c.

    :
    Oggetto DAO.Database o Currentdb ?

    1. Dichiarare un nuovo oggetto DAO.Database spesso e del tutto inutile; alcuni casi :
      1. se si apre una connessione per un ciclo di lettura/scrittura "semplice" si può usare direttamente Currentdb che restituisce un nuovo oggetto DAO.Database sul database corrente.
      2. se non serve una nuova connessione al database corrente si usa Currentdb e non DAO.Database in quanto risulterebbe una inutile ridondanza. Infatti l'oggetto DAO.Database viene automaticamente restituito da Currentdb. A questo punto conviene usare direttamente Currentdb
      3. alla fine della routine l'oggetto di connessione Currentdb non richiede di essere  chiuso, viene gestito in automatico dal sistema.
      4. etc...
    2. Quando si rende necessario dichiarare un nuovo oggetto DAO.Database; alcuni casi :
      1. in cicli complesssi dove si rende necessario lascare aperta una connessione DAO.Database per tutta la durata della routine dove si rende necessario eseguire più operazioni tra varie stringhe sql di diversa natura e con tabelle diverse. In questi casi si evita di caricare in continuazione oggetti di connessione al database inutilmente che penalizzano le performance
      2. in altri casi, dove si rende necessario aprire connessioni a database esterni, allora si usa DAO.Database
      3. etc...
    3. Connessioni  DAO
      1. Dim db as DAO.Database   (performance basse)
        1. con l'oggetto dao viene aperta una nuova connessione al database corrente impostando Set db = Currentdb
          1. l'oggetto di connessione deve essere  chiuso
      2. Currentdb    (performance medie)
        1. ogni volta che viene richiamato imposta automaticamente un oggetto di connessione al database corrente
          1. viene chiuso in automatico dal sistema (non richiede la chiusra della connessione)
      3. DBEngine(0)(0)    (performance alte)
        1. la conessione DAO al database corrente è permanentemente aperta da MsAccess
        2. ogni volta che viene richiamato si ha accesso diretto all' oggetto di connessione (non viene creato un nuovo oggetto di connessione al database come nei primi due casi precedenti)
        3. non necessita di essere  chiuso (è permanente, è gestito direttamente da MsAccess)

    :
    Più o meno mi sembra di aver elencato alcuni punti salienti... (un pò lungo, ma l'argomento è abbastanza vasto)
    ;-)

  • Re: Aprire una Query in VBA per modifica dei campi

    31/05/2025 - antocuomo ha scritto:

    Innanzitutto, i parametri sono quelle cose che ti chiede una query quando la apri al di fuori della maschera, vero?

    Ciao Anto,

    per non fare confusione,ti faccio un primoesempiomolto semplice e pratico.

    Poniamo di avere un tabella per quale esiste una Query creata in designer

    Iniziamo a fare un piccolo giro sui dati e su un tipo di parametri:

    In struttura si crea una Query  che legge i records da una tabella

    Questa Query restituisce alcuni records ... e fino a qui nientedi particolare

    Adesso poniamo di voler filtrare i records con una ricerca di tipo "che contiene"
    e impostiamo nei criteri una Like e posto tra parentesi Quadre inseriamo un
    parametro che chiameremo in questo modo: [MySearch]

    Quando si esegue la query viene richiesto di inserire il Parametro.
    in questo caso inseriamo come valore "pi" per filtrare tutti i records che
    contengono tale stringa 

    Premendo il pulsante OK otteniamo una lista Filtrata secondo il Parametro inserito nei Criteri della Query 
    Esempio :

    Se si vuole aprire e leggere questa query da codice VBA :

    • se non passiamo il Parametro MySearch, viene restituito un errore in fase di runtime (parametro mancante)
    • se si passa il Parametro MySearch al codice VBA si ottengono gli stessi records filtrati come abbiamo visto nella Query sopra riportata

    :
    Esempio : 

    • con l'oggetto QueryDef si apre la Query "QueryWithParameters"
    • si imposta il parametro da passare al Criterio utilizzato nella Query (il nome del parametro deve coincidere con il nome utilizzato nella Query)
    • per questo oggetto QueryDef si apre un Recordset da leggere
    • in Finestra Immediata stampiamo, con Debug.Print, l'elenco dei records filtrati secondo il Parametro che è stato impostato e come da Query precedentemente mostrata, si ottiene la stessa identica lista.
    • in questo esempio abbiamo trattato un solo parametro, ma possono essere impostati un numero diverso di Parametri, due, tre, dieci, etc...

    :
    Concludendo, questo è un esempio di come passarei i paratri nei criteri di una Query esistente.

    E' solo un caso, ma esistono altri metodi e sistemi sia come impostare dei parametri per una query e come interagire da codice VBA.

  • Re: Aprire una Query in VBA per modifica dei campi

    31/05/2025 - antocuomo ha scritto:

    ovvero quei dati che solitamente fanno parte del runtime e quindi sono parte di una maschera che al momento non è aperta, giusto?

    Giusto, in questo caso si aspetta un valore che non riconosce e si riceve un errore

    31/05/2025 - antocuomo ha scritto:

    se così è, all'interno del codice quale valore potrei assegnare ad un parametro "vivente" quando mi dici 

    qdf!MyName = "YourParameterValue"

    Sono sicuro che mi manca un passaggio.

    Oppure,  "YourParameterValue" è semplicemente il nome della casella di testo che in "criteri:" della query conterrà i dati necessari al suo funzionamento?  Non so.

    Se per esempio hai una Form dove imposti una query che per una certa colonna preleva come parametro un valore da un controllo della Form,
    quando viene eseguita la stessa query in VBA e la Form risulta Chiusa, restituisce errore del tipo "Parmetro non definito"... in pratica non sa come risolvere nei criteri il valore che è stato indicato.

    In questo caso se si vuole utilizzare la query da VBA anche quando la Form è chiusa, esistono diverse tecniche da valutare per ogni specifico contesto.

    Se vuoi una risposta precisa e coerente  per il tuo specifico contesto, è necessario una esposizione completa di come stai utilizzando la Query e l'Origine records della Form in questione.

  • Re: Aprire una Query in VBA per modifica dei campi

    Mai ricevuto tanta attenzione e vi ringrazio per questo.

    Ciononostante pur avendo eseguito alla lettere le indicazioni, non ho ancora ottenuto l'effetto desiderato.

    Purtroppo la procedura non mi riconosce la bontà dei miei parametri. Li considera "Elementi non trovati nella raccolta" eppure ci sono tutti.

        dim k as integer

    Dim qdf As DAO.QueryDef
       Set qdf = CurrentDb.QueryDefs("Q_Pazienti")
       qdf![ID_Spe] = Me![Testo41]
       qdf!Disp = "S"
       qdf!D_Evento = Me!Testo69
       
       ' Open recordset
       Dim rs As DAO.Recordset
       Set rs = qdf.OpenRecordset(dbOpenSnapshot)
       
               For k = 0 To 9
                   Debug.Print rs.Fields(k).Name
                   If rs.Fields(k).Name = Me.OrderBy Then
                       Exit For
                   End If
               Next k
       
       ' Close
       rs.Close
       Set rs = Nothing
       Set qdf = Nothing

    e la mia query Q_Pazienti è questa:
    SELECT Pazienti.ID_Paz, Pazienti.ID_visita, Specialty.ID_Medico, Pazienti.NomePaz, Pazienti.TelPaz, Pazienti.Range, Pazienti.accettato, Pazienti.avvisato, Pazienti.giorno, Pazienti.ora, Pazienti.visitato, Specialty.ID_Spe, Specialty.NomeSpec, Medici.ID_Med, Medici.NomeMed, Medici.TelMed, Medici.Indirizzo, Medici.Disp, Medici.Note, Pazienti.D_Prenot, Pazienti.D_Visita, Pazienti.D_Evento, Medici.Location
    FROM Pazienti INNER JOIN (Specialty INNER JOIN Medici ON Specialty.[ID_Medico] = Medici.[ID_Med]) ON Pazienti.ID_Visita = Specialty.ID_Spe
    WHERE (((Specialty.ID_Spe) Like IIf(maschere!M_Pazienti!testo41=1,"*",maschere!M_Pazienti!testo33)) And ((Medici.Disp) Like "S") And ((Pazienti.D_Evento) Like maschere!M_Pazienti!testo69));
    
    non so.
  • Re: Aprire una Query in VBA per modifica dei campi

    31/05/2025 - antocuomo ha scritto:

    Purtroppo la procedura non mi riconosce la bontà dei miei parametri. Li considera "Elementi non trovati nella raccolta" eppure ci sono tutti.

    Ciao, la tua query non contiene dei Parametri ;-)

    contiene solo dei riferimenti a dei controlli della Form  (quello che ho cercato di spiegarti nei post precedenti per farti capire la differenza)

    Se la Form è chiusa ovviamente tali riferimenti non vengono trovati e ti restituisce errori.

    Le query Parametriche sono di questo tipo :  (puoi vedere un breve video con una piccola dimostrazione)
    https://drive.google.com/file/d/1QDapp-0-wViva43KtbUFQ0pwSVh1ZySG/view?usp=sharing
    Questi parametri possono essere utilizzati da codice  VBA con l'oggetto QueryDeff come da esempi postati in precedenza.
    Non conviene utilizzarla per una Form per la quale esistono metodi più efficienti e semplici. 
    [Note] Nella demo si usa dichiare in modo implicito i parametri (non è obbligatorio), questo consente di avere un maggior controllo quando si usano nei criteri e quando vengono impostati i valori dall'utente.

    :
    Puoi odottare tecniche diverse che ti permettono di utilizzare la Query con o senza la Form... se questo è il tuo obbiettivo.

    Per esempio puoi impostare il Filter per aggiornare il recordset della query quando la usi come Record source in una Form.
    In questo caso si deve togliere dai criteri della query tutti i riferimenti ai controlli della Form. 
    Così facendo hai una query del tutto scollegata dai controlli della Form :

    • La query non contiene nessun valore nei criteri
    • Quando la query viene usata come record source per una form, si impostano le varie condizioni utilizzando il Filter da applicare alla Form
    • Questa query può essere indifferentemente usta per una Form e/o nel Codice VBA

    :

    Mentre nel VBA , da codice senza avere la Form aperta, conviene definire la stringa sql della query dirattamente nel codice e puoi impostare nella where condition tutte le condizioni che vuoi per filtrare i records.

  • Re: Aprire una Query in VBA per modifica dei campi

    Una select per modificare i campi non serve, al massimo per filtrare dei dati.

    Se vuoi modificare un record usi la update, se vuoi inserire un record usi inserti, se vuoi eliminare un record usi delete...

    La sintassi rispetto alla select cambia ma in tutte puoi stabilire parametri e criteri.

    Se usi una select fai prima con find 

    L'uso della select parametrica mostra solo i record che soddisfano il criterio.

    Ergo, la stessa where in una update ti permette modifiche di gruppo, una delete una cancellazione di gruppo.. una inserti non ha senso quindi devi essere certo di usare valori non ripetuti.

    Una sql si esegue a livello database (diverso da posizionarsi al record, andare in edit, scrivere il valore e fare il post. Una update fa questo passaggio direttamente dal motore del database. Se hai una vista tabellare devi fare un refresh dei dati dopo ogni esecuzione.

    Quindi puoi, usare una select o una tabella, selezionare più record . In qualche modo (popup menù, editbox o pulsante) impostare il valore del campo e lanciare la update seguita da un refresh della select.

    Ma ripeto, una query per modifica dei campi non inizia con select ma con update...

  • Re: Aprire una Query in VBA per modifica dei campi

    31/05/2025 - antocuomo ha scritto:

    Ciononostante pur avendo eseguito alla lettere le indicazioni, non ho ancora ottenuto l'effetto desiderato.

    Ciao Anto... 

    ascolta una cosa, visto che anche in questo Thread non ci sarà la possibilità di poter correttamente portare a termine la discussione, disponibilissimo a sentirsi in privato così ti passo tutte le indicazioni che ti occorrono in un ambiente più tranquillo, civile e sereno.

    Tanto già sappiamo come andrà a finire e il Thread verrà bloccato come al solito.

    Un salutone.

    (mi spiace ma purtroppo non dipende nè da te nè da me, non ci posso fare nulla...)

  • Re: Aprire una Query in VBA per modifica dei campi

    Bah, non so comemai... probabilmente le segnalazioni dei post non funziona. Pazienza può accadere.
    Facciamo chiarezza per coloro che leggono nel Form e per l'OP che ha aperto il Thread

    31/05/2025 - sihsandrea ha scritto:

    Una select per modificare i campi non serve, al massimo per filtrare dei dati.

    -          Mai nessuno ha fatto tale affermazione, mai l’OP intende modificare i campi, completamente OT

    31/05/2025 - sihsandrea ha scritto:

    Se vuoi modificare un record usi la update, se vuoi inserire un record usi inserti, se vuoi eliminare un record usi delete...

    -          Mai nessuno a fatto tale richiesta, completamente OT

    31/05/2025 - sihsandrea ha scritto:

    La sintassi rispetto alla select cambia ma in tutte puoi stabilire parametri e criteri.

    -          Non è oggetto del Thread e nessuno l’ha richiesto, completamente OT

    31/05/2025 - sihsandrea ha scritto:

    Se usi una select fai prima con find 

    -          Non inerente al contesto e al tema trattato, in più viene consigliato l'uso di tecniche obsolete, poco performanti e da evitare. Del tutto e completamente OT

    31/05/2025 - sihsandrea ha scritto:

    L'uso della select parametrica mostra solo i record che soddisfano il criterio.

    -          Argomento già discusso e approfondito. Affermazione imprecisa nonchè errata concettualmente e nei fatti. Completamente inutile ed errata.

    31/05/2025 - sihsandrea ha scritto:

    Ergo, la stessa where in una update ti permette modifiche di gruppo, una delete una cancellazione di gruppo.. una inserti non ha senso quindi devi essere certo di usare valori non ripetuti.

    -          Mai richiesto da parte dell’ OP tale operatività, ergo non è oggetto della richiesta dell’OP, ergo completamente OT

    31/05/2025 - sihsandrea ha scritto:

    Una sql si esegue a livello database (diverso da posizionarsi al record, andare in edit, scrivere il valore e fare il post. Una update fa questo passaggio direttamente dal motore del database. Se hai una vista tabellare devi fare un refresh dei dati dopo ogni esecuzione.

    -          Errato concettualmente e nei fatti, non richiesto dall’OP, completamente OT

    31/05/2025 - sihsandrea ha scritto:

    Quindi puoi, usare una select o una tabella, selezionare più record . In qualche modo (popup menù, editbox o pulsante) impostare il valore del campo e lanciare la update seguita da un refresh della select.

    -          Fuori tema, mai è stata richiesta questa operatività, tra le altre cose anche molto primitiva e inutile, buttato lì delle frasi fuori contesto e completamente OT

    31/05/2025 - sihsandrea ha scritto:

    Ma ripeto, una query per modifica dei campi non inizia con select ma con update...

    -          Ripetere una cosa sbagliata non consente farla divenire corretta. Completamente fuori tema, l’OP non ha mai richiesto tutto ciò, il Thread parla di ben altro, completamente OT.

    :

    Ho già segnalato tale Post ma sembra che ci sia qualcosa che non funziona 
    Eppure il regolamento parla molto chiaro in questi frangenti, almeno gli utenti dovrebbero seguirlo e rispettarlo, altrimenti a cosa serve un regolamento?

    Dalla prima frase all’ultima, tutto completamente OT, tanta confusione, tanti errori e imprecisioni deprecabili. 
    Tutto ciò genera nell’OP una tremenda confusione, al punto tale che non sa più cosa è vero e cosa è sbagliato.

    Intervento inopportuno e inappropriato, non risponde nei fatti a nessuna domanda posta dall’OP, non affronta il tema trattato dal Thread e dalla discussione che ne è emersa.
    Argomenti buttati lì, trattati con superficialità, non richiesti dal Thread, non richiesti dall'OP, pieni di errori gravi, errori di concetto, non rispondenti a verità... eppure queste sono solo e semplicemente le basi minime per poter parlare di MsAccess.

    Quindi qual'è il vero scopo di tale intervento? 
    Sicuramente e come al solito e, non è la prima volta, è quello di mandare all’aria un Thread e farlo chiudere dai moderatori.
    Oramai si è capito l’andazzo e lo sanno tutti. non a caso anche due / tre giorni fa un utente del Forum si è lamentato per tale comportamenti.

    Attenzione !!!  Invito seriamente l'OP e gli altri lettori nel Forum di non prendere in considerazione il post or ora segnalata.

    Doverosamente
    saluti

  • Re: Aprire una Query in VBA per modifica dei campi

    Chiudo l'argomento prima che sfoci nel flame

Devi accedere o registrarti per scrivere nel forum
13 risposte