Foxtable(狐表)用户栏目专家坐堂 → [求助]ftp如何直接连接到已有的绝对路径?


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

主题:[求助]ftp如何直接连接到已有的绝对路径?

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


加好友 发短信
等级:三尾狐 帖子:633 积分:4034 威望:0 精华:0 注册:2014/6/23 10:27:00
[求助]ftp如何直接连接到已有的绝对路径?  发帖心情 Post By:2015/3/18 16:27:00 [只看该作者]

当“发布目录”没有内容,是直接打开FTP管理器,然后创建目录,上传文件等等。
但是呢当发布目录有内容,内容就是一个绝对路径,希望直接ftp到这个绝对路径。如何else呢?
If e.Col.Name = "发布目录" Then
    e.Cancel= True
    If e.Row.IsNull("发布目录")= True Then 
    Forms("FTP管理器").open
Else
***********
End If

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/3/18 16:31:00 [只看该作者]


If e.Col.Name = "发布目录" Then
    e.Cancel= True
    If e.Row.IsNull("发布目录")= True Then
        Forms("FTP管理器").open
    Else
        vars("路径") = e.Row("发布目录")
        Forms("FTP管理器").open
    End If
    
    
 

然后去编写窗口的afterload事件

 

ftp1.RootDir = vars("路径")


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


加好友 发短信
等级:三尾狐 帖子:633 积分:4034 威望:0 精华:0 注册:2014/6/23 10:27:00
  发帖心情 Post By:2015/3/18 16:53:00 [只看该作者]

CellButtonClick:
If e.Col.Name = "发布目录" Then
    e.Cancel= True
    If e.Row.IsNull("发布目录")= True Then
        Forms("FTP管理器").open
    Else
        vars("路径") = e.Row("发布目录")
        Dim ftp As New FtpClient
        ftp.Host="192.168.1.35"
        ftp.Account = "tester"
        ftp.Password = "tester"
        ftp.RootDir = vars("路径")
        msgbox(vars("路径"))--------弹出的路径倒是对的,就是ftp没有连接。
    End If
End If
afterload:并没有改,因为afterload创建是ml目录,不知道再怎么让ftp按照vars(“路径”)来打开。
Dim ftp As New FtpClient
ftp.Host="192.168.1.35"
ftp.Account = "tester"
ftp.Password = "tester"

ftp.ChangeDir("/待用户现场确认版本_产线禁止使用/2015")   '进入到待用户现场确认版本_产线禁止使用\2015目录
Dim lj As String = "/待用户现场确认版本_产线禁止使用/2015/" & Tables("临时版本跟踪表").current("临时版本编号") & "(" & Tables("临时版本跟踪表").current("客户") & "_" & Tables("临时版本跟踪表").current("博达机型") & ")"

If ftp.DirExists(lj) = False Then   '不存在临时版本编号目录时先创建临时版本编号目录
    ftp.MakeDir(lj)
End If
Dim ml As String = lj  & "/" & Format(Date.now, "yyyy-MM-dd HH-mm-ss")
If ftp.DirExists(ml) = False Then  '按照系统时间来创建时间目录
    ftp.MakeDir(ml)
End If
Tables("临时版本跟踪表").Current("发布目录") = ml
vars("zhygwjj") = ml

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/3/18 17:05:00 [只看该作者]

If e.Col.Name = "发布目录" Then
    e.Cancel= True
    If e.Row.IsNull("发布目录")= True Then
        Forms("FTP管理器").open
    Else
        e.Col.FileManager.FTPclient.RootDir = e.Row("发布目录")
    End If

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


加好友 发短信
等级:三尾狐 帖子:633 积分:4034 威望:0 精华:0 注册:2014/6/23 10:27:00
  发帖心情 Post By:2015/3/18 17:16:00 [只看该作者]

这样不行吧,不打开ftp了?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/3/18 17:41:00 [只看该作者]

以下是引用liujywwy在2015/3/18 17:16:00的发言:
这样不行吧,不打开ftp了?

 

打开默认的ftp?

 

Dim ftp As New FtpClient
ftp.Host="192.168.1.35"
ftp.Account = "tester"
ftp.Password = "tester"
ftp.RootDir = e.Row("发布目录")
ftp.OpenManager


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


加好友 发短信
等级:三尾狐 帖子:633 积分:4034 威望:0 精华:0 注册:2014/6/23 10:27:00
  发帖心情 Post By:2015/3/18 17:49:00 [只看该作者]

我没说清楚。
不是打开默认的ftp。仍然是打开FTP管理器窗口。只不过FTP管理器的afterload不是每次都自动创建子目录ml么。
只有当发表目录为空,那么打开FTP管理器那是对的,会自动按照时间创建目录。
但是呢,当发布目录已经有了路径,那么打开的应该是这个路径的FTP,仍然是FTP管理器窗口,只不过这样又执行了一次afterload,又创建了一个新的时间目录。而不是打开已有的ftp路径。
就是有这个矛盾,不知道该怎么弄。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/3/18 18:07:00 [只看该作者]

 看2楼

 

 在afterload事件判断一下 vars("路径") 就行啊

 

-------------

 

If e.Col.Name = "发布目录" Then
    e.Cancel= True

    vars("路径") = e.Row("发布目录")
    Forms("FTP管理器").open

    
     

然后去编写窗口的afterload事件

 

If vars("路径") = "" then

 

End If


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


加好友 发短信
等级:三尾狐 帖子:633 积分:4034 威望:0 精华:0 注册:2014/6/23 10:27:00
  发帖心情 Post By:2015/3/19 10:15:00 [只看该作者]

afterload如下:
但是呢Tables("临时版本跟踪表").current("发布目录") = lj却没执行。导致发布目录的值仍然为空,正常情况应是当发布目录为空,执行下面的代码后发布目录应该是一个路径才对。
If vars("路径") = "" Then
Dim ftp As New FtpClient
ftp.Host="192.168.1.35"
ftp.Account = "tester"
ftp.Password = "tester"

ftp.ChangeDir("/待用户现场确认版本_产线禁止使用/2015")   '进入到待用户现场确认版本_产线禁止使用\2015目录
Dim lj As String = "/待用户现场确认版本_产线禁止使用/2015/" & Tables("临时版本跟踪表").current("临时版本编号") & "(" & Tables("临时版本跟踪表").current("客户") & "_" & Tables("临时版本跟踪表").current("博达机型") & ")"

If ftp.DirExists(lj) = False Then   '不存在临时版本编号目录时先创建临时版本编号目录
    ftp.MakeDir(lj)
End If
Dim ml As String = lj  & "/" & Format(Date.now, "yyyy-MM-dd HH-mm-ss")
If ftp.DirExists(ml) = False Then  '按照系统时间来创建时间目录
    ftp.MakeDir(ml)
End If
Tables("临时版本跟踪表").current("发布目录") = lj
vars("zhygwjj") = ml

msgbox(vars("路径"))
ftp.Close
Else
Functions.Execute("listview")
End If


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/3/19 10:18:00 [只看该作者]

 你加入msgbox看一下是否进入执行了代码啊。

 

 如果执行了,你再去看一下你的表名是不是写错了啊,是不是副本表


 回到顶部
总数 25 1 2 3 下一页