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.

  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?

  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.

  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?

  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?

  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

  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.

  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