新手求助,mfc ado 连接access数据 怎么创建新表,并复制另一表的所有字段呢?

wymesmile 2011-12-02 09:28:05
假如 有 a.mdb 里面有一张表 b,

现在需要新建一个表c,
方案一: 复制b的所有字段到c里面,不复制数据
方案二: 直接把b的字段和数据都给c , 然后再删除C的数据。
该怎么做啊?谢谢各位了。

...全文
197 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
worldy 2011-12-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 acmain_chm 的回复:]
引用方案一: 复制b的所有字段到c里面,不复制数据select * into c from b where 1>2
[/Quote]

不错的方法,复制表结构,但是,不复制数据,因为所有的数据条件都不会成立,所以不会复制
wymesmile 2011-12-04
  • 打赏
  • 举报
回复
谢谢 ,因为是新手 ,所以~~呵呵 不好意思!
[Quote=引用 9 楼 qianjin036a 的回复:]

如果你是用 mfc 连接 ACCESS,然后做上面操作的话,先要建立数据库连接,然后将上面的语句写成字符串,让ACCESS执行,而不是直接在MFC里执行.
[/Quote]
-晴天 2011-12-04
  • 打赏
  • 举报
回复
如果你是用 mfc 连接 ACCESS,然后做上面操作的话,先要建立数据库连接,然后将上面的语句写成字符串,让ACCESS执行,而不是直接在MFC里执行.
-晴天 2011-12-04
  • 打赏
  • 举报
回复
这儿是 ACCESS 版,你是要在 ACCESS 里操作吗?
wymesmile 2011-12-04
  • 打赏
  • 举报
回复
请问,为什么我用这两句话select * into TargetTable from TableName where 1>2之后 ,错误提示啊?

1>d:\work\classifier\nbc\nbc\datadiscretize.cpp(617): error C2065: “into”: 未声明的标识符
1>d:\work\classifier\nbc\nbc\datadiscretize.cpp(617): error C2146: 语法错误: 缺少“;”(在标识符“TargetTable”的前面)
1>d:\work\classifier\nbc\nbc\datadiscretize.cpp(617): error C2146: 语法错误: 缺少“;”(在标识符“from”的前面)
1>d:\work\classifier\nbc\nbc\datadiscretize.cpp(617): error C2065: “from”: 未声明的标识符
1>d:\work\classifier\nbc\nbc\datadiscretize.cpp(617): error C2146: 语法错误: 缺少“;”(在标识符“TableName”的前面)
1>d:\work\classifier\nbc\nbc\datadiscretize.cpp(617): error C2146: 语法错误: 缺少“;”(在标识符“where”的前面)
1>d:\work\classifier\nbc\nbc\datadiscretize.cpp(617): error C2065: “where”: 未声明的标识符
1>d:\work\classifier\nbc\nbc\datadiscretize.cpp(617): error C2143: 语法错误 : 缺少“;”(在“常量”的前面)
1>d:\work\classifier\nbc\nbc\datadiscretize.cpp(619): error C2143: 语法错误 : 缺少“;”(在“}”的前面)
[Quote=引用 6 楼 worldy 的回复:]

引用 1 楼 acmain_chm 的回复:
引用方案一: 复制b的所有字段到c里面,不复制数据select * into c from b where 1>2


不错的方法,复制表结构,但是,不复制数据,因为所有的数据条件都不会成立,所以不会复制
[/Quote]
wymesmile 2011-12-03
  • 打赏
  • 举报
回复
哦, 那样就不需要 提前建表了 是这样吧??
[Quote=引用 4 楼 acmain_chm 的回复:]

select * into c from b where 1>2

你试了没有?!
[/Quote]
ACMAIN_CHM 2011-12-03
  • 打赏
  • 举报
回复
select * into c from b where 1>2

你试了没有?!
wymesmile 2011-12-03
  • 打赏
  • 举报
回复
能不能告诉我 ,怎么创建一个空表啊? 这样才能进行下一步啊!!
看资料中的 都是create table( …… ) 那么这样创建的表,是不是字段都要跟b一样啊? 如果我只想创建一个空表,字段啥的,就直接复制b表该怎办??
[Quote=引用 1 楼 acmain_chm 的回复:]

引用方案一: 复制b的所有字段到c里面,不复制数据 select * into c from b where 1>2
[/Quote]
ACMAIN_CHM 2011-12-02
  • 打赏
  • 举报
回复
[Quote]方案二: 直接把b的字段和数据都给c , 然后再删除C的数据。 [/Quote]
select * into c from b ;
delete from c;
ACMAIN_CHM 2011-12-02
  • 打赏
  • 举报
回复
[Quote]方案一: 复制b的所有字段到c里面,不复制数据[/Quote] select * into c from b where 1>2

7,732

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧