Salve a tutti, sto sbroccando! Allora ho 3 tabelle:
Tab_Fatture_Vendita, Tab_Vendite e Tab_Movimenti_Merci.
Il campo IDFatture di Tab_Fatture_Vendita è collegato con una relazione al campo N_Fattura della tabella Tab_Vendite.
Il campo IDVendite di Tab_Vendite è collegato al campo documento_scarico di tab_movimenti_merci.
Ho realizzato una query access che mi ricerca dei campi all'interno delle 3 tabelle richiedendomi il numero di fattura e che funziona quando la eseguo. Ecco il codice sql:
SELECT Tab_Fatture_Vendita.NumeroFattura, Tab_Vendite.DDT_Vendita, Tab_Movimenti_Merci.Qtà_Scarico, Tab_Movimenti_Merci.IVA_Vendita, Tab_Movimenti_Merci.Prezzo_Vendita, Tab_Movimenti_Merci.Importo_Vendita, ([importo_vendita])*([iva_vendita])/100 AS expr, ([importo_vendita])*([iva_vendita])/100+[importo_vendita] AS expr1, Tab_Fatture_Vendita.Iva_x100_Movimento, Tab_Fatture_Vendita.Importo_Movimento, ([importo_movimento])*([iva_x100_movimento])/100 AS expr2, ([importo_movimento])*([iva_x100_movimento])/100+[importo_movimento] AS expr3, Tab_Fatture_Vendita.Totale_Imponibile, Tab_Fatture_Vendita.Totale_IVA, Tab_Fatture_Vendita.Spese, Tab_Fatture_Vendita.Iva_x100_spese, Tab_Fatture_Vendita.Iva_su_spese, Tab_Fatture_Vendita.Totale_Fattura_V
FROM (Tab_Vendite INNER JOIN Tab_Fatture_Vendita ON Tab_Vendite.N_Fattura = Tab_Fatture_Vendita.IDFattura) INNER JOIN Tab_Movimenti_Merci ON Tab_Vendite.IdVendite = Tab_Movimenti_Merci.Documento_Scarico
WHERE (((Tab_Fatture_Vendita.NumeroFattura) Like [NumeroFattura?]));
quando però la inserisco in VBA mi ritorna l'errore "parametri insufficienti previsto 1" quando esegue l'istruzione Set rst
ecco il codice scritto in VBA:
NumeroFattura.SetFocus
Str = NumeroFattura.Text
Dim dbs As Database, rst As Recordset
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("SELECT Tab_Fatture_Vendita.NumeroFattura, Tab_Vendite.DDT_Vendita, Tab_Merci.Codice, Tab_Movimenti_Merci.Qtà_Scarico, Tab_Movimenti_Merci.IVA_Vendita, Tab_Movimenti_Merci.Prezzo_Vendita from (Tab_Vendite INNER JOIN Tab_Fatture_Vendita ON Tab_Vendite.N_Fattura = Tab_Fatture_Vendita.IDFattura) INNER JOIN Tab_Movimenti_Merci ON Tab_Vendite.IdVendite = Tab_Movimenti_Merci.Documento_Scarico WHERE Tab_Fatture_Vendita.NumeroFattura like ' " & Str & " ' ")
ho anche provato senza inner join
Set rst = dbs.OpenRecordset("SELECT Tab_Fatture_Vendita.NumeroFattura, Tab_Vendite.DDT_Vendita, Tab_Merci.Codice, Tab_Movimenti_Merci.Qtà_Scarico, Tab_Movimenti_Merci.IVA_Vendita, Tab_Movimenti_Merci.Prezzo_Vendita from Tab_Vendite, Tab_Fatture_Vendita, Tab_Movimenti_Merci where Tab_Vendite.N_Fattura = Tab_Fatture_Vendita.IDFattura and Tab_Vendite.IdVendite = Tab_Movimenti_Merci.Documento_Scarico")
oppure
Set rst = dbs.OpenRecordset("SELECT Tab_Fatture_Vendita.NumeroFattura, Tab_Vendite.DDT_Vendita, Tab_Movimenti_Merci.Qtà_Scarico, Tab_Movimenti_Merci.IVA_Vendita, Tab_Movimenti_Merci.Prezzo_Vendita, Tab_Movimenti_Merci.Importo_Vendita, Tab_Fatture_Vendita.Spese, Tab_Fatture_Vendita.Iva_x100_spese, Tab_Fatture_Vendita.Iva_su_spese, Tab_Fatture_Vendita.Totale_Fattura_V FROM (Tab_Vendite INNER JOIN Tab_Fatture_Vendita ON Tab_Vendite.N_Fattura = Tab_Fatture_Vendita.IDFattura) INNER JOIN Tab_Movimenti_Merci ON Tab_Vendite.IdVendite = Tab_Movimenti_Merci.Documento_Scarico WHERE (((Tab_Fatture_Vendita.NumeroFattura) Like [NumeroFattura?]))")
ho notato che "sbrocca" quando inserisco nel where "and Tab_Vendite.IdVendite = Tab_Movimenti_Merci.Documento_Scarico"
avendo sempre lo stesso errore. Chi mi sa dare una mano?