Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 将图像从oracle表加载到用户表单';s图像控件 我有一个带有Empno、Ename和Image的oracle表“Employee Details”_Excel_Vba - Fatal编程技术网

Excel 将图像从oracle表加载到用户表单';s图像控件 我有一个带有Empno、Ename和Image的oracle表“Employee Details”

Excel 将图像从oracle表加载到用户表单';s图像控件 我有一个带有Empno、Ename和Image的oracle表“Employee Details”,excel,vba,Excel,Vba,表中有50条记录 使用vba代码,我可以将图像下载到本地文件系统 我无法在Userform上动态添加图像控件并从记录集中填充图像 我想有一个滚动条,以查看所有的50与图像记录。 非常感谢您的帮助。我已根据记录集返回的记录数,成功地将图像控件动态添加到帧对象中 对于R=1到Rs.RecordCount TempFileName = v_ApplPath & "\logs\" & Rs.Fields(3).Value With Strm .

表中有50条记录

  • 使用vba代码,我可以将图像下载到本地文件系统

  • 我无法在Userform上动态添加图像控件并从记录集中填充图像

  • 我想有一个滚动条,以查看所有的50与图像记录。
    非常感谢您的帮助。

    我已根据记录集返回的记录数,成功地将图像控件动态添加到帧对象中

    对于R=1到Rs.RecordCount

        TempFileName = v_ApplPath & "\logs\" & Rs.Fields(3).Value
    
        With Strm
                .Type = adTypeBinary
                .Open
                .Write Rs.Fields(4).Value
                .SaveToFile TempFileName, adSaveCreateOverWrite
    
                        Set NewImage = Frame1.Controls.Add("Forms.Image.1", "Image" & R)
                        With NewImage
                            .Top = ImageTopPos
                            .Left = ImageLeftPos + 250
                            .PictureSizeMode = fmPictureSizeModeZoom
                            .BackStyle = fmBackStyleOpaque
                            .BorderStyle = fmBorderStyleSingle
                            .BackColor = &HFFC0C0
                            .BorderColor = &HFFC0C0
                            .Width = 50
                            .Height = 50
                            .Picture = LoadPicture(TempFileName, 50, 50)
                        End With
    
                        ImageTopPos = NewImage.Top + NewImage.Height + 10
    
                        With Frame1
                                .Visible = True
                                .ScrollBars = fmScrollBarsVertical
                                        V_ScrollBarHeight = ImageTopPos
                                .ScrollHeight = V_ScrollBarHeight + 25
                        End With
    
                .Close
        End With
                        Fsys.DeleteFile (TempFileName)
    
                        frmImageLoad.Repaint
    Rs.MoveNext
    
    下一个R

        TempFileName = v_ApplPath & "\logs\" & Rs.Fields(3).Value
    
        With Strm
                .Type = adTypeBinary
                .Open
                .Write Rs.Fields(4).Value
                .SaveToFile TempFileName, adSaveCreateOverWrite
    
                        Set NewImage = Frame1.Controls.Add("Forms.Image.1", "Image" & R)
                        With NewImage
                            .Top = ImageTopPos
                            .Left = ImageLeftPos + 250
                            .PictureSizeMode = fmPictureSizeModeZoom
                            .BackStyle = fmBackStyleOpaque
                            .BorderStyle = fmBorderStyleSingle
                            .BackColor = &HFFC0C0
                            .BorderColor = &HFFC0C0
                            .Width = 50
                            .Height = 50
                            .Picture = LoadPicture(TempFileName, 50, 50)
                        End With
    
                        ImageTopPos = NewImage.Top + NewImage.Height + 10
    
                        With Frame1
                                .Visible = True
                                .ScrollBars = fmScrollBarsVertical
                                        V_ScrollBarHeight = ImageTopPos
                                .ScrollHeight = V_ScrollBarHeight + 25
                        End With
    
                .Close
        End With
                        Fsys.DeleteFile (TempFileName)
    
                        frmImageLoad.Repaint
    Rs.MoveNext