Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

[5分]查找图片

菜鸟  发表于:2015-11-26 15:59:45  
复制

 老师:

可根据R12345A0找出这样的路径的图片吗?如:R12345A0(ky)(dsc).jpg 其中(ky)(dsc)这个是没有规律的,字段有可能比这个多也可能比这个少,也不一定是什么字符!


谢谢!

 

Top
煮江品茶 发表于:2015-11-26 17:30:43

if left(picpath,8)="R12345A0" then

     '你要做的处理

end if



菜鸟 发表于:2015-11-27 08:50:29
我是想根据R12345A0取图片的路径的,picpath是我想取的值,但是不知怎么取!

菜鸟 发表于:2015-11-30 08:46:06
有老师有这方面的经验吗?

菜鸟 发表于:2015-12-01 11:46:32
找大师就解!

cspa 发表于:2015-12-01 12:23:46

picpath=R12345A0(ky)(dsc).jpg

路径=left(picpath,8)

图像文件名=mid(picpath,9,len(picpath)-8)



菜鸟 发表于:2015-12-02 08:51:51
我是想根据R12345A0取图片的路径的,picpath是我想取的值,但是不知怎么取!

zhaoyoulong 发表于:2015-12-02 10:48:33

用搜索方法实现

strFile = Dir(StrPath, vbDirectory Or vbHidden Or vbNormal Or vbReadOnly)  
    '搜索当前目录
        While strFile <> ""         
            If (GetAttr(StrPath + strFile) And vbDirectory) <> vbDirectory Then    
               if    strFile Like “R12345A0*” Then                    
                 ......
                End If
            End If
            strFile = Dir    '查找下一个目标
        Wend



菜鸟 发表于:2015-12-03 10:14:27
Private Sub StyleNo_AfterUpdate()
Dim strFile As String
Dim strpath As String

'P:\Sketch\Photo' 老师这个是图片路径,应该怎么改呢,图片放在photo文件夹中
strFile = Dir(strpath, vbDirectory Or vbHidden Or vbNormal Or vbReadOnly)
    '搜索当前目录
        While strFile <> ""
            If (GetAttr(strpath + strFile) And vbDirectory) <> vbDirectory Then
               If strFile Like '" &Me.StyleNo* & "' Then   ,Me.StyleNo 是图片名的前部份,如:R12345A0

                 Me.imgPicture1.Picture = strFile   ,显示图片

                Me.ImagePath1 =“P:\Sketch\Photo\" & strFile    '取图片的完整路径

                End If
            End If
            strFile = Dir    '查找下一个目标
        Wend

End Sub


cspa 发表于:2015-12-03 12:17:44

改为(注意黄*色部分):

Private Sub StyleNo_AfterUpdate()

Dim strFile As String
Dim strpath As String

'P:\Sketch\Photo' 老师这个是图片路径,应该怎么改呢,图片放在photo文件夹中

strpath="P:\Sketch\Photo"

strFile = Dir(strpath, vbDirectory Or vbHidden Or vbNormal Or vbReadOnly)

    '搜索当前目录
        While strFile <> ""
            If (GetAttr(strpath + strFile) And vbDirectory) <> vbDirectory Then
               If strFile Like "*"Me.StyleNo & "*" Then   'Me.StyleNo 是图片名的前部份,如:R12345A0

                 Me.imgPicture1.Picture = strFile   ,显示图片

                Me.ImagePath1 =strFile    '取图片的完整路径

                End If
            End If
            strFile = Dir    '查找下一个目标
        Wend

End Sub


zhaoyoulong 发表于:2015-12-03 12:42:05
Private Sub StyleNo_AfterUpdate()
Dim strFile As String
Dim strpath As String

strpath =“P:\Sketch\Photo”
strFile = Dir(strpath, vbDirectory Or vbHidden Or vbNormal Or vbReadOnly)
    '搜索当前目录
        While strFile <> ""
            If (GetAttr(strpath + strFile) And vbDirectory) <> vbDirectory Then
               If strFile Like  Me.StyleNo  & "*.jpg“ Then   ' Me.StyleNo 是图片名的前部份,如:R12345A0    [.jpg]加进去主要是为了区分非图片文件

                 Me.imgPicture1.Picture = strpath &  “\” &  strFile   '显示图片

                Me.ImagePath1 =strpath &  “\” &  strFile     '取图片的完整路径

                End If
            End If
            strFile = Dir    '查找下一个目标
        Wend

End Sub

菜鸟 发表于:2015-12-03 13:54:45

运行有问题,提示文件未找到,,调试的结果!



zhaoyoulong 发表于:2015-12-03 14:33:37
少了一个斜扛

zhaoyoulong 发表于:2015-12-03 14:34:53
GetAttr(strpath + strFile) 改成 GetAttr(strpath & “\” &  strFile) 试试

菜鸟 发表于:2015-12-03 15:10:39
可以了大师,不过如果图片多的话,运行得很慢!有没有方法提速的呢?

zhaoyoulong 发表于:2015-12-04 09:59:47
这个过程是对文件夹内所有文件进行循环一遍的,而且还要加载图片到控件中,加上文件数量可观自然会很慢的!

zhaoyoulong 发表于:2015-12-04 10:00:37
是不是就是为了好看呢?

菜鸟 发表于:2015-12-04 13:29:17
不是为了好看,是很有用处,就是图片太多,就很慢!

总记录:17篇  页次:1/1 9 1 :