CAMPO IN QUERY

di il
10 risposte

CAMPO IN QUERY

Buongiorno a tutti,
ho creato una query che mi crea una tabella nuov con i dati della fattura. Ora ho aggiunto un campo bollo nella query per fare in modo che se l'imponibile è maggiore di 77,47 mi esce il valore 2 nel campo bollo diversamente esce zero.

La sintassi del campo aggiunto è:

bollo2: IIf([imp] >'77,47',"2","0"))

Ma nel confermare il campo nella query mi segnala errore di sintassi. Dove sbaglio?
Grazie

Giuseppe

10 Risposte

  • Re: CAMPO IN QUERY

    Scusa ma non ho capito bene... crei 1 tabella per ogni fattura...?
    Sono certo di aver frainteso perché nessuno farebbe una cosa simile...!
  • Re: CAMPO IN QUERY

    E' una tabella di appoggio per poi utilizzare i campi della tabella in word stampa unione. il cliente fa una fattura singola per paziente.
  • Re: CAMPO IN QUERY

    La fattura viene fatta al momento quando si ha davanti il paziente e quindi non serve preparare tante fatture in anticipo.
  • Re: CAMPO IN QUERY

    La Tabella di appoggio non serve a nulla...!
    Nella tua Calcolata, hai fatto una confusione rilevante tra i dati... che richeide un tuo chiarimento...!
    Basta una Query...
    
    SELECT *, IIf([imp] >77.47,2,0)) AS Bollo2 FROM NomeTAbella
    WHERE [Immagino Serva un Criterio per il Numero Fattura o Cliente]
  • Re: CAMPO IN QUERY

    Questa è la query che uso per generare la tabella:

    SELECT dbo_Appuntamenti.prestazione1, dbo_Appuntamenti.costoprest1, dbo_prgfatt.nrfattura, dbo_Appuntamenti.fatturato, dbo_Appuntamenti.PRESTAZIONE, dbo_Prestazione.Prestazione, dbo_Prestazione.costo, dbo_ANPAZIENTI.ANCODICE, dbo_ANPAZIENTI.ANCOGNOME, dbo_ANPAZIENTI.ANNOME, dbo_ANPAZIENTI.ANINDIRI, dbo_ANPAZIENTI.AN___CAP, dbo_ANPAZIENTI.ANLOCALI, dbo_ANPAZIENTI.ANPROVIN, dbo_ANPAZIENTI.ANCODFIS, dbo_ANPAZIENTI.ANPARIVA, dbo_ANPAZIENTI.ANCODPAG, [dbo_Appuntamenti]![costoprest] AS imp, 2 AS bollo, [dbo_Appuntamenti]![costoprest]+[bollo] AS tot INTO PAZFATTURA
    FROM dbo_prgfatt INNER JOIN ((dbo_Appuntamenti INNER JOIN dbo_ANPAZIENTI ON dbo_Appuntamenti.PAZIENTE = dbo_ANPAZIENTI.ANCODICE) INNER JOIN dbo_Prestazione ON dbo_Appuntamenti.PRESTAZIONE = dbo_Prestazione.NRPRG) ON dbo_prgfatt.annofatt = dbo_Appuntamenti.idanno
    WHERE (((dbo_Appuntamenti.fatturato)=0) AND ((dbo_ANPAZIENTI.ANCODICE)=[Forms]![Appuntamentiseg]![PAZIENTE]));


    A me serve di controllare il valore dell'imponibile che se è superiore a 77,47 mi genera la tabella con il bollo di 2 euro se è inferiore mi genera il bollo con valore 0.
    ecco perchè pensavo di inserire l'istruzione: bollo2: IIf([imp] >'77,47',"2","0"))
  • Re: CAMPO IN QUERY

    Se sono Numeri... perché metti gli APICI...?
  • Re: CAMPO IN QUERY

    Per la virgola visto che mi dava errore di sintassi
  • Re: CAMPO IN QUERY

    giuseppe21965 ha scritto:


    Per la virgola visto che mi dava errore di sintassi
    Salve,
    a prescindere da quello che avete detto mi pare ci sia una parentesi tonda in più:
    bollo2: IIf([imp] >'77,47',"2","0"))
    e comunque quel maggiore come lo dovrebbe calcolare se 77,47 lo indichi come testo?
    Saluti
    Gianni
  • Re: CAMPO IN QUERY

    Salve a tutti,
    e' molto che non uso il motore di Access, ma secondo me @Alex ha gia' definito la soluzione riguardo la valorizzazione nel dominio corretto... ed infatti ha usato il "." come separatore decimale e non ha ovviamente messo apici che come anche @Gianni55 indica, portano la valorizzazione nel dominio "testo" e non "numerico"...
    forse @Giuseppe non ha riscontrato "la piccola differenza"...
    salutoni omnia
    --
    Andrea
  • Re: CAMPO IN QUERY

    Buonasera a tutti,
    ho risolto e scrivo qui la sintassi corretta del campo inserito in query:

    bollo2: IIf([imp]>77,47;"2";"0")

    Grazie
Devi accedere o registrarti per scrivere nel forum
10 risposte