dcz 发表于:2015-02-08 11:05:37
Dim rs As New ADODB.Recordset
……
……
rs.Open strSQL, cn, adOpenStatic, adLockReadOnly
access中,如何把rs中的记录保存为一个新的表?
SELECT tblContacts.intContactId, tblContacts.txtLastName, tblContacts.txtFirstName, tblContacts.txtMiddleName, tblContacts.txtCompany, tblContacts.txtAddress1, tblContacts.txtAddress2, tblContacts.txtCity, tblContacts.txtRegion, tblContacts.txtPostalCode, tblContacts.txtWorkPhone, tblContacts.txtHomePhone, tblContacts.txtCellPhone, tblContacts.txtEmail INTO 111
FROM tblContacts;
这格式怎样?我用生成表查询做的
rs 是一个recordset记录集,不是一个数据库表
SELECT rs!intContactId, rs!txtLastName,
rs!txtFirstName
INTO 111
FROM rs;
我认为rs也是个对象,应该也可以这样用的,只是,好像只能用!号而不能用.号
提示“Microsoft Jet 数据库引擎找不到输入表或查询‘rs'。确定它是否存在,以及它的名称的拼写是否正确。
真是抱歉了,不行,我也试了。
何必那么麻烦?直接用生成查询不就完事了。
用ADO创建数据表你还要做一系列字段类型的判断,吃力不讨好。
因为rs 是从别的数据库取行的数据
你不是有个strSQL吗?就用这个字符串做源,进行生成查询嘛。两句就处理了:
strSQL="select a.* into 阁下要创建的表名称 from (" & strSql & ") as a"
currentdb.execute strSQL
rs.Open strSQL, cn, adOpenStatic, adLockReadOnly
其中cn是连接到sqlserver的,strSQL是在sqlserver中执行的语句,
所以我说rs是从别的数据库中取的数据,
有可能我没有表达清楚,煮江品茶 费心了