以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]ftp如何直接连接到已有的绝对路径? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=65581) |
-- 作者:liujywwy -- 发布时间:2015/3/18 16:27:00 -- [求助]ftp如何直接连接到已有的绝对路径? 当“发布目录”没有内容,是直接打开FTP管理器,然后创建目录,上传文件等等。 但是呢当发布目录有内容,内容就是一个绝对路径,希望直接ftp到这个绝对路径。如何else呢? If e.Col.Name = "发布目录" Then e.Cancel= True If e.Row.IsNull("发布目录")= True Then Forms("FTP管理器").open Else *********** End If
|
-- 作者:有点甜 -- 发布时间:2015/3/18 16:31:00 --
然后去编写窗口的afterload事件
ftp1.RootDir = vars("路径") |
-- 作者:liujywwy -- 发布时间: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 |
-- 作者:有点甜 -- 发布时间: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 -- 发布时间:2015/3/18 17:16:00 -- 这样不行吧,不打开ftp了? |
-- 作者:有点甜 -- 发布时间:2015/3/18 17:41:00 -- 以下是引用liujywwy在2015/3/18 17:16:00的发言:
这样不行吧,不打开ftp了?
打开默认的ftp?
Dim ftp As New FtpClient |
-- 作者:liujywwy -- 发布时间:2015/3/18 17:49:00 -- 我没说清楚。 不是打开默认的ftp。仍然是打开FTP管理器窗口。只不过FTP管理器的afterload不是每次都自动创建子目录ml么。 只有当发表目录为空,那么打开FTP管理器那是对的,会自动按照时间创建目录。 但是呢,当发布目录已经有了路径,那么打开的应该是这个路径的FTP,仍然是FTP管理器窗口,只不过这样又执行了一次afterload,又创建了一个新的时间目录。而不是打开已有的ftp路径。 就是有这个矛盾,不知道该怎么弄。
|
-- 作者:有点甜 -- 发布时间:2015/3/18 18:07:00 -- 看2楼
在afterload事件判断一下 vars("路径") 就行啊
-------------
If e.Col.Name = "发布目录" Then vars("路径") = e.Row("发布目录") 然后去编写窗口的afterload事件
If vars("路径") = "" then
End If |
-- 作者:liujywwy -- 发布时间: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 |
-- 作者:有点甜 -- 发布时间:2015/3/19 10:18:00 -- 你加入msgbox看一下是否进入执行了代码啊。
如果执行了,你再去看一下你的表名是不是写错了啊,是不是副本表 |