设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[帮助] 求助!ACCESS中用SQL创建表

[复制链接]
跳转到指定楼层
1#
发表于 2012-2-29 15:02:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ACCESS中用SQL创建表时,怎么用定义的变量值命名表
如:SQL = "CREATE TABLE GCBMC ([朋友ID] COUNTER,[姓名] Stringr,PRIMARY KEY ([朋友ID]));"
DoCmd.RunSQL SQL
MsgBox ("表创建成功")
但创建的表的名称是GCBMC,而我的本意是GCBMC是一变量,程序运行到这里时他的值为“朋友”,所以应该是创建了一个名称为朋友的表,而不是GCBMC表!
请高手指点啊
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2012-2-29 15:23:44 | 只看该作者
GCBMC="表名"
SQL = "CREATE TABLE "& GCBMC &" ([朋友ID] COUNTER,[姓名] Stringr,PRIMARY KEY ([朋友ID]));"
3#
 楼主| 发表于 2012-2-29 15:45:09 | 只看该作者
谢谢!不过你的做法还是不行啊!
我命名完表后再用变量更改表名可以实现了
DoCmd.Rename 朋友, acTable, "GCBMC"
4#
 楼主| 发表于 2012-2-29 15:47:45 | 只看该作者
新的问题是,如果我要增加字段名,SQL能不能实现啊!增加的数量是个变量!直接用VBA能不能实现呢?》
5#
发表于 2012-2-29 16:03:00 | 只看该作者
可以的,
但你要传例子!
2楼不是不行,而是绝对行!
只是你没有例子!
6#
 楼主| 发表于 2012-2-29 16:29:51 | 只看该作者
谢谢,例子还没完全写完,所以也不方便传出来!这里贴一段代码参考
   If 监测项目列表.Column(0, 监测项目列表.ListIndex) = 14 Then
    k = InputBox("本工程该监测项目不存在,请输入" & 监测项目列表.Column(1, 监测项目列表.ListIndex) & "监测点数量")
    SQL = "CREATE TABLE JCXMB ([第几次观测] COUNTER,[水位监测点1] Integer,PRIMARY KEY ([第几次观测]));"
   '运行SQL语句创建表
    DoCmd.RunSQL SQL
    For n = 2 To k
    CurrentDb.Execute "Alter Table JCXMB Add Column 水位监测点 & n Integer"
    Next n
    DoCmd.Rename GCBMC, acTable, "JCXMB" '更改表的名称
   End If
  End If
现在的问题就是我没办法给表增加K-1个字段,字段名称分别为水位监测点2、水位监测点3.。。。。。水位监测点k
用水位监测点 & n 实现不了。还请指点啊
7#
 楼主| 发表于 2012-2-29 16:58:38 | 只看该作者
两位大哥有没有好办法啊?
8#
发表于 2012-2-29 17:38:54 | 只看该作者
lyf430204 发表于 2012-2-29 19:29
谢谢,例子还没完全写完,所以也不方便传出来!这里贴一段代码参考
   If 监测项目列表.Column(0, 监测项目 ...

不要用& n Integer"这样应该用"...点"+ n
9#
 楼主| 发表于 2012-2-29 19:44:36 | 只看该作者
哦,我明天试试,谢谢指教
10#
发表于 2012-2-29 19:52:15 | 只看该作者
本帖最后由 todaynew 于 2012-2-29 19:52 编辑

请参见:
http://www.accessoft.com/blog/ar ... d=10802&Id=4437
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-6 10:22 , Processed in 0.107132 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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