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