Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    SQL Access parametri insufficienti previsto 1

    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?

  2. #2
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    "parametri insufficienti, previsto 1" vuol dire che uno dei nomi dei campi è errato e non viene ricomosciuto da access, per cui viene considerato un parametro da valorizzare.

    Controlla bene tutti i nomi dei campi nella query e che siano esattamente quelli delle rispettive tabelle.
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  3. #3
    infatti.... ho risolto

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.