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

    [SQL] campi di tipo Valuta x DB ACCESS

    Ho una tabela con il campo "prezzo_vendita" di tipo "Valuta".

    La seguente query non funziona:
    codice:
    SELECT * FROM vista_Proposte WHERE 1=1 
    AND Prezzo_Vendita >= € 5.000,50
    e nemmeno questa:
    codice:
    SELECT * FROM vista_Proposte WHERE 1=1 
    AND Prezzo_Vendita >= 5000,50
    Esiste una sintassi specifica per confrontare campi di tipo valuta con virgola?

    Grazie
    MM

  2. #2
    Utente di HTML.it L'avatar di Mods
    Registrato dal
    Jun 2004
    Messaggi
    302
    sostituisci la virgola con il punto e funzionerà il tutto
    Ci sono 10 tipi di persone al mondo: quelli che conoscono il codice binario, e quelli che non lo conoscono!

  3. #3
    Ahh...
    Perchè 5,2 e 5.2 sono equivalenti x Access?
    Quindi il valore '1.000,50' deve trasformarsi in '1000.50 'dico bene?

    Il valore € 5.000,50 viene preso da una TextBox dove era stato precedentemente applicato sull'evento Validate la seguente funzione

    codice:
    Public Function ConvertiInValuta(str As String) As String
    Dim Prezzo As Currency
        If Trim(str) = "" Then Exit Function
        Prezzo = str
        ConvertiInValuta = FormatCurrency(Prezzo, 2)
    End Function
    Che funzione posso utilizzare ora per formattare di nuovo il vaore nel modo corretto?

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304

    Re: [SQL] campi di tipo Valuta x DB ACCESS

    Originariamente inviato da Marvellous
    codice:
    SELECT * FROM vista_Proposte WHERE 1=1 
    AND Prezzo_Vendita >= € 5.000,50
    Curiosità... a che ti serve mettere una condizione sempre vera come 1 = 1?


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    La query viene creata dinamicamente per cui sull'evento LOAD della FORM gli passo una condizione sempre vera per non farla andare in errore dopodichè mi basterà concatenare gli END in base ai campi compilati e fare un Refresch.

    MM

  6. #6
    Utente di HTML.it L'avatar di Mods
    Registrato dal
    Jun 2004
    Messaggi
    302
    Originariamente inviato da Marvellous
    Ahh...
    Perchè 5,2 e 5.2 sono equivalenti x Access?
    Quindi il valore '1.000,50' deve trasformarsi in '1000.50 'dico bene?

    Il valore € 5.000,50 viene preso da una TextBox dove era stato precedentemente applicato sull'evento Validate la seguente funzione

    codice:
    Public Function ConvertiInValuta(str As String) As String
    Dim Prezzo As Currency
        If Trim(str) = "" Then Exit Function
        Prezzo = str
        ConvertiInValuta = FormatCurrency(Prezzo, 2)
    End Function
    Che funzione posso utilizzare ora per formattare di nuovo il vaore nel modo corretto?
    Visual Basic a livello GUI si adatta automaticamente alle impostazioni di sistema. A livello visuale vedi la ",". Al contrario quando vai ad operare in SQL, convertendolo in numero VBA ci mette il ".". Basta quindi ke in SQL converti la valuta in numero con un CDBL() anke perché le valute in Access vengono gestiti come numeri.
    Ci sono 10 tipi di persone al mondo: quelli che conoscono il codice binario, e quelli che non lo conoscono!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.