Office中国论坛/Access中国论坛
标题:
求助!ACCESS中用SQL创建表
[打印本页]
作者:
lyf430204
时间:
2012-2-29 15:02
标题:
求助!ACCESS中用SQL创建表
ACCESS中用SQL创建表时,怎么用定义的变量值命名表
如:SQL = "CREATE TABLE GCBMC ([朋友ID] COUNTER,[姓名] Stringr,PRIMARY KEY ([朋友ID]));"
DoCmd.RunSQL SQL
MsgBox ("表创建成功")
但创建的表的名称是GCBMC,而我的本意是GCBMC是一变量,程序运行到这里时他的值为“朋友”,所以应该是创建了一个名称为朋友的表,而不是GCBMC表!
请高手指点啊
作者:
Grant
时间:
2012-2-29 15:23
GCBMC="表名"
SQL = "CREATE TABLE "& GCBMC &" ([朋友ID] COUNTER,[姓名] Stringr,PRIMARY KEY ([朋友ID]));"
作者:
lyf430204
时间:
2012-2-29 15:45
谢谢!不过你的做法还是不行啊!
我命名完表后再用变量更改表名可以实现了
DoCmd.Rename 朋友, acTable, "GCBMC"
作者:
lyf430204
时间:
2012-2-29 15:47
新的问题是,如果我要增加字段名,SQL能不能实现啊!增加的数量是个变量!直接用VBA能不能实现呢?》
作者:
Henry D. Sy
时间:
2012-2-29 16:03
可以的,
但你要传例子!
2楼不是不行,而是绝对行!
只是你没有例子!
作者:
lyf430204
时间:
2012-2-29 16:29
谢谢,例子还没完全写完,所以也不方便传出来!这里贴一段代码参考
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 实现不了。还请指点啊
作者:
lyf430204
时间:
2012-2-29 16:58
两位大哥有没有好办法啊?
作者:
JosephTan
时间:
2012-2-29 17:38
lyf430204 发表于 2012-2-29 19:29
谢谢,例子还没完全写完,所以也不方便传出来!这里贴一段代码参考
If 监测项目列表.Column(0, 监测项目 ...
不要用& n Integer"这样应该用"...点"+ n
作者:
lyf430204
时间:
2012-2-29 19:44
哦,我明天试试,谢谢指教
作者:
todaynew
时间:
2012-2-29 19:52
本帖最后由 todaynew 于 2012-2-29 19:52 编辑
请参见:
http://www.accessoft.com/blog/ar ... d=10802&Id=4437
作者:
lyf430204
时间:
2012-3-4 20:45
8楼说的方法还是不行啊!?
作者:
JosephTan
时间:
2012-3-4 21:05
你不要误会,我不是告诉你怎么做,我只是看到你有错的地方。
作者:
lyf430204
时间:
2012-3-6 09:43
哦,呵呵,我知道那里有问题!不过不知道怎么改啊
作者:
lyf430204
时间:
2012-4-9 21:50
还是不知道怎么为表增加不定数的字段名
作者:
aslxt
时间:
2012-4-9 22:59
还是不知道怎么为表增加不定数的字段名 ?
很累的,运行时间长了以后,如果最终你的监测点大于255个怎么办?建议修稿表结构
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3