| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 302 人关注过本帖
标题:如何把绝对路径转换成选择文件
只看楼主 加入收藏
gdpnking
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2020-7-17
结帖率:50%
收藏
已结贴  问题点数:10 回复次数:5 
如何把绝对路径转换成选择文件
Sub addRecords()
'引用Microsoft ActiveX Data Objects 2.x Library
    Dim cnn As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    Dim SQL As String
    Dim strMsg As String
    cnn.Open "Provider=Microsoft.Ace.OLEDB.12.0;Data Source=" & ThisWorkbook.Path & "\学校管理.accdb"
    SQL = "SELECT A.* FROM [Excel 12.0;Database=" & ThisWorkbook.FullName & ";].[课程$B2:F" & Range("b" & Rows.Count).End(xlUp).Row _
        & "] A LEFT JOIN 课程设计 B ON A.学生编号=B.学生编号 AND A.学生姓名=B.学生姓名 AND A.班级=B.班级 AND A.选课课程=B.选课课程 WHERE B.学生编号 IS NULL"
    rs.Open SQL, cnn, adOpenKeyset, adLockOptimistic
    If rs.RecordCount > 0 Then
        SQL = "INSERT INTO 课程设计 " & SQL
        cnn.Execute SQL
        strMsg = rs.RecordCount & "条记录已添加到数据库!"
    Else
        strMsg = "没有发现可以插入的记录!"
    End If
    MsgBox strMsg, vbInformation, "提示"
    rs.Close
    cnn.Close
    Set rs = Nothing
    Set cnn = Nothing
End Sub

如何把  ThisWorkbook.FullName  转为成打开文件夹选择呢

    Set FileDialogObject = Application.FileDialog(msoFileDialogFilePicker)
    With FileDialogObject
        .Title = "请选择文件"
        .InitialFileName = ThisWorkbook.Path
        .AllowMultiSelect = True
        .Filters.Clear
        .Filters.Add "Excel Files", "*.xls;*.xlsx"
        .Filters.Add "All Files", "*.*"
    End With
    FileDialogObject.Show
    Set ??? = FileDialogObject.SelectedItems
    If ???.Count = 0 Then Exit Sub
搜索更多相关主题的帖子: Set 课程 学生 选择 SQL 
2020-07-22 15:53
gdpnking
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2020-7-17
收藏
得分:0 
这个论坛好像没什么人气
2020-07-23 12:47
ZHRXJR
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:116
帖 子:1009
专家分:5434
注 册:2016-5-10
收藏
得分:5 
使用 CommonDialog1 控件非常简单,获取需要的文件就可以了。
程序代码:
Private Sub Command1_Click()
On Error GoTo AAA
    CommonDialog1.InitDir = "C:\Windows"   '设置需要打开的目录
    CommonDialog1.Filter = "Excel文件(xlsx)|*.xlsx|Excel文件(xls)|*.xls"   '需要打开的文件类型,这里只能打开 *.xlsx 与 *.xls 类型的文件
    CommonDialog1.CancelError = True
    CommonDialog1.ShowOpen   '选择文件后就可以打开了
    Text1.Text = CommonDialog1.FileName      '文本框 Text1 显示了选择文件的路径+文件名+扩展名
    '也就是 CommonDialog1.FileName 是你选择的文件的绝对路径
Exit Sub
AAA:
    If Err.Number = 32755 Then
        MsgBox "你点击了【取消】按钮,将放弃这个操作!"
    Else
        MsgBox "发生了其他错误!"
    End If
End Sub

请不要选我做版主
2020-07-26 09:44
gdpnking
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2020-7-17
收藏
得分:0 
回复 3楼 ZHRXJR
Sub addRecords()
'引用Microsoft ActiveX Data Objects 2.x Library
    Dim cnn As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    Dim SQL As String
    Dim strMsg As String
    cnn.Open "Provider=Microsoft.Ace.OLEDB.12.0;Data Source=" & ThisWorkbook.Path & "\学校管理.accdb"
    SQL = "SELECT A.* FROM [Excel 12.0;Database=" & ThisWorkbook.FullName & ";].[课程$B2:F" & Range("b" & Rows.Count).End(xlUp).Row _
        & "] A LEFT JOIN 课程设计 B ON A.学生编号=B.学生编号 AND A.学生姓名=B.学生姓名 AND A.班级=B.班级 AND A.选课课程=B.选课课程 WHERE B.学生编号 IS NULL"
    rs.Open SQL, cnn, adOpenKeyset, adLockOptimistic
    If rs.RecordCount > 0 Then
        SQL = "INSERT INTO 课程设计 " & SQL
        cnn.Execute SQL
        strMsg = rs.RecordCount & "条记录已添加到数据库!"
    Else
        strMsg = "没有发现可以插入的记录!"
    End If
    MsgBox strMsg, vbInformation, "提示"
    rs.Close
    cnn.Close
    Set rs = Nothing
    Set cnn = Nothing
End Sub


老师您好,上面的代码是从Excel 导入Access ,但是不能指定列,有的列不用导入                     
问题出现在这个   SQL = "INSERT INTO 课程设计 " & SQL
如果才能指定整列导入呢

[此贴子已经被作者于2020-7-27 00:02编辑过]

2020-07-26 15:16
cwa9958
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:6
帖 子:63
专家分:326
注 册:2006-6-25
收藏
得分:5 
建议用记录集,不要用insert into
把excel用ado打开
select 字段1,字段2,字段3,字段4 from 表 where 条件
然后一条一条记录拷贝到access数据库里。

2020-07-27 07:57
ZHRXJR
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:116
帖 子:1009
专家分:5434
注 册:2016-5-10
收藏
得分:0 
回复 4楼 gdpnking
其实不用这样繁琐,使用二个Connection对象与二个Recordset对象
一个Connection连接Access数据库,一个Connection连接Excel,也作为数据库处理
二个Recordset分别连接各自的数据表与工作簿
将Excel数据读出来,导入Access,应该比较简单与灵活
由于不知道你的Access数据库与Excel的结构,无法给出具体的代码

请不要选我做版主
2020-07-27 21:47
快速回复:如何把绝对路径转换成选择文件
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.074661 second(s), 8 queries.
Copyright©2004-2020, BCCN.NET, All Rights Reserved