Erreur 424

Fermé
Mila23 - 19 juin 2014 à 11:22
platypus69 Messages postés 108 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 11 février 2015 - 26 juin 2014 à 09:09
Bonjour,

J'ai une erreur d'exécution 424 quand je lance mon programme auriez vous des idées ? Merci d'avance.


Dim db As Database
Dim Dossier As String
Dim NomPatient As String
Dim PrenomPatient As String
Dim Jma As Date
Dim FichierBrut As String
Dim q As QueryDef, d As Recordset
Dim Resultat As String
Dim Autres As String
Dim i As Integer
Dim j As Integer
Dim TestComp As Integer



rrr = MsgBox("Début", vbOKOnly)

Set db = CurrentDb()
Set q = db.QueryDefs("FB_Index Requête")
Set d = q.OpenRecordset()

d.MoveFirst

i = 0

Do Until i = 10

If (Mid$(d![FichierBrut], 3, 1) = "2") Then
Resultat = (d![NomPatient] & " " & d![PrenomPatient])
i = i + 1
Else
Autres = (d![NomPatient] & " " & d![PrenomPatient])

TestComp = StrComp(Resultat, Autres, CompareMethod.Text)
If (TestComp = 0) Then


Else

End If

End If


d.MoveNext

Loop

End Function

7 réponses

monday1999 Messages postés 563 Date d'inscription dimanche 22 avril 2012 Statut Membre Dernière intervention 20 février 2016 81
19 juin 2014 à 11:27
Bonjour aller sur https://support.microsoft.com/fr-fr/help/163475

Cordialement
0
platypus69 Messages postés 108 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 11 février 2015 7
19 juin 2014 à 15:06
bonjour,


rrr = MsgBox("Début", vbOKOnly)

cette variable n'est pas défini dans le début de ton code, cela peut venir de la.
0
Bonjour,
rrr = MsgBox("Début", vbOKOnly) / cette variable n'est pas défini dans le début de ton code, cela peut venir de la.

Etant un autodidacte complet, je ne déclare JAMAIS mes variables, parce que je n'ai pas appris et que je n'y pense pas et que ça m'enm...., et mes plantages ne viennent quasiment jamais d'une déclaration de variable.
Mieux vaut faire un pas à pas et voir quelle ligne accroche, ou plus simplement demander à ouvrir le VBA quand le code s'arrête, la ligne est mise en surbrillance jaune.
Bonne suite
0
blux Messages postés 26533 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 décembre 2024 3 317
19 juin 2014 à 15:53
Salut,

quelle ligne est signalée ?
Ce ne serait pas des fois un recordset qui aurait été oublié dans la bibliothèque DAO ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ReB_
Je crois avoir trouver un os.
Tu écris:
i = 0
Do Until i = 10

If ... Then
Resultat = ...
i = i + 1
Else
Autres =...
End If
d.MoveNext
Loop

Càd que si la condition If... est fausse, il saute à la ligne Else mais alors l'index ne s'incrémente pas et malgré tout tu lui demande de continuer la boucle Do until sans lui donner aucune voie de sortie au cas où l'index n'aurait pas atteint la valeur 10.
A approfondir. j'spère avoir été clair
Bonne suite
0
blux Messages postés 26533 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 décembre 2024 3 317
Modifié par blux le 19/06/2014 à 16:48
Pour moi, on n'est pas dans une boucle infinie, si on trouve 10 résultats dans le recordset, on sort.
Par contre, si on ne les trouve pas et qu'on est à la fin du recordset, on plante sur le d.movenext...
Donc, dans tous les cas, ça s'arrête à un moment ou à un autre...
0
Bonjour Blux,
Tu as peut-être raison. De toutes façons , j'avais dit "A approfondir"
Maintenant, c'est un peu stupide (à commencer par moi) de chercher dans cette direction, mieux vaut aller dans le sens indiquer par Monday, erreur 424 est une erreur de bibliothèque DAO, mais c'est hors de mes connaissances ou bien en étant guider pas à pas par un spécialiste.
Après qu'il y ait une erreur de code, peut-être oui, peut être non.
0
platypus69 Messages postés 108 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 11 février 2015 7
26 juin 2014 à 09:09
tous les objets DAO semblent correctement utilisés. Question bête, le nom de ta QueryDefs est-il bien orthographié ??
0