Bonjour,

je me permets de vous faire part de mon probleme concernant une boucle for qui doit balayer une base de donnee ligne par ligne (enfin.. enregistrement par enregistrement) et comparer la valeur d'un certains champ avec celle d un argument afin d engager ou non diverses operations, mais je n arrive pas a mettre la main sur une donnee d un record.

La base sur laquelle la fonction travaille est "Fehlerart_Montage_database".

J ai pourtant regarder en VBA sur google ainsi que dans la FAQ mais je n ai pas pu trouver mon bonheur... J ai l impression qu il faille faire cela en SQL mais je n ai vraiment pas de connaissances la dedans... Savez vous si je peux m en sortir uniquement en restant dans du VBA.

J ai essayé plusieurs syntaxes differentes pour acceder aux donnees, mais rien n y a fait, j'ai ecrit pour l exemple une syntaxe, bien entendu erronée, (en fait comme si je travaillais avec un tableau) afin de montrer au mieux mon besoin. Le probleme dès le if où j essaye de lire la donnee numero 4 du reocrd numero k :

PS: l indice "i" est initialisé et incrementé ailleurs dans ma fonction, et "tableau" est declaré comme suit: Dim tableau(1 To 20, 1 To 7) As Variant


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
For k = 1 To taille_fehlerart_database
 
      If MontWie = Fehlerart_Montage_database(k, 4) Then
 
      tableau(i, 1) = Fehlerart_Montage_database(k, 2) '** fehlerart
      tableau(i, 2) = Fehlerart_Montage_database(k, 7) '** fehlerursache1
      tableau(i, 3) = Fehlerart_Montage_database(k, 8) '** Fehlerauswirckung1
      tableau(i, 4) = Fehlerart_Montage_database(k, 9) '** B1
 
ect ect....
Je vous remercie par avance pour vos propositions.

Sebastien