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

Requêtes et SQL. Discussion :

comment utiliser un update ? [AC-2010]


Sujet :

Requêtes et SQL.

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 9
    Points : 4
    Points
    4
    Par défaut comment utiliser un update ?
    Bonjour, je suis en train de créer un formulaire pour modifier une base de donnée sur des étudiants. Je voudrais savoir comment je peux mettre en œuvre cette requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    " UPDATE ETUDIANT  SET groupe_ETU = " & groupe2 & " AND semestre_ETU = " & semestre2 & " WHERE id_ETU = '" & liste.Column(0, i - 1) & "' ;"
    Ça peut paraître évident mais mon prof m'a pas vraiment expliqué comment faire et je bute vraiment là ...

    J'ai tenté :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    For i = 1 To Me.liste.ListCount
     
    mysql = " UPDATE ETUDIANT  SET groupe_ETU = " & groupe2 & " AND semestre_ETU = " & semestre2 & " WHERE id_ETU = '" & liste.Column(0, i - 1) & "' ;"
     
    If liste.Selected(i - 1) Then
        Debug.Print mysql
        CurrentDb.Execute mysql
    End If
    Next i

    mais j'ai le message d'erreur suivant :


  2. #2
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonjour,

    1) Le And est suspect. Ça ne serait pas une virgule plutôt ?

    2) Quel est le type de données des champs groupe_ETU et semestre_ETU ?
    Ta syntaxe actuelle est valable pour des champs de type nombre entier.

    A+

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Ah en effet ça peut être une virgule
    Ce sont des chaînes de caractères !

    edit : j'ai essayé avec une virgule j'ai toujours l'erreur d'en haut ...
    Quand je fais un debug.print j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     UPDATE ETUDIANT  SET groupe_ETU = A1, semestre_ETU = S1 WHERE id_ETU = '26' ;

  4. #4
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Il faut encadrer les valeurs de type texte entre guillemets simples, et ne rien mettre autour des valeurs numériques entières :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql = " UPDATE ETUDIANT  SET groupe_ETU = '" & groupe2 & "', semestre_ETU = '" & semestre2 & "' WHERE id_ETU = " & liste.Column(0, i - 1) & " ;"

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Tu as tout inversé, les ' sont pour les données de type texte et rien pour les numériques.

    Donc utilises les quotes pour semester et groupe et rien pour l'id.

    Philippe

  6. #6
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par Philippe JOCHMANS Voir le message
    Bonjour

    Tu as tout inversé, les ' sont pour les données de type texte et rien pour les numériques.

    Donc utilises les quotes pour semester et groupe et rien pour l'id.

    Philippe
    ça marche presque en fait semestre et groupe ne reçoivent aucune valeur ...

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    En fait c'est censé marcher erreur de ma part mais là j'ai un autre problème :




    j'ai vérifié dans propriété>sécurité et j'ai tout les droits sur ce fichier Oo

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Comment exécutes-tu ta requête ?

    Philippe

  9. #9
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    bonjour, j'utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CurrentDb.Execute mysql
    j'ai essayé avec un recordset mais j'ai le même message.

    Je pense que c'est dû à ma requête sql en fait parce que j'ai deux sous requêtes et quand je les remplace par des valeurs cela marche !
    Ma requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql = " UPDATE ETUDIANT  SET ETUDIANT.groupe_ETU = (select id_GROUPE FROM GROUPE where code_GROUPE like '" & CStr_(groupe2) & "'), semestre_ETU = (SELECT id_SEMESTRE FROM SEMESTRE WHERE code_SEMESTRE = '" & CStr_(semestre1) & "') WHERE id_ETU = " & liste.Column(0, i - 1) & " ;"
    ce que je ne comprends pas c'est que j'ai déjà utilisé les mêmes sous requêtes avec un select et ça marche du tonnerre ...

  10. #10
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Problème résolu !

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

Discussions similaires

  1. [Oracle] Comment utiliser la requête update et modifier les données si les champs sont modifiés
    Par roswina dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 01/06/2015, 10h01
  2. [Prototype] Comment utiliser ajax.updater() ?
    Par Derbie dans le forum Bibliothèques & Frameworks
    Réponses: 3
    Dernier message: 28/04/2011, 10h18
  3. Réponses: 2
    Dernier message: 26/07/2010, 18h45
  4. Réponses: 4
    Dernier message: 08/05/2010, 18h31
  5. Réponses: 5
    Dernier message: 30/11/2009, 11h14

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