controlla la struttura del database, in particolare se c'è qualcosa come "consenti lunghezza zero" impostato su no.

<hr color="#31659C" noshade size=1>
Daniele Bochicchio
<b>Content manager di http://www.aspitalia.com</b>

ASP 3 per esempi il mio libro

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
121 messaggi dal 12 luglio 2001
E' una cosa che ho già fatto.
Comunque, il problema è solo su productprice perchè è l'unico campo che sono obbligato a riempire. Essendo un formato "VALUTA" non ha bisogno del settaggio che mi consigli. Anche perchè non c'è.


1.818 messaggi dal 21 giugno 2001
Contributi
Dunque...
ho ceato una query di update su access, contenente un campo valuta: Access tratta il campo valuta come fosse un numero quindi, tu lo devi inserire come se fosse un numero, senza usare fixquotes e senza inserire anche il segno della valuta, solo il numero.

Cia Cia
hyppos

www.teatrolabaracca.com

<code>
|--------------------------------------|
|<font color=white><b>in giro torte sol ciclos et rotor igni</b></font id=white>|
|--------------------------------------|
</code>

hyppos
<code> in giro torte sol ciclos et rotor igni</code>
121 messaggi dal 12 luglio 2001
sqlstring = "insert into products " &_
"( product_name, product_price, product_picture, " &_
"product_category, product_briefdesc, product_fulldesc, " &_
"product_status ) values ( " &_
" '" & fixquotes(productname) & "', " &_
productprice & ", " &_
" '" & fixquotes(productpicture) & "', " &_
" '" & fixquotes(productcategory) & "', " &_
" '" & fixquotes(productbriefdesc) & "', " &_
" '" & fixquotes(productfulldesc) & "', " &_
productstatus & " )"
con.execute sqlstring

Questo è lo script dei fixquotes e come puoi vedere PRODUSTPRICE non ce l'ha.

if productprice = " " then
productprice = 0

In questa maniera invece gli ho detto che se non inserisco niente mi deve aggiungere 0.
Ovviamente questo script si trova prima di quello dei fixquotes.
A me sembra tutto a posto.No?

635 messaggi dal 06 settembre 2002
Ciao,
da una lettura sommaria dei vari messaggi, c'è qualcosa che non quadra:

tu assegni alle variabili vuote un valore predefinito ?????

ma quando stampi la query trovi solo '' cioè 2 volte il carattere '

sicuro che la function fixquotes è corretta?
puoi postare il codice di tale funzione?


altra cosa, lo so che hai già controllato le impostazioni dei campi del database access tuttavia..:
- il campo valuta puoi impostargli un valore di default a o
- il campo valuta può essere settato a NO sulla specifica RICHIESTO

Per tutti i campi non necessari (che possono essere lasciati vuoti), setta la voce RICHIESTO=NO e CONSENTI LUNGHEZZA UGUALE A ZERO=SI

Ciao

 JD

OJD
121 messaggi dal 12 luglio 2001
Ho controllato il DB e penso che sia tutto corretto.
Per quanto riguarda le fixquotes le ho usate per consentire l'immissione delle virgolette singole. Il codice è questo:
function fixquotes( thestring )
fixquotes=replace( thestring, "'", "''" )
end function

Altra domanda, nel campo valuta ho lasciato il settaggio "posizioni decimali" a 2. Pero' penso vada bene.

635 messaggi dal 06 settembre 2002
Ciao,

prova a modificare la funzione in questo modo

function fixquotes( thestring )
if thestring&lt;&gt;"" then
fixquotes=replace( thestring, "'", "''" )
fixquotes=replace(fixquotes, "*","[*]")
fixquotes=replace(fixquotes, "%","[%]")
fixquotes=replace(fixquotes, "%","[%]")
fixquotes=replace(fixquotes, "=","[=]")
fixquotes=replace(fixquotes, "-","[-]")
fixquotes=replace(fixquotes, "?","[ ? ]")
fixquotes=Server.HTMLEncode(fixquotes)
end if
end function

PS il punto interrogativo deve essere messo all'interno delle parentesi quadre senza spazi (ne prima ne dopo)

in questo modo eviti di riempire i campi vuoti....

Per quanto concerne la formattazione del campo valuta, una volta prelevato dal form, devi formattarlo nuovamente...

FormatCurrency( parametro_uno, parametro_due, parametro_tre, parametro_quattro, parametro_cinque )

parametro_uno contiene il valore da formattare.
parametro_due contiene il numero di cifre che vogliamo seguano la virgola decimale.
parametro_tre serve per dire al sistema se includere gli zeri iniziali nei valori minori di uno.
parametro_quattro serve per dire se includere i valori negativi fra parentesi oppure no .
parametro_cinque permette di usare il delimitatore specificato nelle impostazioni del nostro PC per poter riunire le cifre.
I parametri tre, quattro, cinque possono assumere tre stati: -2, che significa utilizza il valore predefinito del sistema, -1 significa abilita l?opzione, mentre 0 disabilita l?opzione.

es.
PREZZO=TRIM(Request.Form(PREZZO))
PREZZO=FormatCurrency(PREZZO, 2, -1, 0, -1)

In questo modo il valore 1254,151 viene trasformato in 1.254,16

Spero di essere stato di aiuto
ciao





 JD

OJD

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.