actu5394
Messages postés41Date d'inscriptionjeudi 25 avril 2002StatutMembreDernière intervention16 octobre 2005 18 juil. 2005 à 17:54
Bonjour,
Je dirai tout simplement que tu as une cellule Excel qui contient beaucoup de carractères et que tu veux coller
dans un champ Access qui peux en contenir beaucoup moins ??
L'erreur survient-elle tout de suite, après un laps de temps...?
Zlub
Messages postés809Date d'inscriptionmercredi 11 octobre 2000StatutMembreDernière intervention29 septembre 20108 19 juil. 2005 à 00:24
Salut,
Je pige pas, en l'état tu fais un SELECT, donc ta source de données est
MS Access... même si tu utilises un fichier excel pour filtre les
taxons que tu veux afficher.
En plus concret, tu affiches uniquement les types,
associés aux Taxon, contenus dans ta base Access à la seule condition
que le Taxon existe dans ton fichier excel.... donc au final c'est pas
un probleme d'importation de données excel -> access... access est
donc ta source et excel ton filtre.... mais bon juste une
parenthese...
Pour en revenir à ton pb, vérifie si un de tes cellules ne contient pas un ; (point virgule) ou un " qui traine et qui planterait ta requête...
pour debug:
For j = 2 To m
For i = 5 To n
nomt = "'" & xl.Cells(i, 1).Value & "'"
' ------ debug time -----
If InStr(1, nomt , ";") <> 0 Then Debug.Print "cell (" & i & "," & j & ") ; detecté !"
If InStr(1, nomt , """") <> 0 Then Debug.Print "cell (" & i & "," & j & ") """" detecté !"
MySQL = "SELECT type,Taxon FROM ListePollens WHERE (Taxon= " & nomt
& ")"
' --- voir même ----
Debug.Print MySQL
Set rst = CurrentDb.OpenRecordset(MySQL, dbOpenDynaset, dbReadOnly) If rst.EOF False And rst.BOF False Then
typ = rst![type]
.....
Ensuite, ton extrait de code est un peu court... tes deux boucles servent à quoi ?
Tu fais quelque part un
rst.MoveNext ' pour passer au jeu d'enregitrement suivant
rst.Close ' pour fermer le recordset avant de faire un tour de boucle ?
Vois avec ça si tu trouves ta solution sinon copies ton code de façon plus complete ...