Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922

    problema inserimento valuta

    Ciao a tutti. Mi sono appena registrato e volevo chiedervi un aiuto. Il mio problema è il seguente: ho un form nel quale, tra gli altri campi, l'utente deve inserire un prezzo. Il campo su Access è impostato come valuta con due cifre decimali. Non voglio costringere l'utente a inserire il punto come separatore e vorrei fare un replace della virgola con il punto prima che venga eseguito l'inserimento nel database.
    Nella pagina di modifica ho risolto il problema con <input type="text" name="Prezzo" value="<%=replace (Recordset1.Fields.Item("Prezzo").Value,",",".")%> " size="32"> ma nell'inserimento con il codice che genera dw nn riesco a capire dove fare la sostituzione.
    Grazie in anticipo.

  2. #2
    La sostituzione la devi fare appena prima di inserire il dato nel DB.
    Prima di eseguire la tua Insert o Update, oppure prima di assegnare il valore al campo del DB.

  3. #3
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Sì.Quello lo so.Il problema mio è che devo interagire con il codice generato da dreamweaver.Ho fatto una semplice pagina di prova in asp:

    prezzo = request.Form("prezzo")
    if instr(prezzo,",") > 0 then
    prezzo = replace(prezzo,",",".")
    end if.

    Mando a video e ottengo la conversione come desidero in maniera tale che dal form poi access accetti il formato.

    Quello che non riesco a capire è come applicare questa sintassi al
    codice che mi da dw.

  4. #4
    Scusa ma in DW non hai la possibilità di editare il codice a manina?
    Apri il codice e mettilo anche all'inizio della pagina nella parte in cui memorizzi i dati. L'importate è farlo prima di memorizzare i dati.

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    E' da due giorni che cerco di editarlo con la manina.
    Hai presente il casino di codice di dreamweaver?
    Io ho provato tra i vari tentativi così
    (ovviamente prima che avvenga l'insert):
    <%
    virgola = ","
    if (instr(MM_fieldsStr("Prezzo|value"),virgola)) > 0 then
    MM_fieldsStr("Prezzo|value") = replace(MM_fieldsStr("Prezzo|value"),",",".")
    end if
    %>
    Te l'ho detto, nella pagina di modifica l'ho risolto così
    <input type="text" (ecc.ecc.) value="<%=replace (Recordset1.Fields.Item("Prezzo").Value,",",".")%>
    ma nella pagina di insert non riesco a capire a quale voce associare le mie due righe di codice.

  6. #6
    Prova a controllare il pezzo di codice dove DW richiama il DB ed eseguo una operazione di INSERT o di Addnew

    Nel caso assegna il valore modificato ad una variabile e poi usa quella al posto della variabile di inserimento.

    codice:
    <% 
    virgola = "," 
    if (instr(MM_fieldsStr("Prezzo|value"),virgola)) > 0 then 
    valorePrezzo = replace(MM_fieldsStr("Prezzo|value"),",",".") 
    end if 
    %>

  7. #7
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    La query l'ho individuata ma non sono neanche sicuro che la sintassi sia quella che ho scritto, cioè MM_fieldStr ecc.ecc.
    E' proprio quello il mio problema. Sto guardando da due giorni tutti i
    forum, i siti inglesi, ovunque insomma ma nn trovo nessun esempio
    che faccia al caso mio

    <%
    ' *** Insert Record: set variables

    If (CStr(Request("MM_insert")) = "form2") Then



    virgola = ","
    if (instr(MM_fieldsStr("Prezzo|value"),virgola)) > 0 then
    MM_fieldsStr("Prezzo|value") = replace(MM_fieldsStr ("Prezzo|value"),",",".")
    end if



    MM_editConnection = MM_gioielleriacossu_STRING
    MM_editTable = "Gioielli"
    MM_editRedirectUrl = "pannello.asp"
    MM_fieldsStr = "idGioiello|value|Categoria|value|NomeGioiello|val ue|Prezzo|value|Prezzo_offerta|value|Vetrina|value |Novita|value|Descrizione|value"
    MM_columnsStr = "idGioiello|',none,''|Categoria|none,none,NULL|Nom eGioiello|',none,''|Prezzo|none,none,NULL|Prezzo_o fferta|none,none,NULL|Vetrina|',none,''|Novita|',n one,''|Descrizione|',none,''"

    ' create the MM_fields and MM_columns arrays
    MM_fields = Split(MM_fieldsStr, "|")
    MM_columns = Split(MM_columnsStr, "|")

    ' set the form values
    For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
    MM_fields(MM_i+1) = CStr(Request.Form(MM_fields(MM_i)))
    Next

    ' append the query string to the redirect URL
    If (MM_editRedirectUrl <> "" And Request.QueryString <> "") Then
    If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0 And Request.QueryString <> "") Then
    MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString
    Else
    MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString
    End If
    End If

    End If
    %>
    <%
    ' *** Insert Record: construct a sql insert statement and execute it

    Dim MM_tableValues
    Dim MM_dbValues

    If (CStr(Request("MM_insert")) <> "") Then

    ' create the sql insert statement
    MM_tableValues = ""
    MM_dbValues = ""
    For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
    MM_formVal = MM_fields(MM_i+1)
    MM_typeArray = Split(MM_columns(MM_i+1),",")
    MM_delim = MM_typeArray(0)
    If (MM_delim = "none") Then MM_delim = ""
    MM_altVal = MM_typeArray(1)
    If (MM_altVal = "none") Then MM_altVal = ""
    MM_emptyVal = MM_typeArray(2)
    If (MM_emptyVal = "none") Then MM_emptyVal = ""
    If (MM_formVal = "") Then
    MM_formVal = MM_emptyVal
    Else
    If (MM_altVal <> "") Then
    MM_formVal = MM_altVal
    ElseIf (MM_delim = "'") Then ' escape quotes
    MM_formVal = "'" & Replace(MM_formVal,"'","''") & "'"
    Else
    MM_formVal = MM_delim + MM_formVal + MM_delim
    End If
    End If
    If (MM_i <> LBound(MM_fields)) Then
    MM_tableValues = MM_tableValues & ","
    MM_dbValues = MM_dbValues & ","
    End If
    MM_tableValues = MM_tableValues & MM_columns(MM_i)
    MM_dbValues = MM_dbValues & MM_formVal
    Next
    MM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ") values (" & MM_dbValues & ")"
    If (Not MM_abortEdit) Then
    ' execute the insert
    Set MM_editCmd = Server.CreateObject("ADODB.Command")
    MM_editCmd.ActiveConnection = MM_editConnection
    MM_editCmd.CommandText = MM_editQuery
    MM_editCmd.Execute
    MM_editCmd.ActiveConnection.Close

    If (MM_editRedirectUrl <> "") Then
    Response.Redirect(MM_editRedirectUrl)
    End If
    End If

    End If
    %>

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Senti deivnet,è tutto il giorno che continuo a sbatterci la testa.
    Credo di aver capito che il cuore del codice siano le due righe
    MM_fields = Split(MM_fieldsStr, "|")
    MM_columns = Split(MM_columnsStr, "|")
    nelle quali in base al separatore | viene separata la stringa nei vari campi che andranno poi inseriti nel database.
    Però non riesco a eseguire la sintassi che faccia al caso mio.
    Nessuno in grado di darmi un suggerimento?

  9. #9
    Originariamente inviato da nicola75ss
    Senti deivnet,è tutto il giorno che continuo a sbatterci la testa.
    Credo di aver capito che il cuore del codice siano le due righe
    MM_fields = Split(MM_fieldsStr, "|")
    MM_columns = Split(MM_columnsStr, "|")
    nelle quali in base al separatore | viene separata la stringa nei vari campi che andranno poi inseriti nel database.
    Però non riesco a eseguire la sintassi che faccia al caso mio.
    Nessuno in grado di darmi un suggerimento?
    Anche a me è capitato e sto cercando dappertutto il soluzione. hai due tabelle vero? forse dovresti fare due form separatamente...
    Appena risolvo e ti farò sapere
    In fondo un pò hanno ragione che DW fanno un pò casino. Ma io uso spesso a mano dopo aver iniziato automaticamente l'insert, update, ecc. e poi si modifica a mano che è meglio perchè in DW non fa tutto quello che voglio. si dice che NON SI PUO' FARE TUTTO

    Gabry
    ..:: GSFLASH ::..
    HTTP://WWW.GSFLASH.IT
    MCTS - ACP - OCP - ECDL
    Ubuntu 7.10/OpenSuse 10.3/Vista Premium/MacOSX Leopard
    My authentic japanese name is 薗田Sonoda (garden field) 大河 Taiga (big river)

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.