IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP Discussion :

probléme d'enregistrement avec les chexkbox.


Sujet :

ASP

  1. #1
    Membre averti Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Points : 420
    Points
    420
    Par défaut probléme d'enregistrement avec les chexkbox.
    bonjour. Il ne reconnait pas mais checkbox.

    Voici mon code. Mes champs sont déclarés en OUI/NON dans Access.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    <%@ Language="VBScript"%>
    <% option explicit%>
    <%	Dim data1
    	Dim data2
    	Dim data3
    	Dim data4
    	Dim data5
    	Dim data6
     
     
     
     
     
    	data1=replace(Request.Form("data1"),".",",")
    	data2=replace(Request.Form("data2"),".",",")
    	data3=replace(Request.Form("data3"),".",",")
    	data4=Request.Form("data4")
    	data5=Request.Form("data5")
    	data6=Request.Form("data6")
     
     
    	Dim str
    	Dim cnBD
    	Dim strMiseajourData1
     
    	str = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath(".") &"\PR.mdb"
     
    	strMiseajourData1="INSERT INTO  Commande (DateDeSaisie,NumCommande,NomClient,peinture,phosphatation,GraisseManuel) Values ('"&data1&"','"&data2&"','"&data3&"','"&data4&"','"&data5&"','"&data6&"')"
     
    	set cnBD =Server.CreateObject("ADODB.Connection")
    	cnBD.Open str
     
    	cnBD.Execute(strMiseajourData1)
     
    	cnBD.Close
    	set cnBD=nothing
     
    	Response.Redirect"Commande.asp"
    %>
    et le formulaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
    <HTML>
    <HEAD>
    <TITLE>Saisie Commande Tubing</TITLE>
    <META NAME="Generator" CONTENT="TextPad 4.4">
    <META NAME="Author" CONTENT="?">
    <META NAME="Keywords" CONTENT="?">
    <META NAME="Description" CONTENT="?">
    <LINK REL="stylesheet" HREF="Couleur.css" TYPE="text/css">
        <link rel="stylesheet" type="text/css" href="menussjava.css" title="défaut">
    <style type="text/css" media="print">
    .noseeme {visiblity: visible}
    .seeme {display : none}
    </style>
    <style  type="text/css" media="screen">
    .noseeme {display: none}
    .seeme {visibility: visible}
    </style>
    <!-- #include file="menuGeneralSquelette.html" -->
    </HEAD>
    <BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#FF0000" VLINK="#800000" ALINK="#FF00FF" BACKGROUND="?">
     
    <% Dim ladate
    ladate=DateValue(Now)
     
    %>
    <div class="content">
    <H3>Saisie des commandes</H3>
    <form name="test" method="POST"  action="enregistrerCommande.asp">
    <br><br></br></br>
    <TABLE ALIGN="left" BORDER=1 CELLSPACING=0 CELLPADDING=0 WIDTH="45%" BGCOLOR="#3B4E77">
    <tr><td colspan=3><div align=left><span class=blanc><B> Caractéristiques de la commande</B></span></td></tr>
    </Table>
     
    <br></br>
     
    <TABLE ALIGN="left" BORDER=1 CELLSPACING=0 CELLPADDING=0 WIDTH="45%">
    <TR>
    <td><b>Date de Saisie :</b> <div align=center><INPUT type="text" name="data1" SIZE="10" value="<%response.write(ladate)%>"></td>
    <td><b>N° de commande : </b><div align=center><INPUT type="text" name="data2"  SIZE="20"></td>
    <td><b>Nom du Client : </b><div align=center><INPUT type="text" name="data3"  SIZE="20"></td></tr>
    </Table>
     
    <br></br><br></br>
     
    <TABLE ALIGN="left" BORDER=1 CELLSPACING=0 CELLPADDING=0 WIDTH="45%" BGCOLOR="#3B4E77">
    <tr><td colspan=5><div align=left><span class=blanc><B> Spécificités du produit</B></span></td></tr>
    </Table>
     
    <br></br>
     
    <TABLE ALIGN="left" BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH="45%">
    <TR>
    <td><b>Peinture</b> <div align=center><INPUT type="checkbox" name="data4" ></td>
    <td><b>Phosphatation</b> <div align=center><INPUT type="checkbox" name="data5" ></td>
    <td><b>Graissage Manuel</b> <div align=center><INPUT type="checkbox" name="data6" ></td>
    </tr>
    </Table>
     
     
     
    <br></br>
    <br><br></br></br>
     
    <input type="submit" value="Enregistrer"/>
     
    </form>
    </diV>
    </BODY>
    </HTML>
    et l'erreur

    Type d'erreur :
    Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
    [Microsoft][Pilote ODBC Microsoft Access] Type de données incompatible dans l'expression du critère.
    /PR/enregistrerCommande.asp, line 33

    çà vient de la requète SQL.
    ours ours !! Au début elle est froide mais après elle est bonne!

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 151
    Points : 116
    Points
    116
    Par défaut
    tu dois donner comme valeur à tes checkbox dans ton formulaire 1 et 0, car les Champs Oui / Non sont en binaire

  3. #3
    Membre averti Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Points : 420
    Points
    420
    Par défaut
    et tu fais çà comment?
    ours ours !! Au début elle est froide mais après elle est bonne!

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 151
    Points : 116
    Points
    116
    Par défaut
    <INPUT type="checkbox" name="data5" value="1">

    du moins je crois j'ai jamais utilisé ça qu'avec des radios. Et tu vire les ' ' dans ta requête quand tu les récupère. Le problème vient de là en fait dans ton code tu compares des valeurs string à un champ booléen c'est pour ça qu'il te dit type incompatible

  5. #5
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    633
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 633
    Points : 721
    Points
    721
    Par défaut
    tu dois donner comme valeur à tes checkbox dans ton formulaire 1 et 0, car les Champs Oui / Non sont en binaire
    ce n'est pas une obligation
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <INPUT type="checkbox" name="data5" value="1">
    dans le cas ou le checkbox n'est pas coché :
    Request.Form("data5")=""
    donc cela n'evitera pas de traitement avant la création de la requete

  6. #6
    Membre averti Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Points : 420
    Points
    420
    Par défaut
    çà ne change rien.
    ours ours !! Au début elle est froide mais après elle est bonne!

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 151
    Points : 116
    Points
    116
    Par défaut
    je connais pas le fonctionnement des checkbox mais en gros tu dois faire en sorte d'avoir 1 quand c'est coché et - 1 quand ça ne l'est pas dans data 4, 5, 6 et enlever les '' dans ta requête pour ces variables car elle doivent être comparées à des valeurs booléennes et pas à du texte.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 151
    Points : 116
    Points
    116
    Par défaut
    1 et 0, pas -1

  9. #9
    Membre averti Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Points : 420
    Points
    420
    Par défaut
    Comme c'est un checkbox, il le prends pas déjà en compte le 1 et le -1?
    ours ours !! Au début elle est froide mais après elle est bonne!

  10. #10
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    633
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 633
    Points : 721
    Points
    721
    Par défaut
    pour tous tes checkbox :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <INPUT type="checkbox" name="data5" value="1">
    au traitement du formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    If Request.Form("data5")<>1 Then
       maval=0
    Else
      maval=Request.Form("data5")
    End If
    et dans ta requete:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    strMiseajourData1="INSERT INTO  Commande (DateDeSaisie,NumCommande,NomClient,peinture,phosphatation,GraisseManuel) Values (...,"&data5&",...)"

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 151
    Points : 116
    Points
    116
    Par défaut
    j'aurais pas dit mieux

  12. #12
    Membre averti Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Points : 420
    Points
    420
    Par défaut
    ok mais dans ma requète c'est pas maval au lieu de data5?
    ours ours !! Au début elle est froide mais après elle est bonne!

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 151
    Points : 116
    Points
    116
    Par défaut
    si évidemment

  14. #14
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    633
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 633
    Points : 721
    Points
    721
    Par défaut
    faut que je fasse attention à mes CCA !!!

  15. #15
    Membre averti Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Points : 420
    Points
    420
    Par défaut
    çà marche si je coche. si je ne coche pas çà bugge!

    ype d'erreur :
    Erreur d'exécution Microsoft VBScript (0x800A000D)
    Type incompatible: '[string: ""]'
    /PR/enregistrerCommande.asp, line 23
    ours ours !! Au début elle est froide mais après elle est bonne!

  16. #16
    Membre averti Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Points : 420
    Points
    420
    Par défaut
    En fait j'ai mis OUI au lieu de 1 dans mon Value et là çà marche.
    Merci pour votre aide.
    ours ours !! Au début elle est froide mais après elle est bonne!

  17. #17
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    633
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 633
    Points : 721
    Points
    721
    Par défaut
    essaies ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strMiseajourData1="INSERT INTO  Commande (DateDeSaisie,NumCommande,NomClient,peinture,phosphatation,GraisseManuel) Values (...,"&Cbool(data5)&",...)"

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBS]Problème de chemin avec les " " (espace)
    Par pierre1256 dans le forum VBScript
    Réponses: 3
    Dernier message: 16/02/2006, 18h53
  2. problème de pointeur avec les listes chainees
    Par innosang dans le forum C
    Réponses: 9
    Dernier message: 30/12/2005, 15h46
  3. Problèmes de pointeurs avec les arbres
    Par thierry57 dans le forum C
    Réponses: 17
    Dernier message: 22/12/2005, 23h35
  4. Réponses: 6
    Dernier message: 19/05/2005, 11h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo