Bonjour,
je ne sais pas pourquoi mais les valeurs de la propriété ne passent pas au suivant contrairement aux autres. Voici mon code :
'Connexion à la BD
Call connect
'Déclaration des titres et de la taille du flexgrid msfimputation
titre = Array("NumValeur", "Propriété", "Valeur Patient", "Valeur Normale", "Interprétation", "NumExam", "Examen", "NumPropriété", "NumPatient", "Date Dossier")
taille = Array(1000, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500)
For i = 0 To 9
msfdossier.ColWidth(i) = taille(i)
msfdossier.TextMatrix(0, i) = titre(i)
Next
Dim rscount As New ADODB.Recordset
Dim nbmaxlignes As Integer
rscount.Open "select count(numpropriete) as nblignes from Tablevaleur where numdossier = " & txtnumdossier & " ", cn, adOpenStatic, adLockPessimistic ' , adOpenDynamic, adLockOptimistic
nbmaxlignes = (rscount!nblignes)
'Déclaration du recordset rs contenant l'ensemble de la table tablechauffeur trié par nom
Set rs = New ADODB.Recordset
rs.Open "select * from TableValeur where numdossier = " & txtnumdossier & " ", cn, adOpenDynamic, adLockOptimistic
Dim rspropriete As New Recordset
Dim rsexamen As New Recordset
Dim rsdossier As New Recordset
i = 1
While (Not rs.EOF)
If Not IsNull(rs) Then
rspropriete.Open "select tablepropriete.nompropriete, tablepropriete.numpropriete from tablevaleur, tablepropriete where tablevaleur.numpropriete tablepropriete.numpropriete and tablevaleur.numdossier " & rs(5) & "", cn, adOpenDynamic, adLockOptimistic
rsexamen.Open "select tableexamen.numexamen, tableexamen.nomexamen from tabledossier, tableexamen where tabledossier.numexamen tableexamen.numexamen and numdossier " & txtnumdossier & "", cn, adOpenDynamic, adLockOptimistic
rsdossier.Open "select numpatient, datedossier from tabledossier where numdossier = " & txtnumdossier & "", cn, adOpenDynamic, adLockOptimistic
msfdossier.Rows = nbmaxlignes + 1
msfdossier.TextMatrix(i, 0) = rs(0)
msfdossier.TextMatrix(i, 1) = rspropriete(0)
msfdossier.TextMatrix(i, 2) = rs(1)
msfdossier.TextMatrix(i, 3) = rs(2)
msfdossier.TextMatrix(i, 4) = rs(3)
msfdossier.TextMatrix(i, 5) = rsexamen(0)
msfdossier.TextMatrix(i, 6) = rsexamen(1)
msfdossier.TextMatrix(i, 7) = rspropriete(1)
msfdossier.TextMatrix(i, 8) = rsdossier(0)
msfdossier.TextMatrix(i, 9) = rsdossier(1)
End If
i = i + 1
rs.MoveNext
rsexamen.MoveNext
rsdossier.MoveNext
rspropriete.MoveNext
rspropriete.Close
rsexamen.Close
rsdossier.Close
Set rspropriete = Nothing
Set rsexamen = Nothing
Set rsdossier = Nothing
Wend
msfdossier.Refresh
rs.Close
Set rs = Nothing
msfdossier_Click
Voici le résultat correct :
NumValeur Propriete NumValPatient NumValNormale .....
1 Prop1 ValP1 ValN1
2 Prop2 ValP2 ValN2
Voici le résultat que j'obtient :
NumValeur Propriete NumValPatient NumValNormale .....
1 Prop1 ValP1 ValN1
2 Prop1 ValP2 ValN2
NB : J'ai testé ma requête sous access et ça marche correctement.
Merci d'avance.
Cordialement.