salut a tous. j'ai un petit probleme de passage de tableau a une fonction. voicit le code:
deuxieme question, pour sortir des boucle qui permette de remplir les tableaux via les InputBox il faut rentrer le mot "fin" le probleme c'est que le dernier argument de mon tableau devient alors le mot "fin" comment, apres etre sortit de la boucle "effacer" la derniére entrée du tableaux (donc le mot fin). merci pour vos conseils.
Option Compare Database
Option Explicit
----------------------------------------------------------------------------------------------
Sub testCreationrequeteDynamique()
'declaration des variables
Dim nomBase, ordreTris(20), condition(20), szEnd As String <<< voicit les tableaux
Dim intOrdreTris, intCondition As Integer
Dim intSortieBoucle As Integer
szEnd = "fin"
intOrdreTris = 0
intSortieBoucle = 0
'1ere question :
'demande a l'utilisateur le nom de la base de donnée a ouvrir
nomBase = InputBox( _
"entrez le nom de la base de donnée a ouvrir", "nomBase", "currentDb", "5000", "5000")
'fin de l'etape de selection de base de donnée
'2eme question
'boucle gerant l'ordre de tris
Do Until intSortieBoucle <> 0
ordreTris(intOrdreTris) = InputBox( _
"entrez l'ordre de tris, triez par ordre decroissant en entrant DESC a la fin de votre selection. mettez fin a la selection en tapant fin ", _
"orderTris", "Nomducompteur", "5000", "5000")
If ordreTris(intOrdreTris) = szEnd Or intOrdreTris > 20 Then
intSortieBoucle = 1
End If
intOrdreTris = intOrdreTris + 1
Loop
'fin de la question sur l'ordre de tris
'on remet intSortieBoucle a 0
intSortieBoucle = 0
3eme question
'on met intOrdreTris a 0 comme ca on accede au premier enregistrement
intOrdreTris = 0
'boucle gerant les condition de tris
Do Until intSortieBoucle <> 0
condition(intCondition) = InputBox("entrez la condition relative a " & ordreTris(intOrdreTris) & " les condition peuvente etre (par exemple pour date : >#30/09/2005# : trierat les enregistrement datant d'apres le 30/09/2005.)(voir page 165-171 de l'assistant visuel d'access)mettez fin a la saisie par fin." _
, "condition", "", "5000", "5000")
If condition(intCondition) = szEnd Then
intSortieBoucle = 1
End If
intCondition = intCondition + 1
intOrdreTris = intOrdreTris + 1
Loop
'fin de la boucle gerant les condition de tris.
'passage des donnée a la fonction
Call AffichageRequeteDynamique(nomBase, ordreTris(20), intOrdreTris, condition(20), intCondition)
<<et la je recoit le message "erreur de complation type d'argument By ref incompatible." et la variable nom base est mise en surbrillance>>
End Sub
----------------------------------------------------------------------------------------------
'voicit la fonction a laquelle les donnée sont passée:
Sub AffichageRequeteDynamique(nomBase As String, _
ordreTris1() As String, intOrdreTris1 As Integer, _
condition1() As String, intCondition1 As Integer)
'ici le reste du code va utiliser les variables
End Sub