Bonjour,
Ma base de donnée me signale l'erreur 3340 sur plusieurs requêtes.
Erreur N° 3340 La requête " " est altérée.
La base fonctionnait jusqu'à ce matin en milieu de matinée, puis erreurs multiples dans le code :
Pendant que je travaillais sur la base, j'ai subi des mises à jour.
Les erreurs sont arrivées sans rapport apparent avec ce que je codais, et pas moyen de réparer, alors j'ai repris la sauvegarde de la base de ce matin 8h00, et là les même erreurs se produisent, idem avec les sauvegardes des jours précédents !
Je répare Office 2010, j'attends la fin du processus, les mêmes erreurs se reproduisent, et je subi encore une série de mises à jours !
voilà l'erreur dans le code qui à fonctionné pendant des années. Le premier Cdb.Execute fonctionne, le second crée l'erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Public Function GetIdLog(log As String) Dim Cdb As DAO.Database Dim T_log() As String Dim K As Integer Set Cdb = CurrentDb Cdb.Execute "Update T_Logement SET Affiche = False;" T_log = Split(log, ";") ' où log = 1;2;3;4;7 par exemple For K = 0 To UBound(T_log) Cdb.Execute "Update T_Logement SET Affiche = True WHERE IdLog =" & CLng(T_log(K)) & ";" ' IdLog est de type numérique long et c'est la clé de la table T_Logement Next K Cdb.Close: Set Cdb = Nothing End FunctionDe même si je construis dans l'éditeur de requête :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 'Si je remplace Cdb.Execute "Update T_Logement SET Affiche = True WHERE IdLog =" & CLng(T_log(K)) & ";" 'par Cdb.Execute "Update T_Logement SET Affiche = True;" il n'y a plus d'erreuril n'y a pas d'erreur, mais dès que je mets un WHERE
Code : Sélectionner tout - Visualiser dans une fenêtre à part UPDATE T_Logement SET Affiche = True;le même message d'erreur arrive dans l'éditeur de requête dès que je l'exécute.
Code : Sélectionner tout - Visualiser dans une fenêtre à part UPDATE T_Logement SET T_Logement.Affiche = False WHERE (((T_Logement.IdLog)=2));
J'ai la même erreur si je remplace dans le code Cdb.execute par DoCmd.RunSQL
Je ne vois pas d'où vient cette erreur, je suis bien bloqué pour aujourd'hui.
Dans l'attente d'une solution de déblocage votre part, je vous remercie par avance.
Partager