Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
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 07/07/2011, 10h55   #1
Membre habitué
 
Homme Mathieu R
Etudiant MIAGe
Inscription : février 2010
Messages : 145
Détails du profil
Informations personnelles :
Nom : Homme Mathieu R
Âge : 22
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Etudiant MIAGe
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2010
Messages : 145
Points : 141
Points : 141
Par défaut Probleme de syntaxe et erreur 3021

Re bonjour à tous,

Dans mon code VBA, j'effectue plusieurs requetes SQL :
Code :
1
2
3
IdEqTrouve = ("SELECT PPHistory.PPDate FROM PPHistory, MLS, LinkEqptBatchPPMLS, EquipmentBatch, Equipment where Equipment.IDEQUIPMENT = EquipmentBatch.IDEQUIPMENT and EquipmentBatch.IDEQUIPMENTBATCH = LinkEqptBatchPDPMLS.IDEQUIPMENTBATCH and LinkEqptBatchPDPMLS.IDMLS = MLS.IDMLS and MLS.PP = PPHistory.IDPPHISTORY and Equipment.IDEQUIPMENT = '" & IdEq & "'")
Set IdETrouve = CurrentDb.OpenRecordset(IdEqTrouve)
PDPDateTrouve = IdETrouve.Fields("PDPDate").Value
Dans ce premier morceau, j'ai une erreur sur la derniere ligne :
Aucun enregistrement en cours, alors que j'ai bien in IdEq valide


Ensuite lors de requete de mise à jour :
Code :
1
2
3
MAJDate = ("Update PPHistory Set PPDate = '" & Cells(i, PPDate) & "' from ((((Equipment INNER JOIN EquipmentBatch ON Equipment.IDEQUIPMENT = EquipmentBatch.IDEQUIPMENT) INNER JOIN LinkEqptBatchPDPMLS ON EquipmentBatch.IDEQUIPMENTBATCH = LinkEqptBatchPDPMLS.IDEQUIMENTBATCH) INNER JOIN MLS ON LinkEqptBatchPDPMLS.IDMLS = MLS.IDMLS) INNER JOIN PPHistory ON MLS.PDP = PPHistory.IDPPHistory) where Equipment.IDEQUIPMENT = '" & IdEq & "'")
 
DoCmd.RunSQL (MAJDate)
J'ai une erreur de syntaxe avec un opérateur absent. Je ne vois pas où est le probleme.
Le champ à mettre à jour et du type texte et ma cellule contient bien une valeur

Merci d'avance !
__________________
Qui ne tente rien, ne tente rien !
Tydher est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2011, 11h46   #2
Membre habitué
 
Homme Mathieu R
Etudiant MIAGe
Inscription : février 2010
Messages : 145
Détails du profil
Informations personnelles :
Nom : Homme Mathieu R
Âge : 22
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Etudiant MIAGe
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2010
Messages : 145
Points : 141
Points : 141
J'ai réussi à résoudre le premier probleme. Aucun enregistrement correspondait donc forcement j'avais cette erreur.
J'ai rajouté une condition If avant la requete.

Cependant j'ai toujours une erreur de syntaxe pour la deuxieme requete !
__________________
Qui ne tente rien, ne tente rien !
Tydher est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2011, 15h52   #3
Membre habitué
 
Homme Mathieu R
Etudiant MIAGe
Inscription : février 2010
Messages : 145
Détails du profil
Informations personnelles :
Nom : Homme Mathieu R
Âge : 22
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Etudiant MIAGe
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2010
Messages : 145
Points : 141
Points : 141
Bon beh je me suis débrouillé autrement

Code :
1
2
3
4
5
6
7
Set IdETrouve = CurrentDb.OpenRecordset(IdEqTrouve)
PPDateTrouve = IdETrouve.Fields("PPDate").Value
IDPPDateTrouve = IdETrouve.Fields("IDPPHISTORY").Value
IDMLSTrouve = IdETrouve.Fields("IDMLS").Value
If PPDateTrouve <> Cells(i, PPDate) Then
MAJDate = ("Update PPHistory Set PPDate = '" & Cells(i, PPDate) & "' where IDPPHISTORY = " & IDPPDateTrouve & "")
DoCmd.RunSQL (MAJDate)
__________________
Qui ne tente rien, ne tente rien !
Tydher 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 21h45.


 
 
 
 
Partenaires

Hébergement Web