디렉토리의 이미지를 소싱하는 테이블을 기반으로 4 개의 이미지 컨트롤을 업데이트하는 액세스 보고서가 있습니다. 보고서는 레코드 당 페이지를 생성하지만 이미지 컨트롤은 1 페이지 이후에 변경되지 않습니다 (다른 모든 페이지에 대해 동일한 이미지 만 표시). Appartently, 코드는 Windows XP에서 잘 작동했지만 현재 Windows 7 OS에서는 작동하지 않습니다 (둘 다 Office 07 사용). 다음은 코드입니다.DAO 액세스 레코드 세트가 업데이트되지 않습니다.
Private Sub Report_Current()
UpdateImages
End Sub
Private Sub Report_Load()
UpdateImages
End Sub
Private Sub Report_Page()
UpdateImages
End Sub
Private Sub UpdateImages()
On Error GoTo errHandler
Dim RS As DAO.Recordset
Set RS = CurrentDb.OpenRecordset("SELECT Image_Loc, Image_Name FROM HH_Media WHERE InspectionID = " & CInt(Me.InspectionID.Value) & " ORDER BY MediaID ASC")
If Not RS.BOF And Not RS.EOF Then
Dim i As Integer
For i = 1 To 4
If Not RS.EOF Then
Dim pictureCtrl As Image
Set pictureCtrl = GetControl("Image" & i)
Dim strImage As String
strImage = RS.Fields("Image_Loc").Value & "\" & RS.Fields("Image_Name").Value
If Not pictureCtrl Is Nothing Then
If FileExists(strImage) Then
pictureCtrl.Picture = strImage
SetLabel "lblImage" & i, RS.Fields("Image_Name").Value
Else
pictureCtrl.Picture = ""
SetLabel "lblImage" & i, "Does not exist"
End If
End If
RS.MoveNext
Else
Exit For
End If
Next
End If
RS.Close
Set RS = Nothing
Exit Sub
errHandler:
MsgBox "An error occurred while updating the form display." & vbNewLine & Err.Description, vbApplicationModal + vbCritical + vbDefaultButton1 + vbOKOnly, Me.Name
Resume Next
End Sub
이미지는 테이블에서 참조하는 디렉토리에 있습니다. 누락 된 것에 대한 아이디어가 있습니까? 나는 [섹션] _Format 이벤트 항상 사용하는 일부 동적 콘텐츠를해야 할 때마다
는
잘 모르겠지만 Microsoft는 새 릴리스에서 다양한 API 기능을 무작위로 제거합니다. Access 2000에서 2007로 업데이트 할 때 FileDialog 및 RecordSet.RecordCount가 더 이상 존재하지 않아 많은 기능이 손상되었습니다. – McGarnagle
페이지 1 이후에 UpdateImages가 호출되고 있는지 확인하십시오 - 페이지 이벤트가 발생하지 않는 경우가 있습니다 ... –
@DJ., UpdateImage 프로 시저가 4 번만 실행되는 것처럼 보입니다. 페이지 당 이벤트를 어떻게 발생 시키나요? – artwork21