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 22/02/2011, 04h04   #1
Candidat au titre de Membre du Club
 
Marie-Andrée Roy
Inscription : octobre 2009
Messages : 24
Détails du profil
Informations personnelles :
Nom : Marie-Andrée Roy
Localisation : Canada

Informations forums :
Inscription : octobre 2009
Messages : 24
Points : 11
Points : 11
Par défaut Requête MAJ - Échec de conversion de type - DATE et $

Bonjour!

J'ai une requête SQL qui permet de mettre à jour des informations dans une table.

Ces informations sont saisies dans un formulaire indépendant, puis lorsqu'on clique sur un bouton "Mettre à jour", la requête s'exécute.

Cela marche très bien pour l'ensemble des champs, à l'exception de mes deux contrôles de type Date et le contrôle de type Monétaire, quand aucune valeur n'y est saisie. Pourtant, les nulls ne sont pas interdits.

Un message d'erreur survient "MSOffice Access n'a pas mis à jour 1 champ(s) à cause d'un échec de conversion de type, etc....

J'ai trouvé ce document qui semble être la solution a mon problème, mais malgré que j'ai détaillé les types dans la boite Paramètre de la requête (méthode 1 dans le document), ça ne règle pas le problème.
http://support.microsoft.com/kb/125259/fr

J'ai trouvé des problèmes semblables sur le forum, mais c'est toujours en vba. Je ne sais pas trop si les codes proposés dans ces discussions concernent mon problème.

Quelqu'un a la solution?

Merci beaucoup!

marie!
MarieRoy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2011, 04h38   #2
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 609
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 609
Points : 30 959
Points : 30 959
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Bonjour

Je pense que cela aiderait les membres du forum si tu nous mettais ta requête, et le détail de la nature des champs qui te posent problèmes.

Et en indiquant d'où viennent les informations qui servent à la mise à jour.

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 22/02/2011, 16h32   #3
Candidat au titre de Membre du Club
 
Marie-Andrée Roy
Inscription : octobre 2009
Messages : 24
Détails du profil
Informations personnelles :
Nom : Marie-Andrée Roy
Localisation : Canada

Informations forums :
Inscription : octobre 2009
Messages : 24
Points : 11
Points : 11
Bonjour!

Voici ma requête :

Code sql :
1
2
3
PARAMETERS [Forms]![RechercherEquip]![txtDateRetrait] DateTime, [Forms]![RechercherEquip]![txtPrix] Currency, [Forms]![RechercherEquip]![txtDateAchat] DateTime;
UPDATE Equipement SET Equipement.Categorie = [Formulaires]![RechercherEquip]![cbxCategorie].[value], Equipement.Nom = [Formulaires]![RechercherEquip]![txtNom].[value], Equipement.Marque = [Formulaires]![RechercherEquip]![txtMarque].[value], Equipement.Modele = [Formulaires]![RechercherEquip]![txtModele].[value], Equipement.NumSerie = [Formulaires]![RechercherEquip]![txtNumSerie].[value], Equipement.Fournisseur = [Formulaires]![RechercherEquip]![txtFournisseur].[value], Equipement.DateAchat = [Formulaires]![RechercherEquip]![txtDateAchat].[value], Equipement.Prix = [Formulaires]![RechercherEquip]![txtPrix].[value], Equipement.CodeCA = [Formulaires]![RechercherEquip]![txtCodeCA].[value], Equipement.NumSerieAncien = [Formulaires]![RechercherEquip]![txtNumSerieAncien].[value], Equipement.BarreCodeAncien = [Formulaires]![RechercherEquip]![txtBarreCodeAncien].[value], Equipement.Retrait = [Formulaires]![RechercherEquip]![chkRetrait].[value], Equipement.DateRetrait = [Formulaires]![RechercherEquip]![txtDateRetrait].[value], Equipement.NotesEtatComments = [Formulaires]![RechercherEquip]![txtNotesEtatComments].[value], Equipement.Inventaire2011 = [Formulaires]![RechercherEquip]![chkInventaire].[value]
WHERE (((Equipement.CodeGEO)=[Formulaires]![RechercherEquip]![txtCodeGEO].[value]));

J'ai un formulaire indépendant nommé "RechercherEquip", qui affiche dans des zones de texte toutes les informations relatives à un équipement (table Equipement) sélectionné dans une liste de valeur. Ces contrôles sont verrouillés.

Pour apporter des modifications, j'ai un bouton qui me permet de déverrouiller les contrôles. Une fois que j'ai saisi les nouvelles informations, je clique sur un bouton "Enregistrer les modifications", et la requête s'exécute (avec un doCmd.openQuery).

La requête s'exécute bien pour les champs de type texte, mais pas pour les contrôles de type Date (txtDateAchat et txtDateRetrait), ni de type monétaire (txtPrix).

Je n'ai pas de problème lorsque je saisis une valeur dans ces contrôles. Cependant, j'ai le message d'erreur (en pièce jointe) si un ou tous ces contrôles sont vides (j'ai testé chacun de ces trois contrôles individuellement)

Pourtant, en aucun cas je lui ai spécifié que les nuls étaient interdits.

Dans la requête, j'ai ajouté les paramètres pour spécifier le type, mais ça n'a pas réglé le problème.

Merci de votre aide!

Marie!
Images attachées
Type de fichier : jpg bugACCESS.jpg (42,5 Ko, 3 affichages)
MarieRoy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2011, 16h37   #4
Candidat au titre de Membre du Club
 
Marie-Andrée Roy
Inscription : octobre 2009
Messages : 24
Détails du profil
Informations personnelles :
Nom : Marie-Andrée Roy
Localisation : Canada

Informations forums :
Inscription : octobre 2009
Messages : 24
Points : 11
Points : 11
J'ai oublié de spécifier que je suis sur Access 2007.

Merci!
MarieRoy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2011, 21h05   #5
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 2 410
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 41
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 2 410
Points : 4 439
Points : 4 439
Bonsoir Marie,

Citation:
Envoyé par MarieRoy Voir le message
Cependant, j'ai le message d'erreur (en pièce jointe) si un ou tous ces contrôles sont vides (j'ai testé chacun de ces trois contrôles individuellement)

Pourtant, en aucun cas je lui ai spécifié que les nuls étaient interdits.
peut-être un début de piste:

Citation:
Envoyé par Aide Access
Microsoft Access vous permet de distinguer entre deux sortes de valeurs à blanc : les valeurs Null et les chaînes de longueur nulle.
si tu forces un champ de type date, ChampDate="" au lieu de ChampDate=Null, tu obtiens ton message d'erreur.
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/02/2011, 03h28   #6
Candidat au titre de Membre du Club
 
Marie-Andrée Roy
Inscription : octobre 2009
Messages : 24
Détails du profil
Informations personnelles :
Nom : Marie-Andrée Roy
Localisation : Canada

Informations forums :
Inscription : octobre 2009
Messages : 24
Points : 11
Points : 11
Bonjour,

J'ai mis un espace dans le contrôle Date, et je n'ai pas eu le message d'erreur.

Qu'est-ce que je dois comprendre?

Merci,

marie!
MarieRoy est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h07.


 
 
 
 
Partenaires

Hébergement Web