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

Développement Web avec .NET Discussion :

Récupérer la valeur d'une liste de checkbox


Sujet :

Développement Web avec .NET

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 14
    Par défaut Récupérer la valeur d'une liste de checkbox
    Bonjour a vous,

    voila je fais apparaître une liste d'enregistrement avec des cases a cocher sur chacune des lignes et les utilisateurs sélectionnent différentes lignes.

    Mon problème c'est que je n'arrive pas à mettre à jours ma base Access en fonction des cases qui ont étés sélectionnés.

    Pourriez vous m'aider ?

    Merci
    Onha

    mon code qui affiche les lignes
    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
     
    <form method="post" action="invsave.asp">
    <table align="center" class="auto-style5">
    	<tr>
    		<td class="auto-style4">Référence</td>
    		<td class="auto-style4">Désignation</td>
    		<td class="auto-style4">Qté</td>
    		<td class="auto-style4">Inventaire</td>
    	</tr>
    	    <%'----début de la boucle-----------%>
        <%rs.MoveFirst
    	do while not rs.eof%>
    	<tr>
    		<td class="auto-style4"><%=rs("reference")%></td>
    		<td class="auto-style4"><%=rs("designation")%></td>
    		<td class="auto-style4"><%=rs("qte")%></td>
    		<td class="auto-style4"><input name="choisir" type="checkbox" value='<%=rs("numligne")%>' /></td>
    	</tr>
    		<%rs.MoveNext
    	loop%>
     
    </table>
    <input name="Submit1" type="submit" value="submit" />
    </form>
    Mon code pour l'update

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Checkbox1=Request.form("choisir")
    
    Ligne 24 : RequeteSQL = "Update PRGTIE Set Inventaire='Oui' where numligne="&Checkbox1&""

    voici le message d'erreur
    Microsoft OLE DB Provider for ODBC Drivers erreur '80040e14'

    [Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe (virgule) dans l'expression 'numligne=6746, 6747'.

    /inventaire_pr/invsave.asp, ligne 24

  2. #2
    Modérateur
    Avatar de roro06
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    1 480
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 480
    Par défaut
    Bonjour

    Essaie avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    where numligne in (" & Checkbox1 & ")"


    N'oubliez pas de consulter les FAQ ASP et les cours et tutoriels ASP

    " La vie c'est quelque chose de très fort et de très beau.... La vie appartient a tous les vivants. It's both a dream and a feeling. C'est être ce que nous ne sommes pas sans le rester. La vie c'est mourir aussi....Et mourir c'est vraiment strong...c'est rester en vie au delà de la mort...Tous ceux qui sont morts n'ignorent pas de le savoir."
    (J.C. VanDamme, humoriste et philosophe belge . A moins que ce ne soit l'inverse ...)

    Chuck Norris comprend JC Van Damme.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 14
    Par défaut
    Bonjour

    désoler de te répondre aussi tardivement. Effectivement ce fonctionne mieux ainsi.

    J'ai un autre souci sur ces lignes. J'ai rajouté une colonne Comptage

    Je démarre d'un formulaire qui fait apparaître plusieurs ligne

    ex

    - ref - designation - qte theo - Comptage - Inventaire -
    - 1 - exemple1 - 1 - 1 - Checkbox -
    - 9 - exemple9 - 2 - 2 - Checkbox -

    je te mets si dessous les lignes
    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
     
    <form method="post" action="invsave.asp">
    <table align="center" class="auto-style5">
    	<tr>
    		<td class="auto-style4">Référence</td>
    		<td class="auto-style4">Désignation</td>
    		<td class="auto-style4">Qté</td>
    		<td class="auto-style4">Comptage</td>
    		<td class="auto-style4">Inventaire</td>
    		<td class="auto-style4">Num Ligne</td>
    	</tr>
    	    <%'----début de la boucle-----------%>
        <%rs.MoveFirst
    	do while not rs.eof%>
    	<tr>	
    		<td class="auto-style4"><%=rs("reference")%></td>
    		<td class="auto-style4"><%=rs("designation")%></td>
    		<td class="auto-style4"><%=rs("qte")%></td>
    		<td class="auto-style12"><input name="qtecpte" type="text" value='<%=rs("qte")%>' class="auto-style12" style="width: 101px" /></td>
    		<td class="auto-style4"><input name="choisir" type="checkbox" value='<%=rs("numligne")%>' /></td>
    		<td class="auto-style4"><%=rs("numligne")%></td>
    	</tr>
    		<%rs.MoveNext
    	loop%>
     
    </table>
    	<div class="auto-style6">
    	<input name="etb" type="hidden" value='<%=request("etb")%>'/>
    	<input name="dossier" type="hidden" value='<%=request("dossier")%>'/>
    	<input name="dateinventaire" type="hidden" value='<%=date%>'/>
    	<input name="Submit1" type="submit" value="Envoyer" class="auto-style9" /></div></form>
    mon soucis c'est lorsque je récupéré la validation de mon formulaire il affecte la qte des 2 lignes au meme enregistrement. Du cout si je coche la première ligne il va enregistrer dans la quantité non pas 1 mais 1,2

    voici le script de mise à jours de la base de donnée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    dossier=Request.form("dossier")
    fqte_cpte=Request.form("qtecpte")
    dateinventaire=Request.form("dateinventaire")
    etb=Request.form("etb")
    mois=Request.form("mois")
    Checkbox1=Request.form("choisir")
     
    RequeteSQL = "Update PRGTIE Set Inventaire='Oui',dateinventaire='"&dateinventaire&"',qte_cpte='"&fqte_cpte&"' where numligne in (" & Checkbox1 & ")"
    aurais tu une idée

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 14
    Par défaut
    Bonjour a tous

    J'avance a petit pas voici comment maintenant l'enregistrement s'effectue dans la base access

    sur cette exemple j'ai 6 lignes avec des références différentes. Dans mon formulaire j'ai coché les lignes 6258 6259 et 6261.

    Le script enregistre bien sur les bonnes lignes des checkbox mais me compile toutes les quantités des autres lignes non cochés.


    Nom : Capture 1.JPG
Affichages : 214
Taille : 21,3 Ko

    Voici mon script

    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
     
    <%
    for each checkbox_value in Request.Form("choisir[]")
    dossier=Request.form("dossier")
    fqte_cpte=Request.form("qtecpte")
    dateinventaire=Request.form("dateinventaire")
    etb=Request.form("etb")
    mois=Request.form("mois")%>
     
     
     
    <%DSN_BASE = "DBQ=" & Server.Mappath("dbinvprgtie.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};Driverld=25"%>
    <%
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open DSN_BASE
    Set Rs = Server.CreateObject("ADODB.Recordset")%>
     
    <%
    RequeteSQL = "Update PRGTIE Set Inventaire='Oui',dateinventaire='"&dateinventaire&"',qte_cpte='"&fqte_cpte&"' where numligne in (" & checkbox_value & ") "
    Rs.Open RequeteSQL, Conn%>
     
    <%next%>
     
     
    <%Set Rs = Nothing
    Si quelqu'un pourrait m'aider

    merci et bonne fêtes de fin d'année ....

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 14
    Par défaut
    bonjour a vous tous,

    Tout d'abord tous mes meilleurs vœux 2017.

    je suis toujours à la recherche de la solution a mon problème.

    Est ce que quelqu'un pourrait me donner un petit coup de main


Discussions similaires

  1. Récupérer la valeur d'une liste dans une autre page
    Par olivier94 dans le forum Langage
    Réponses: 3
    Dernier message: 28/02/2007, 11h20
  2. Réponses: 4
    Dernier message: 13/11/2006, 17h49
  3. Récupérer les valeurs d'une collection de checkbox
    Par licorne dans le forum Langage
    Réponses: 4
    Dernier message: 27/10/2006, 12h53
  4. récupérer la valeur d'une liste à l'envoi d'un formulaire
    Par grinder59 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 24/01/2006, 10h49
  5. récupérer la valeur d'une liste déroulante dynamique
    Par grinder59 dans le forum Général JavaScript
    Réponses: 21
    Dernier message: 23/01/2006, 17h51

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