Foxtable(狐表)用户栏目专家坐堂 → 一个款号有多个,文件 文件,图片前缀名字跟款号名一致时,怎样自动批量插入


  共有9372人关注过本帖树形打印复制链接

主题:一个款号有多个,文件 文件,图片前缀名字跟款号名一致时,怎样自动批量插入

帅哥哟,离线,有人找我吗?
lin_hailun
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/9 18:12:00 [显示全部帖子]

  你做一个按钮,然后运行代码。

Dim dlg As New FolderBrowserDialog
If dlg.ShowDialog = DialogResult.Ok Then
    For Each file As String In FileSys.GetFiles(dlg.SelectedPath)
        Dim fullname As String = FileSys.GetName(file)
        Dim ext As String = fullname.Substring(fullname.IndexOf("."))
        Dim name As String = left(fullname, 5)
        Dim fdr = DataTables("表A").Find("款号 = '" & Name & "'")
        If fdr IsNot Nothing Then
            Select Case ext
                Case ".jpg"
                    fdr("照片") &= fullname & vbcrlf
                    FileSys.CopyFile(file, DataTables("表A").DataCols("照片").DefaultFolder & "\" & fullname, True)
                Case ".xls", ".xlsx"
                    fdr("资料") &= fullname & vbcrlf
                    FileSys.CopyFile(file, DataTables("表A").DataCols("资料").DefaultFolder & "\" & fullname, True)
            End Select
        End If
    Next
End If
[此贴子已经被作者于2013-1-9 18:12:39编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/10 9:04:00 [显示全部帖子]

 这样

Dim filePath As String = "d:\"

For Each file As String In FileSys.GetFiles(filePath)
    Dim fullname As String = FileSys.GetName(file)
    Dim ext As String = fullname.Substring(fullname.IndexOf("."))
    Dim name As String = left(fullname, 5)
    Dim fdr = DataTables("表A").Find("款号 = '" & Name & "'")
    If fdr IsNot Nothing Then
        Select Case ext
            Case ".jpg"
                fdr("照片") &= fullname & vbcrlf
                FileSys.CopyFile(file, DataTables("表A").DataCols("照片").DefaultFolder & "\" & fullname, True)
            Case ".xls", ".xlsx"
                fdr("资料") &= fullname & vbcrlf
                FileSys.CopyFile(file, DataTables("表A").DataCols("资料").DefaultFolder & "\" & fullname, True)
        End Select
    End If
Next

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/10 9:28:00 [显示全部帖子]

 Dim filePath As String = "d:\"

For Each file As String In FileSys.GetFiles(filePath)
    Dim fullname As String = FileSys.GetName(file)
    Dim ext As String = fullname.Substring(fullname.IndexOf("."))
    Dim name As String = left(fullname, 5)
    Dim fdr = DataTables("表A").Find("款号 = '" & Name & "'")
    If fdr IsNot Nothing Then
        Select Case ext
            Case ".jpg"
                If fdr("照片").IndexOf(fullname) = -1 then
                    fdr("照片") &= fullname & vbcrlf
                    FileSys.CopyFile(file, DataTables("表A").DataCols("照片").DefaultFolder & "\" & fullname, True)
                End If
            Case ".xls", ".xlsx"
                If fdr("资料").IndexOf(fullname) = -1 Then
                    fdr("资料") &= fullname & vbcrlf
                    FileSys.CopyFile(file, DataTables("表A").DataCols("资料").DefaultFolder & "\" & fullname, True)
                End If
        End Select
    End If
Next

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/24 14:38:00 [显示全部帖子]

以下是引用冰31脚在2013-1-23 19:00:00的发言:

如果只识别前面的编号也是可以的,编号是按月编的,每月一个文件夹,

还有一个问题是代码执行下来,文件都会拷贝到Attachments文件夹中,那样的话项目会越来越大,能不能不拷贝文件,只是建立起表跟原文件之间的一个连接,方便从表中直接打开文件就可以了


具体的问题,可以另开帖子提问,还有就是最好上传足够的测试数据。

 回到顶部