Office中国论坛/Access中国论坛
标题:
再请教两个问题。
[打印本页]
作者:
williamwangc
时间:
2011-12-11 19:36
标题:
再请教两个问题。
RT.我现在有两个问题。
问题一:请看以下的代码。
Dim fso As Scripting.FileSystemObject
Dim str_SaveFolderPath As String
Dim str_合同名称 As String
Dim str_施工单位 As String
str_合同名称 = Nz(Forms!项目各类信息汇总.合同名称.Value)
str_施工单位 = Nz(Forms!项目各类信息汇总.施工单位.Value)
Set fso = New Scripting.FileSystemObject
If Len(Dir(CurrentProject.Path & "" & "协力项目填写" & str_合同名称 & "_" & str_施工单位)) > 0 Then
Me.txt_SavePath = CurrentProject.Path & "" & "协力项目填写" & str_合同名称 & "_" & str_施工单位
Else
On Error Resume Next
fso.CreateFolder CurrentProject.Path & "" & "协力项目填写" & str_合同名称 & "_" & str_施工单位
Me.txt_SavePath = CurrentProject.Path & "" & "协力项目填写" & str_合同名称 & "_" & str_施工单位
End If
If Me.txt_SavePath <> "" Then
Me.cmd_安全抵押金与合同情况表.Enabled = True
Me.cmd_安全技术交底书.Enabled = True
Me.cmd_外协人员导出.Enabled = True
Me.cmd_危险源辨识表.Enabled = True
Me.cmd_许可证申请表等.Enabled = True
Me.cmd_综治维稳协议.Enabled = True
End If
复制代码
关键在以下这段代码:
On Error Resume Next
fso.CreateFolder CurrentProject.Path & "\" & "协力项目填写\" & str_合同名称 & "_" & str_施工单位
Me.txt_SavePath = CurrentProject.Path & "\" & "协力项目填写\" & str_合同名称 & "_" & str_施工单位
由于我设置了跳过错误,所以运行时没有问题。如果没有的话,他会显示文件夹已经创建。我已经用ELSE语句了。为什么创建了之后他还会读这段代码呢?
问题2:
关于前后台的问题。我在拆分ACCESS之后,为什么ADO还是有效的呢?
例如:
Dim rst As ADODB.Recordset
Set rst = New ADODB.Recordset
rst.Open "测试", CurrentProject.Connection, adOpenDynamic, adLockOptimistic
rst.AddNew
rst!姓名 = Me.txt_姓名.Value
rst!班级 = Me.txt_班级.Value
rst.Update
rst.Close
复制代码
在我想来,在拆分后,currentproject.connection应该改为后台所在数据库的地址了吧?所以我对这个connection有点搞不懂了。
能不能请楼主解释以下这个connection?
还有在使用前后台时还应该注意什么么?
作者:
roych
时间:
2011-12-11 21:22
1、On Error Resume Next应当放在If前面。其实最好的办法应该是这样:
Sub test()
Dim fso As New FileSystemObject
If fso.FolderExists(CurrentProject.Path & "\New Folder") = True Then
Kill CurrentProject.Path & "\New Folder"
Else
fso.CreateFolder CurrentProject.Path & "\New Folder"
End If
End Sub
复制代码
2、拆分跟ADO没关系。CurrentProject.Connection指的是当前数据库的所有数据连接,当然包括链接表形式的了。除非链接失效或者无权访问后台,否则ADO或者DAO都是可以和数据建立起数据连接的。
这也是为什么我们经常需要在后台数据库里设置密码的原因(不知道密码ADO当然也连接不到了),——虽然这是防君子不防小人的做法,但在一定程度上还是保证了数据库的安全性。
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3