Problema con UPDATE e WHERE

di il
7 risposte

Problema con UPDATE e WHERE

Ciao ragazzi, non riesco a risolvere.... UPDATE senza WHERE funziona ma aggiorna tutti i campi.
Come aggiorno solo i campi WHERE CODICE = VCODICE??????

Grazie mille a quanti prenderanno parte.....

Dim VSCONTO As Integer
Dim VCODICE As String
Dim ID As Integer
Dim VDATA As String
Set Db = CurrentDb
VID.SetFocus
ID = VID.Value
VARDATA.SetFocus
VDATA = VARDATA.Value


CSCONTO.SetFocus
VSCONTO = CSCONTO.Value

VCODICE = ID & VDATA


-----------------------------non funziona---------------------------------------
Db.Execute "UPDATE ESAMICLIENTI SET SCONTO = " & VSCONTO & " WHERE CODICE = " & VCODICE
----------------------------------------------------------------------------------------------------------

--------------senza il WHERE funziona ma aggiorna tutti i campi----------------------
Db.Execute "UPDATE ESAMICLIENTI SET SCONTO = " & VSCONTO

7 Risposte

  • Re: Problema con UPDATE e WHERE

    -----------------------------non funziona---------------------------------------
    Db.Execute "UPDATE ESAMICLIENTI SET SCONTO = " & VSCONTO & " WHERE CODICE = " & VCODICE
    ----------------------------------------------------------------------------------------------------------
    A naso, il motivo potrebbe essere che VCODICE essendo una stringa voglia i doppi apici o singoli apici ( access non lo conosco bene ), praticamente dovresti avere una cosa del tipo :

    UPDATE ESAMICLIENTI SET SCONTO = 5 WHERE CODICE = "001" ( doppi apici )
    oppure
    UPDATE ESAMICLIENTI SET SCONTO = 5 WHERE CODICE = '001' ( singoli apici )
  • Re: Problema con UPDATE e WHERE

    Doctorj (il re di Philly?) ha visto giusto.
    Vorrei aggiungere che il codice fa cose a prima vista inutili, come spostare il focus su un controllo per poterne memorizzare il valore e l'uso di variabili in cui memorizzare appunto questi valori.
    Poi, in fase di sviluppo è sempre utile prima costruire la stringa della sql, vederla nella finestra immediata o nella finestra delle variabili locali e poi eseguirla con il medoto Execute (rigorosamente all'interno di un Transaction)
  • Re: Problema con UPDATE e WHERE

    Non solo... se CSconto fosse decimale... potrebbe esserci un conflitto del separatore dei decimali... in quanto l'istruzione Bypassa il convertitore dei Regional Settings e VIRGOLA/PUNTO non sono compatibili motivo per cui di solito si converte con Str(...) o con replace...
  • Re: Problema con UPDATE e WHERE

    Doctorj (il re di Philly?) ha visto giusto.
    Mi dispiace ma ignoro chi sia Philly
  • Re: Problema con UPDATE e WHERE

    Doctorj ha scritto:


    Mi dispiace ma ignoro chi sia Philly
    Si tratta di un OT. Come... vuoi dirmi che il tuo nick non è in omaggio a Julius Erving, Doctor J, che ha segnato la storia ABA, NBA e dei Philadelphia 76ers? Se non lo è ... niente di grave, eh!
  • Re: Problema con UPDATE e WHERE

    Come... vuoi dirmi che il tuo nick non è in omaggio a Julius Erving, Doctor J, che ha segnato la storia ABA, NBA e dei Philadelphia 76ers? Se non lo è ... niente di grave, eh!
    Ci hai azzeccato in pieno, ma non ero a conoscenza del Philly.

    Comunque chiudiamo questo OT altrimenti Toky ci cazzia alla grande.
  • Re: Problema con UPDATE e WHERE

    Doctorj ha scritto:


    ...Ci hai azzeccato in pieno, ma non ero a conoscenza del Philly.
    Philly dovrebbe essere come negli USA chiamano Philadelphia, non Phila come potrebbe sembrare (almeno la vendevano così su una rivista NBA). Toky sa benissimo cosa fare, ora che l'OT è veramente chiuso (che se non ho l'ultima parola mi sento male).
Devi accedere o registrarti per scrivere nel forum
7 risposte