Scusate, non ho risolto…
Dunque, siccome avrò massimo 3 scelte, ho deciso di creare tre caselle di testo in cui inserire i 3 valori selezionati dalla casella di riepilogo.
(Ho cercato di riferirmi direttamente alla casella di riepilogo, ma non ho abbastanza strumenti per gestire metodi e proprietà di quell' oggetto)
A questo punto la query visualizzata nella foto dei post precedenti (modificata con i tre criteri corrispondenti alle 3 caselle di testo) funziona perfettamente, ma quando cerco di usarla in vba per maneggiare i risultati, con questo codice
Set dbs = CurrentDb
Set rstOpticut = dbs.OpenRecordset("tblEtichetteOpticut")
Set rstTS = dbs.OpenRecordset("qryCommessePezziPerEtichette")
arrivato alla “Set rstTS” mi da Errore 3061 - Parametri insufficienti, previsto 3 (sono i 3 criteri della query?)
Se anzichè riferirmi alla query creo la stringa sql:
strSql = "SELECT tblCommessePezzi.*, tblArticoli.Articolo INTO tblCmmessePezziPerEtichette " & _
"FROM tblCommessePezzi INNER JOIN tblArticoli ON tblCommessePezzi.IdArticolo = tblArticoli.IDArticolo " & _
"WHERE tblCommessePezzi.IdCommessa=forms![frmCommesseDaEtichettare]![txt1] Or " & _
"forms!frmCommesseDaEtichettare!txt2 Or forms!frmCommesseDaEtichettare!txt3"
e cerco di eseguire il codice:
Set dbs = CurrentDb
Set rstOpticut = dbs.OpenRecordset("tblEtichetteOpticut")
Set rstTS = dbs.OpenRecordset(strSql)
mi da errore 3219 - Operazione non valida
verificando il valore di “strSql” nella finestra immediata ottengo:
SELECT tblCommessePezzi.*, tblArticoli.Articolo INTO tblCmmessePezziPerEtichette FROM tblCommessePezzi INNER JOIN tblArticoli ON tblCommessePezzi.IdArticolo = tblArticoli.IDArticolo WHERE tblCommessePezzi.IdCommessa=329 OR 328 OR 332
che mi pare corretto….
P.S. la routine di cui fa parte lo stralcio postato è già esistente e funzionante nel DB, con l'unica differenza che si riferiva ad una commessa sola, ora è nata l'esigenza di utilizzare i dati di più commesse contemporaneamente
Riuscite ad aiutarmi ancora per favore?