2009-11-20 4 views
1

J'utilise le rapport de données dans VB 6 et j'essaie d'afficher des images de la base de données. Il récupère l'image, mais montrant la même image pour toutes les sorties le code j'utilise sont donnés ci-dessousRapport de données dans VB 6.0

Dim rs As ADODB.Recordset, rs1 As ADODB.Recordset 

Dim a As String 
k = 0 
i = 0 
j = 0 
k = 0 



Set rs = New ADODB.Recordset 

With rs 

    .CursorType = adOpenDynamic 
    .LockType = adLockOptimistic 
    .ActiveConnection = conn 
    .Source = "SELECT patientid FROM Inpatients_Maintenance WHERE (ModDate >= '" & frmDate & "') AND (ModDate <= '" & endDate & "')" 
    .CursorLocation = adUseClient 
    .Open 

    Do Until rs.EOF 

    If (rs.EOF = False And rs.BOF = False) Then 
    pid(i) = rs.Fields(0).Value 

    End If 
    i = i + 1 
    rs.MoveNext 

    Loop 
End With 

Set rs = Nothing 
Set rs1 = New ADODB.Recordset 

Dim id As String 
With rs1 
    .CursorType = adOpenDynamic 
    .LockType = adLockOptimistic 
    .ActiveConnection = conn 

    For j = 0 To i - 1 
     id = pid(j) 
     .Source = "Select photo from patientImage where patientid='" & id & "'" 
     .CursorLocation = adUseClient 
     .Open 


     If (rs1.EOF = False And rs1.BOF = False) Then 
      p(j) = App.Path + "\patients\" + rs1.Fields(0).Value 
      a = p(j) 

      Set RptInpatientMaster.Sections("Section1").Controls("Image2").Picture = LoadPicture(a) 

     End If 
     .Close 
    Next j 
End With 
+0

J'utilise le rapport de données dans VB –

+0

monsieur m'aider s'il vous plaît dehors pour résoudre ce problème, je suis dans le très besoin. merci –

Répondre

1

Ne voyez-vous que la dernière?

Set RptInpatientMaster.Sections("Section1").Controls("Image2").Picture = LoadPicture(a) 

Vous faites toujours référence à la même image dans votre rapport, n'est-ce pas?

Questions connexes