设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 3638|回复: 6
打印 上一主题 下一主题

[查询] 数据库路径获取写法

[复制链接]
跳转到指定楼层
1#
发表于 2013-1-26 20:41:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Public Sub 技巧12_018()
    Dim mydata As String, mytable As String, SQL As String
    Dim cnn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim i As Integer
    ActiveSheet.Cells.Clear
    mydata = ThisWorkbook.Path & "\成绩管理.mdb"    '指定数据库     数据库和EXCEL表在同一文件夹下
如果数据库在其他文件夹下,该如何写
数据库在D盘FY13文件夹\office\access\第12章下,下面路径如何写?
mydata = "D:\FY13\office\ACCESS\第12章".path & "\成绩管理.mdb" '指定数据库

    mytable = "考试成绩"      '指定数据表
    '建立与数据库的连接
    Set cnn = New ADODB.Connection
    With cnn
        .Provider = "microsoft.jet.oledb.4.0"
        .Open mydata
    End With
   
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2013-1-26 22:09:18 | 只看该作者
本帖最后由 todaynew 于 2013-1-26 22:10 编辑

"D:\FY13\office\ACCESS\第12章\成绩管理.mdb" 这种写法叫做绝对路径。

ThisWorkbook.Path & "\成绩管理.mdb" 或者Me.Application.CurrentProject.Path  & "\成绩管理.mdb" 这类写法叫做相对路径。

一般来说作为系统的后台一般都采用相对路径写法,这样有利于部署。

绝对路径通常在临时性连接时使用,不如查找到一个文件,然后连接它。
3#
 楼主| 发表于 2013-3-1 16:24:03 | 只看该作者
本帖最后由 yangguangyi 于 2013-3-1 17:09 编辑
todaynew 发表于 2013-1-26 22:09
"D:\FY13\office\ACCESS\第12章\成绩管理.mdb" 这种写法叫做绝对路径。

ThisWorkbook.Path & "\成绩管理 ...


我这样写为什么有错误,在目标F13 Database中字段F47不存在
Sub 导入数据库()
    Dim mydata As String, myFile As String, myTable
    Dim myaccess As Access.Application
    Dim myCmd As ADODB.Command
    mydata = ThisWorkbook.Path & "\FY13.mdb"    '指定数据库名称(包括完整路径)
    myFile = ThisWorkbook.FullName    '指定工作簿名称
    myTable = "FY13 Database"    '指定数据表名称
    On Error Resume Next
    Kill mydata    '删除原有的同名文件
    On Error GoTo 0
    '创建数据库文件
    Set myaccess = CreateObject("Access.Application")
    myaccess.NewCurrentDatabase mydata
    '将搜索到的工作簿数据导入Access数据库
    DoCmd.TransferSpreadsheet acImport, 8, myTable, myFile, True, ""
    MsgBox "工作簿数据导入数据库成功!", vbInformation + vbOKOnly
    myaccess.CloseCurrentDatabase
    Set myaccess = Nothing
    Application.StatusBar = False
End Sub
4#
 楼主| 发表于 2013-5-23 09:00:19 | 只看该作者
todaynew 发表于 2013-1-26 22:09
"D:\FY13\office\ACCESS\第12章\成绩管理.mdb" 这种写法叫做绝对路径。

ThisWorkbook.Path & "\成绩管理 ...

谢谢版主
有这样一个问题请教
我的电脑里有ACCESS数据库,但是另一台电脑没有安装ACCESS。 两台电脑是在局域网
我想让没有安装ACCESS电脑通过类似以下代码获取数据到EXCEL
我的数据库路径 43.98.57.13/ D盘 /FY13文件夹/ 数据库/FY13
Dim mydata As String, mytable As String, SQL As String
    Dim cnn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim i As Integer
    ActiveSheet.Cells.Clear
5#
发表于 2013-5-23 15:38:48 | 只看该作者
用Me.Application.CurrentProject.Path好一点,This.workpathhaoxiangyao 引入什么东西
6#
 楼主| 发表于 2013-5-28 07:39:29 | 只看该作者
竹笛 发表于 2013-5-23 15:38
用Me.Application.CurrentProject.Path好一点,This.workpathhaoxiangyao 引入什么东西

初学者,还请帮忙写的详细点,谢谢!
7#
发表于 2013-5-28 16:32:37 | 只看该作者
yangguangyi 发表于 2013-5-28 07:39
初学者,还请帮忙写的详细点,谢谢!

你就用Me.Application.CurrentProject.Path吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-10 11:37 , Processed in 0.088844 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表