Foxtable(狐表)用户栏目专家坐堂 → 分享:动态新建外部数据表并设置主键(新增SQL表)


  共有27368人关注过本帖树形打印复制链接

主题:分享:动态新建外部数据表并设置主键(新增SQL表)

帅哥哟,离线,有人找我吗?
mr725
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/1/29 20:51:00 [只看该作者]

收下了~  谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
i52117
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:374 积分:3147 威望:0 精华:0 注册:2009/2/3 9:55:00
  发帖心情 Post By:2010/1/29 22:44:00 [只看该作者]

谢谢图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/1/29 23:51:00 [只看该作者]

ying版,是否加个判断:access中的有同名的表,则提示~ 或取消新建表 或退回不建 或覆盖 , 要不提示一个错误挺烦人的:


图片点击可在新窗口打开查看此主题相关图片如下:未命名1.jpg
图片点击可在新窗口打开查看

问题是:怎样判断表已经存在呢???   有谁知道吗? 
[此贴子已经被作者于2010-1-29 23:52:54编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
czy
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/1/30 0:16:00 [只看该作者]

Tables("项目总表").Filter = "[表名] = '" & e.Form.Controls("ComboBox1").Value & "'"
Dim s,s1 As String
Dim scm as New SQLCommand
scm.ConnectionName  = "xc"
Dim t as Table = Tables("项目总表")
s = e.Form.Controls("ComboBox1").Value
if GetTableNamesFromConnection("xc").Contains(s)
    MessageBox.Show(s & " 表已经存在,不能创建!")
    Return
End If
For Each r as Row in t.Rows
    s1 = s1 & "["& r("列名") &"] " & "  " & r("列类") & "," & Chr(13) & Chr(10)
Next
scm.CommandText = "CREATE TABLE " & s & Chr(13) & Chr(10)
scm.CommandText = scm.CommandText & "(" & s1 & "PRIMARY KEY ([" & Tables("项目总表")(0,"列名") & "]))"
MessageBox.Show(scm.CommandText)
scm.ExecuteNonQuery

[此贴子已经被作者于2010-1-30 1:24:56编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/1/30 2:08:00 [只看该作者]

谢谢C版,  Sleeppinging 了 ~~~~~~~~~


 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40550 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2010/1/30 4:37:00 [只看该作者]

哈哈,又多了一个夜猫子!

 回到顶部
美女呀,离线,留言给我吧!
yangming
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2010/1/30 11:11:00 [只看该作者]

以下是引用czy在2010-1-30 0:16:00的发言:

Tables("项目总表").Filter = "[表名] = '" & e.Form.Controls("ComboBox1").Value & "'"
Dim s,s1 As String
Dim scm as New SQLCommand
scm.ConnectionName  = "xc"
Dim t as Table = Tables("项目总表")
s = e.Form.Controls("ComboBox1").Value
if GetTableNamesFromConnection("xc").Contains(s)
    MessageBox.Show(s & " 表已经存在,不能创建!")
    Return
End If
For Each r as Row in t.Rows
    s1 = s1 & "["& r("列名") &"] " & "  " & r("列类") & "," & Chr(13) & Chr(10)
Next
scm.CommandText = "CREATE TABLE " & s & Chr(13) & Chr(10)
scm.CommandText = scm.CommandText & "(" & s1 & "PRIMARY KEY ([" & Tables("项目总表")(0,"列名") & "]))"
MessageBox.Show(scm.CommandText)
scm.ExecuteNonQuery

[此贴子已经被作者于2010-1-30 1:24:56编辑过]

好!谢谢曹版!


 回到顶部
美女呀,离线,留言给我吧!
yangming
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2010/1/30 16:27:00 [只看该作者]


    新增了一个可以生成SQL和ACC两种外部表的示例,如果目标数据库中已有同名表,可以进行选择,删除后新建或是改名,建表后,在表中新增一行,还可以动态加载到窗口表中查看并编辑
目前的SQL数据库给大家测试用,请不要删除原库中的文件,谢谢!此库开放一周,下周日关闭.
    文件已上传到一楼,其中有些代码是根据R版和C版代码改编而成的,在此先感谢R版和C版

欢迎大家测试并提出意见和建议。

 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/1/30 19:53:00 [只看该作者]

谢谢yang版` ~ 

 回到顶部
帅哥哟,离线,有人找我吗?
舜风
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 小学文化
等级:小狐 帖子:374 积分:2318 威望:0 精华:0 注册:2008/12/6 20:34:00
  发帖心情 Post By:2010/1/30 23:19:00 [只看该作者]

数据表是可以新建了,可现多了个想法

如果有谁管理过网站或论坛的,就知道,管理员可以新建(或复制)同样的管理模块的N多栏目(或版)

比如:总部有一个总的数据库,而下设N个单位(会根据需要增加或减少)。现想通过复制管理模块,或为这些单位通过杨版的方式复制新的数据表并做连接与操作其独立的数据(目的是:分数据表的内容独立后,便可做一些不影响总库的自定义工作,同时,当要返回给总表的数据的增加或“对比修改”都需通过上级审核后的才能入总库,这样做可减少越权操作或操作失误而使总库信息错误)

总之有了杨版的这一了不起的功能后,却留下了更多的操心事!不知哪位好心的熟手老师能给个这样的完整实例呢?
[此贴子已经被作者于2010-1-30 23:30:44编辑过]

 回到顶部
总数 40 上一页 1 2 3 4 下一页