设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 1315|回复: 10
打印 上一主题 下一主题

[窗体] 表结构判断

[复制链接]
跳转到指定楼层
1#
发表于 2009-2-10 15:56:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想从将一个XSL格式的数据表导入到一个表中,但不知如何用代码判断两表结构相同?以便相同时导入,不同时提示不导入。盼各位指教。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2009-2-10 16:11:04 | 只看该作者
你的结构是否指表字段名称相同
3#
 楼主| 发表于 2009-2-10 16:15:42 | 只看该作者
是的,请指教
4#
发表于 2009-2-10 16:26:49 | 只看该作者
提供一个思路,通过ADO打开XLS文件,并打开对应的SHEET的recordset,然后检查recordset.fields的字段名,字段类型,与目标表的recordset.fields做对比看是否兼容。

rsXls.open "select * from [Excel 8.0;Database=c:\book1.xls].[Sheet1$] ",conn
rsTbl.open  "select * from MyTable",conn

for i = 0 to rsxls.fields.count-1
    if rsXls.fields(i).name = rsTbl.fields(i).name then ...
    if rsXls.fields(i).type= rsTbl.fields(i).type then ...
next





******************
*  一切皆有可能  *
******************

.

.
QQ群 48866293 / 12035577 / 7440532 / 13666209
http://forum.csdn.net/SList/Access .
http://www.accessbbs.cn/bbs/index.php .
http://www.accessoft.com/bbs/index.asp .
http://www.access-programmers.co.uk/forums .
http://www.office-cn.net .
.
http://www.office-cn.net/home/space.php?uid=141646 .
5#
 楼主| 发表于 2009-2-10 16:57:06 | 只看该作者
4# ACMAIN_CHM
十分感谢CHN!你的思路值得参考。
从本站下载了一例子,其代码用于判别表字段的,具体如下:
On Error GoTo Exit_Err
    DoCmd.OpenForm "数据导入项目"
    Dim CX As Integer
    Dim i As Integer
    Dim strItem As String
    strItem = ""
    Dim xRst As ADODB.Recordset
    Set xRst = CurrentProject.Connection.Execute("Select  * From " & Me.cboTableName.Column(2))
    CX = xRst.Fields.Count
    For i = 0 To CX - 1
        If strItem <> "" Then strItem = strItem & ";"
        strItem = strItem & xRst.Fields(i).Name
    Next
    xRst.Close
    Set xRst = Nothing
    With Forms("数据导入项目")
        .lstA.RowSource = strItem
        .lblA.Caption = Me.cboTableName.Column(1) & "包含的项目:"
        .lstB.RowSource = strCurItem
        If strItem <> strCurItem Then
            MsgBox "将要导入的数据与目标数据项目不符!", 48, "警告"
            .lstB.ForeColor = 255
            'Else
            ' MsgBox "将要导入的数据与目标数据项目相同!", 64, "提示"
        End If
    End With
    Exit Sub
对其中lstA、.lblA.  lstB三个变量不明,在例子中不见有声明变量的语句,最好帮忙写个解释

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
6#
 楼主| 发表于 2009-2-11 09:00:14 | 只看该作者
对5楼的代码有部分看不明,请问,对本问题如何写代码较好?
7#
 楼主| 发表于 2009-2-11 10:01:13 | 只看该作者
搞糊涂了,5楼所说的lstA、.lblA.  lstB是窗体控件,原来在查看时看不见。不知5楼的代码完善吗?
8#
发表于 2009-2-11 11:52:54 | 只看该作者
谢谢提供代码,收藏了。
9#
 楼主| 发表于 2009-2-11 17:41:05 | 只看该作者
还有其它办法吗?
10#
发表于 2009-2-12 15:35:10 | 只看该作者
学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-2-25 16:57 , Processed in 0.104735 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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