|
Probléme de requete etrange [Resolu] |
|
DSI WDF
Inscrit: 06/04/2004 12:07
Post(s): 337
|
Voila, j'ai une requete qui update 3 dates dans une table, du type : marequete(clé, date1, date2, date3) la table est hyper file, prend des dates au format "AAAAMMJJ" mais quand j'execute ma requete ( aprés cinqs autres sur le même table qui marchent parfaitement ), ça plante. Le truc étrange, c'est que quand j'execute la requete toute seule dans windev, ça marche, et si je crée une fenetre vide, avec trois champs texte, un bouton, et que dans les champs texte je met les dates manuellement ( ex : 20021103 ) ça marche aussi. Je précise que dans les cas ou ça plante, le format envoyé est bien le bon ( en tout cas quand je fait un info(madate) c'est bien des trucs du style 20040503). Le probléme, c'est que je suis au boulot, et coincé là dessus depuis vendredi, donc vraiment merci à ceux qui m'aiderons sinon je met mon erreur ici : Erreur à la ligne 22 du traitement Clic sur boutValidInter. Vous avez appelé la fonction HExécuteRequête. Erreur de l'accès OLE DB. Numéro d'erreur = 170129 Echec de l'ouverture du fichier.
Détail de l'erreur système :
Description = Type de données incompatible dans l'expression du critère. Source = Microsoft JET Database Engine Help Context = 5003071 SQL State = 3464 Error Number = -2147217913 Native Error Number = -539888598
**********************************************
Informations techniques
Projet : MECANO2
Dump de l'erreur du module <8.00Atj>.
- Appel WL : Traitement de , ligne <22>, thread <0> Fonction , n° de syntaxe <0>
- Niveau : erreur fatale (EL_FATAL)
- Code erreur : 73001
- Code erreur WD55 : 3001
- Pas de code d'erreur système
- Message d'erreur système : Description = Type de données incompatible dans l'expression du critère. Source = Microsoft JET Database Engine Help Context = 5003071 SQL State = 3464 Error Number = -2147217913 Native Error Number = -539888598
- Que s'est-il passé ? Erreur de l'accès OLE DB. Numéro d'erreur = 170129 Echec de l'ouverture du fichier.
- Infos de debug : Requête exécutée sur la base : Texte de la requête :UPDATE `TblIntervention` SET `DateCreation` = '20031002 000000', `DateIntervention` = 'gfdsgfg', `DateCloture` = 'gfdsgsf' WHERE ( `TblIntervention`.`Code` = ? ) Nombre de paramètres : 1 Paramètre 0 : Type ADO : : <3> = Valeur : : <776>
IEWDOLDB=111006 Module= Version=<8.00Aq>
Version du MDAC = <2.61.7326.6>.
[Current Recordset parameters] Wanted = LockType = , Location = , Type = , Capacities = Got = LockType = , Location = , Type = , Capacities =
[Connection parameters] DataSource = Initial Catalog = <> Provider = User = <> Password = <> Extended Info = <> Access =
[Connection settings] ConnectionTimeout = <-1> CommandTimeout = <-1>
[Data format] Query Parameter Checked = <0> = <> Query Parameter Needing conversion = <0> = <> DecimalSeparator = DateFormat = <>
[Cursor settings Match] LockType = , Location = , Type = , Capacities = <10daf00> LockType = , Location = , Type = , Capacities = LockType = , Location = , Type = , Capacities =
[Recordset 1] Settings = , Location = , Type = , Capacities = <10daf00>> CapacitiesSupported = CapacitiesNotsupported = HFFunctionsSupported = HFFunctionsNotsupported = <>
- Infos attachées : EIT_ADOCODE : <-2147217913> EIT_BASECODE : <-539888598> EIT_ODBCDESCRIPTION : EIT_ODBCCODE : <3464> EIT_NATIVECODE : <170129> EIT_LOGICALTABLENAME : EIT_DATEHEURE : 26/04/2004 11:31:54 EIT_PILEWL : Clic sur boutValidInter (main.boutValidInter), ligne 22 Initialisation de frm_load_tables (frm_load_tables), ligne 55
- Identifiant dans le .err : 72801
Contribution le : 27/04/2004 09:36
|
|
|
Re: Probléme de requete etrange |
|
Animateur WDF
Inscrit: 19/01/2004 13:48
De www.sigmasys.fr
Post(s): 988
|
`DateCreation` = '20031002 000000', `DateIntervention` = 'gfdsgfg', `DateCloture` = 'gfdsgsf'
Toutes ces dates ont un format de date invalide :))) pas étonnant que ca ne marche pas :)
Si DateCreation est une date dans access il me semble qu'aucune date n'a un format date + heure du style '20031002 000000'.
a+
Contribution le : 27/04/2004 14:33
|
|
|
Re: Probléme de requete etrange |
|
DSI WDF
Inscrit: 06/04/2004 12:07
Post(s): 337
|
alors là, je me trouve con, et dire que j'avais même pas vu ça ! A manquer de recul, on fini par louper des choses.
Je vais regarder ça, mais je reste scéptique sur le fait que j'ai fait des
info(chpFicheInterventionDateCreation) info(chpFicheInterventionDateIntervention) info(chpFicheInterventionDateClotur)
et tout de suite aprés :
HExécuteRequête(rq_update_fiche_intervention_6, hrequetedefaut, chpFicheInterventionDateCreation,chpFicheInterventionDateIntervention, chpFicheInterventionDateCloture,chpFicheInterventionCodeInter)
et les boites de dialogue m'affichent toutes des dates du type 20001002 !
enfin je regarde...
Contribution le : 27/04/2004 15:52
|
|
|
Re: Probléme de requete etrange |
|
DSI WDF
Inscrit: 06/04/2004 12:07
Post(s): 337
|
nan, ba en fait, c'est juste le debug que j'ai posté qui ne correspondait pas exactement à la situation, le nouveau ( qui en fait est la bonne erreur ) : - Infos de debug : Requête exécutée sur la base : Texte de la requête :UPDATE `TblIntervention` SET `DateCreation` = '20030602', `DateIntervention` = '20051011', `DateCloture` = '20020302' WHERE ( `TblIntervention`.`Code` = ? ) Nombre de paramètres : 1
Contribution le : 27/04/2004 16:02
|
|
|
Re: Probléme de requete etrange |
|
DSI WDF
Inscrit: 06/04/2004 12:07
Post(s): 337
|
et il faut savoir que là, j'ai lancé ça : HExécuteRequête(rq_update_fiche_intervention_6, hRequêteDéfaut, 20030602, 20051011,20020302,chpFicheInterventionCodeInter) et que si je lance la même chose, dans le même projet, mais dans une nouvelle fenetre toute neuve, et bein ça marche
Contribution le : 27/04/2004 16:05
|
|
|
Re: Probléme de requete etrange |
|
Inscrit: 18/12/2003 13:14
Post(s): 212
|
Bonjour Si tu nous décris ton problème tout doucement et clairement, et les fichiers que tu utilise ainsi le moment exacte où tu rencontre ce problème, peut être qu'on va trouver une solution .
Contribution le : 27/04/2004 17:53
|
|
|
Re: Probléme de requete etrange |
|
DSI WDF
Inscrit: 06/04/2004 12:07
Post(s): 337
|
Ok, on va commencer par voir si mon probléme est générique, et si on peu le résoudre sans en connaitre les détails : Y a t'il une raison connue pour laquelle une requéte fonctionnerait bien quand on la teste toute seule dans windev ( elle fait bien les modifs, et pas d'erreurs ). Et ne fonctionne pas quand on la lance dans le programme ( su ce programme, j'en suis au moins à mon 300éme appel de requéte, et j'en ait actuellement 139...qui marchent toutes.....sauf une ! Donc à priori, c'est pas une erreur de syntaxe de débutant ). Ma base est hyperfile ( convertie d'une base access ) mais cette base fonctionne parfaitement en update sur les autres paramétres, en utilisant la même clé pour les modifs. Mes dates sont au format AAAAMMJJ dans la base. Deux de mes dates sont des clés secondaires avec doublon autorisé, et la derniére n'est pas clé. Et un simple update uniquement sur la date qui n'est pas clé ne fonctionne même pas. Si je crée un fenetre vide avec l'appel de ma requéte dans un bouton, et que je lance ma fenetre avec le bouton "tester la fenetre", la requete marche. Par contre si je lance cette meme fenetre, mais que j'y accede en ayant lancé tout le projet, là ça merde aussi. Ma conclusion : le probléme ne viens ni de la base, ni de la requete, mais du contexte dans lequel elle est executée. Vu que je suis stagiaire, et que j'ai appris windev sur le tas en 2 semaines, je met un bout de code pour illustrer ma maniére d'executer les requetes....qui sait, peut etre que je m'y prend comme un pied SI typeEdition = "archive" ALORS HExécuteRequête(rq_update_intervention_archive_1, hRequêteDéfaut,chpFicheInterventionCodeCli,chpFicheIntervent ionNom,chpFicheInterventionAdresse,chpFicheInterventionSuiteAdr,chpFicheInterventionCP,chpFicheInterventionVille,chpFich eInterventionTel,chpFicheInterventionFax,chpFicheInterventionMail,chpFicheInterventionPortable,chpFicheInterventionCiv,chpFicheInterventionCodeInter,chpFicheInterventionInterloc)
HExécuteRequête(rq_update_intervention_archive_2, hRequêteDéfaut, chpFicheInterventionType, chpFicheInterventionIndice, chpFicheInterventionPuissance, chpFicheInterventionRotation, chpFicheInterventionVoltage, chpFicheInterventionPi, chpFicheInterventionMatricule, chpFicheInterventionEquipement, chpFicheInterventionAR, chpFicheInterventionNBheures, chpFicheInterventionCodeInter)
HExécuteRequête(rq_update_intervention_archive_3, hRequêteDéfaut, chpFicheInterventionMemo, chpFicheInterventionRevendeurEngin, chpFicheInterventionModeleEngin, chpFicheInterventionNoSerieEngin, chpFicheInterventionNomEngin, chpFicheInterventionVilleDepannage, chpFicheInterventionDepartementDepannage, chpInterProbleme1, chpInterSolution1, chpFicheInterventionUtilisateurEngin, chpFicheInterventionCodeInter)
HExécuteRequête(rq_update_intervention_archive_4, hRequêteDéfaut, chpFicheInterventionDG, selecteur_travail_atelier , chpFicheInterventionOT, chpFicheInterventionCodeInter) HExécuteRequête(rq_update_intervention_archive_5, hRequêteDéfaut, chpFicheInterventionCodeInter,chpFicheInterventionTempsTravail,chpFicheInterventionDistance)
HExécuteRequête(rq_select_interventions, hRequêteDéfaut, Null, Null, Null) TableAffiche(Table_rq_select_interventions)
HExécuteRequête(rq_select_interventions_du_client, hRequêteDéfaut, codeclientEnCours) TableAffiche (Table_rq_select_interventions_du_client) HExécuteRequête (rq_select_interventions_archive_dapres_code_client, hRequêteDéfaut, codeclientEnCours) TableAffiche(Table_rq_select_interventions_archive_dapres_code_client)
main..Plan = varplan53 FIN
Contribution le : 27/04/2004 18:10
|
|
|
Re: Probléme de requete etrange |
|
Inscrit: 18/12/2003 13:14
Post(s): 212
|
rebonjour C'est très long encore pour une question, alors c'est moi qui vous posera des questions cette fois-ci :
Donne nous le code SQL de ta requête qui ne fonctionne pas.
Contribution le : 27/04/2004 18:51
|
|
|
Re: Probléme de requete etrange |
|
DSI WDF
Inscrit: 06/04/2004 12:07
Post(s): 337
|
alors voici le code de ma requete qui merde :
UPDATE TblIntervention SET DateCreation = {Param2cre}, DateIntervention = {Param2inter}, DateCloture = {Param2clo} WHERE TblIntervention.Code = {Param1}
Contribution le : 28/04/2004 09:10
|
|
|
Re: Probléme de requete etrange |
|
DSI WDF
Inscrit: 06/04/2004 12:07
Post(s): 337
|
bon, j'ai résolu mon probléme, en fait, ça avait un rapport avec un hcangeconnexion(....) qui merdait enfin je me suis quand même galéré 3 jours là dessus. Enfin merci à vous...
Contribution le : 28/04/2004 15:33
|
|
Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.
|
Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
|