Office中国论坛/Access中国论坛
标题:
表结构判断
[打印本页]
作者:
ycxchen
时间:
2009-2-10 15:56
标题:
表结构判断
我想从将一个XSL格式的数据表导入到一个表中,但不知如何用代码判断两表结构相同?以便相同时导入,不同时提示不导入。盼各位指教。
作者:
Grant
时间:
2009-2-10 16:11
你的结构是否指表字段名称相同
作者:
ycxchen
时间:
2009-2-10 16:15
是的,请指教
作者:
ACMAIN_CHM
时间:
2009-2-10 16:26
提供一个思路,通过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
.
作者:
ycxchen
时间:
2009-2-10 16:57
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三个变量不明,在例子中不见有声明变量的语句,最好帮忙写个解释
[attach]34985[/attach]
作者:
ycxchen
时间:
2009-2-11 09:00
对5楼的代码有部分看不明,请问,对本问题如何写代码较好?
作者:
ycxchen
时间:
2009-2-11 10:01
搞糊涂了,5楼所说的lstA、.lblA. lstB是窗体控件,原来在查看时看不见。不知5楼的代码完善吗?
作者:
chaojianan
时间:
2009-2-11 11:52
谢谢提供代码,收藏了。
作者:
ycxchen
时间:
2009-2-11 17:41
还有其它办法吗?
作者:
wjsfeng
时间:
2009-2-12 15:35
学习了
作者:
ycxchen
时间:
2009-2-12 17:59
看来,只好按4楼的办法解决了
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3