Cambiare query in origine dati tramite VBA

di il
3 risposte

Cambiare query in origine dati tramite VBA

Buongriono a tutti, ho il seguente problema.
Vorrei modificare l'origine dati di una maschera tramite VBA avendo come variabile il contenuto di un campo di testo (che l'utente riempie per effettuare la ricerca).

Il codice è il seguente:

Private Sub Cerca_Click()  'Al click sul pulsante CERCA'
    Spettacolo = Me.RicercaSpettacolo     'Acquisisco la stringa inserita dall'utente'
    
    sql = "SELECT Rappresentazioni.ID, Spettacoli.NomeSpettacolo, Teatri.Nome, Teatri.Città FROM Teatri INNER JOIN (Spettacoli INNER JOIN Rappresentazioni ON Spettacoli.[ID] = Rappresentazioni.[IdSpettacolo]) ON Teatri.[ID] = Rappresentazioni.[IdTeatro]"
    
    If Not IsNull(Spettacolo) Then   'se l'''utente ha inserito una stringa, aggiungo il filtro alla ricerca'       
        sql = sql & " WHERE Teatri.Nome = '" & Teatro & "'"
    End If
    
    Form_RicercaSpettacoli.RecordSource = sql       
End Sub
Il risultato purtroppo non è quello che mi sarei aspettato, addirittura la query cancella un campo del record selezionato. Dove sbaglio? forse bisogna dare qualche comando di inizializzazione? Purtroppo sono nuovo del mondo acces e nonostante questo sia l'approccio che mi pare logicamente corretto il risultato non è la modifica dell'origine dati. grazie

3 Risposte

  • Re: Cambiare query in origine dati tramite VBA

    Ma la.dichiarazione delle variabili per te è OPTIONAL..?
    Vai nelle impostazioni del codice ed imposta la dichiarazione obbligatoria delle variabili... altrimenti non ti rendi conto di cosa fai...

    Perché fai una "roba" del genere invece di usare con molta più coerenza tecnica, la proprietà FILTER che è fatta apposta..?
  • Re: Cambiare query in origine dati tramite VBA

    Ma quanto sei maleducato?
  • Re: Cambiare query in origine dati tramite VBA

    Fai attenzione, non siamo all'asilo, non confondere "maleducazione" con schiettezza tecnica...!
    Hai fatto cose tecnicamente "molto discutibili", quindi se vuoi ci confrontiamo sul TECNICO... per il resto c'è il BAR.
    Siccome non credo tu abbia bisogno di una carezza, ma suggerimenti... quello che ti ho esposto è un approccio tecnico.
Devi accedere o registrarti per scrivere nel forum
3 risposte