Pagina 1 di 8 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 75
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    359

    Insert in campo number valore

    Buongiorno, è da ieri sera che combatto con questo problema e mi sono arreso. In pratica questo è il problema: Io ho un db access con una tabella che contiene alcuni campi tra cui il campo maglia di tipo testo; ho una pagina asp dove c'è la form che contiene i valori e che li passa a sua volta ad altra pagina asp che esegue l'insert in tabella. Se le cose le lascio così tutto funziona benissimo, ma se io trasformo il campo maglia nella tabella access da campo testo a campo numero fisso con 0 decimali, l'errore che mi appare è questo : Tipi di dati non corrispondenti nell'espressione criterio.
    In pratica succede che se lascio il campo in tabella di tipo testo anche se non assegno il numero alla maglia tutto va a buon fine, mentre se trasformo il campo maglia in tabella in tipo numero , se non dò un valore alla maglia esce l'errore. Come ne esco?????

    Grazie a tutti
    Di seguito vi posto il codice della pagina dove c'è la form :
    codice:
    
    
    codice:
    <form action="convocazioni3.asp" method="post" name="form1">
    <tr>
    <% 
     i = 0
     rsAnag.movefirst
     x = rsAnag.recordcount
     do while not rsAnag.eof
    For i = 1 to x%>  
    <td></td>
    <td><input type="text" name="Maglia" size="1" maxlength="2" class="casellaMaglia" onKeyUp="controllaMaglia()"></td>
    </tr>
    <input type="hidden" name="serie" value="<%=x%>" />
    <%rsAnag.movenext
    x = x - 1
    next
    loop%>
    <tr>
    <td colspan="6" align="right">
    <input type="submit" name="Insert" value="CARICA" title="CARICA" class="bottonicarica">
    </td>
    </form>
    </tr>


    Qui di seguito invece il codice della pagina asp che esegue l'insert in tabella :
    codice:
    
    
    codice:
    <%	if request.Form("Maglia") <> "" or request.Form("Maglia") <> " " then
    		Maglia = request.Form("Maglia")
    	else
    		Maglia = " "
    	end if
    	DivisioneMaglia = split(Maglia,",")
    	Numero = left(request.Form("serie"),instr(request.Form("serie"),",")-1)
    	sql = "SELECT * FROM [T_Convocazioni"&session("StagioneAttuale")&"]"
    	Set RS=Server.CreateObject("ADODB.Recordset")
    	RS.Open sql,strConn,1,3	
    				
    	 for i = 0 to Numero - 1	
    	Convocato = "0"
    	sql0 = "INSERT INTO T_Convocazioni"&session("StagioneAttuale")&" ( Convocato, Identificatore, Nome, Cognome, Categoria, Maglia) " &_
    	"VALUES ( '" & trim(Convocato) & "','" & Iden(i) & "','" & trim(DivisioneNome(i)) & "','" & trim(DivisioneCognome(i)) & "','" & Session("categoria") & "','" & trim(DivisioneMaglia(i)) & "')"
    	cn1.Execute sql0
    	Numero = Numero - 1	
    	next 
    	RS.Close
    	Set RS=Nothing		
    %>

    Chi Crede in Me non Perirà MAI

  2. #2
    la insert dei numeri non va tra apici, lo sai!

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    359
    quindi se tolgo le " prima e dopo dici che funge?
    Domattina provo a ti faccio sapere, sarebbe bellissimo, ma mi sà che avevo già provato.
    Cmq grazie
    Chi Crede in Me non Perirà MAI

  4. #4

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    359
    Si hai ragione avevo sbagliato a scrivere, comunque grazie ha funzionato eppure mi sembrava di aver provato.
    In che stato che sono, faccio PIANGEREEEE

    Grazie
    Chi Crede in Me non Perirà MAI

  6. #6

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    359
    Che fai mi leggi nel pensiero, stò giusto bevendo una weiss
    Chi Crede in Me non Perirà MAI

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    359
    Optime perche se nel campo che gli passo dalla pagina1 alla pagina2 non inserisco niente, seppur avendo nella pagina2 questo codice:
    codice:
    	if request.Form("Maglia") <> "" or request.Form("Maglia") <> " " then
    		maglia = request.Form("Maglia")
    	else
    		maglia = 0
    	end if
    Mi esce questo errore: Incompatibilità tra tipi.
    Questo è il codice della pagina1
    codice:
    
    
    codice:
    <td><input type="text" name="Maglia" size="1" maxlength="2" class="casellaMaglia" onKeyUp="controllaMaglia()" value="<%=rs.fields.item("Maglia").value%>"></td>

    Ovvio invio la form alla pagina2, il campo nella tabella del db è formato numero
    Aiutami ti prego
    Chi Crede in Me non Perirà MAI

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    359
    La richiesta di aiuto era dedicata a tutti non solo a Optime.
    Nessuno h una soluzione al mio problema??
    grazie
    Chi Crede in Me non Perirà MAI

  10. #10
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,657
    stai lavorando coi numeri.
    se accetti che passi un valore diverso da un numero ovvio che ti dia errore "Incompatibilità tra tipi".

    sarebbe meglio una cosa del genere:
    codice:
        if request.Form("Maglia") > 0 and isNumeric(request.Form("Maglia")) then
            maglia = request.Form("Maglia")
        else
            maglia = 0
        end if

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.