Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/06/2011, 14h13   #1
Invité de passage
 
Homme
Étudiant
Inscription : 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 : 1
Points : 1
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 :
" 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 :
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 :

squall-21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2011, 17h18   #2
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 939
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 : 3 939
Points : 6 278
Points : 6 278
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+
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2011, 17h28   #3
Invité de passage
 
Homme
Étudiant
Inscription : 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 : 1
Points : 1
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 :
 UPDATE ETUDIANT  SET groupe_ETU = A1, semestre_ETU = S1 WHERE id_ETU = '26' ;
squall-21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2011, 18h52   #4
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 939
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 : 3 939
Points : 6 278
Points : 6 278
Il faut encadrer les valeurs de type texte entre guillemets simples, et ne rien mettre autour des valeurs numériques entières :
Code :
mysql = " UPDATE ETUDIANT  SET groupe_ETU = '" & groupe2 & "', semestre_ETU = '" & semestre2 & "' WHERE id_ETU = " & liste.Column(0, i - 1) & " ;"
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2011, 18h53   #5
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 616
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 616
Points : 30 961
Points : 30 961
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
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
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.

Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2011, 19h15   #6
Invité de passage
 
Homme
Étudiant
Inscription : 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 : 1
Points : 1
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 ...
squall-21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2011, 21h17   #7
Invité de passage
 
Homme
Étudiant
Inscription : 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 : 1
Points : 1
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
squall-21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 03h44   #8
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 616
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 616
Points : 30 961
Points : 30 961
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Bonjour

Comment exécutes-tu ta requête ?

Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.

Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 07h52   #9
Invité de passage
 
Homme
Étudiant
Inscription : 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 : 1
Points : 1
bonjour, j'utilise :

Code :
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 :
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 ...
squall-21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 08h13   #10
Invité de passage
 
Homme
Étudiant
Inscription : 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 : 1
Points : 1
Problème résolu !
squall-21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h45.


 
 
 
 
Partenaires

Hébergement Web