Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 21
  1. #11
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,657
    controlla che il campo accetti null
    in un campo numerico non lo farei mai ma imposterei il valore a 0

    parliamo di access, vero?

    edit:
    se ti prende la prima soluzione che ho scritto mi fa pensare che il campo sia di tipo testo
    Ultima modifica di Vincent.Zeno; 22-02-2018 a 14:00

  2. #12
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Quote Originariamente inviata da Vincent.Zeno Visualizza il messaggio
    @br1
    quindi dici che ci vuole scrivere proprio "null"
    errore mio: non avevo visto l'istruzione successiva e sinceramente non mi apettavo che per scrivere un numero in un campo numerico qualcuno usasse gli apici
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #13
    Utente di HTML.it L'avatar di LupinI
    Registrato dal
    Jul 2008
    Messaggi
    52
    Il DB è Access.
    Il campo è numerico (Intero lungo) e può accettare il valore Null.
    La prima soluzione che mi hai suggerito funziona; nella procedura VB6 assegno Null senza stratagemmi particolari (De.rsutenti!Bolletta_mail = Null).

    Oggi è una scelta quasi obbligata perchè quando definii il campo come numerico (qualche anno fa) senza specificare un valore predefinito, ci ho trovato Null. Di conseguenza ho strutturato l'app VB6 su 2 valori: Null per FALSO e 1 per VERO e siccome i db sono circa 400 e le procedure VB sono una ventina, mi secca andarle a modificare magari con ZERO e UNO
    In effetti per l'utilizzo attuale di questo campo avrei potuto anche scegliere un campo di tipo S/N ma ho preferito il numerico in quanto il campo di tipo S/N mi limita ad un massimo di 2 scelte.

    Resta il fatto che la seconda soluzione suggerita da optime da errore.

    Il problema l'ho risolto ma non vi nascondo che mi incuriosisce capire perch� la seconda non va



    Quote Originariamente inviata da Vincent.Zeno Visualizza il messaggio
    controlla che il campo accetti null
    in un campo numerico non lo farei mai ma imposterei il valore a 0

    parliamo di access, vero?

    edit:
    se ti prende la prima soluzione che ho scritto mi fa pensare che il campo sia di tipo testo

  4. #14
    Quote Originariamente inviata da LupinI Visualizza il messaggio
    Resta il fatto che la seconda soluzione suggerita da optime da errore.
    per identificare l'errore sarebbe d'aiuto conoscere l'errore (Lapalisse sarebbe contento )

  5. #15
    Utente di HTML.it L'avatar di LupinI
    Registrato dal
    Jul 2008
    Messaggi
    52
    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
    [Microsoft][Driver ODBC Microsoft Access] Errore di sintassi nell'istruzione UPDATE.
    /updUtenza.asp, riga 176

    codice:
    If Len(Trim(Replace(Request.Form("Mailadress"), "'", "''"))) > 0 Then
        Bolletta_mail = 1
    Else
        Bolletta_mail = Null
    End If
    
    sqlUpdUtente = sqlUpdUtente & "Bolletta_mail= "& Bolletta_mail &", "


    L'errore si presenta quando Boletta_mail = Null ossia quando il campo del form è vuoto

    Se Bolletta_mail = 1 tutto OK


    Ultima modifica di LupinI; 23-02-2018 a 11:50

  6. #16
    impariamo a fare un po' di debug

    subito prima di eseguire la query inserisci

    Response.Write "MaGGica sql...: " & sqlUpdUtente

    Così vediamo cosa esegui effettivamente

  7. #17
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,657
    Quote Originariamente inviata da LupinI Visualizza il messaggio
    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
    [Microsoft][Driver ODBC Microsoft Access] Errore di sintassi nell'istruzione UPDATE.
    /updUtenza.asp, riga 176

    codice:
    If Len(Trim(Replace(Request.Form("Mailadress"), "'", "''"))) > 0 Then
        Bolletta_mail = 1
    Else
        Bolletta_mail = Null
    End If
    
    sqlUpdUtente = sqlUpdUtente & "Bolletta_mail= "& Bolletta_mail &", "
    L'errore si presenta quando Boletta_mail = Null ossia quando il campo del form è vuoto
    Se Bolletta_mail = 1 tutto OK
    sembra che prenda null come variabile e non come valore. prova così:
    codice:
    If Len(Trim(Replace(Request.Form("Mailadress"), "'", "''"))) > 0 Then
        Bolletta_mail = 1
    Else
        Bolletta_mail = "Null"
    End If
    
    sqlUpdUtente = sqlUpdUtente & "Bolletta_mail= "& Bolletta_mail &", "

  8. #18
    cacchio vince', volevo che ci arrivasse da solo!

  9. #19
    Utente di HTML.it L'avatar di LupinI
    Registrato dal
    Jul 2008
    Messaggi
    52
    Funziona, ed ho capito anche l'errore di sintassi, E' un concatenamento cumulativo e se mancano gli apici, il risultato finale del concatenamento da origine ad una query con sintassi errata.


    Perdonatemi se potete ma ho dovuto mettere mano a delle procedure ASP realizzate da altro programmatore.
    Personalmente mi occupo solo della procedura VB6 che lavora in rete locale.

    Grazie di tutto

  10. #20
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,657
    Quote Originariamente inviata da LupinI Visualizza il messaggio
    Funziona, ed ho capito anche l'errore di sintassi, E' un concatenamento cumulativo e se mancano gli apici, il risultato finale del concatenamento da origine ad una query con sintassi errata.
    non era un problema di concatenamento, ma del tipo di dati che vanno trattati diversamente se numero o testo. nel caso specifico è necessario scrivere il valore "null" altrimenti la query risulta mancate di un valore. e il tipo dati nella query dev'essere numerico, e non testo, come lo avevi impostato all'inizio.

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.