Foxtable(狐表)用户栏目专家坐堂 → 求助检查关于动态创建表存在问题


  共有7502人关注过本帖平板打印复制链接

主题:求助检查关于动态创建表存在问题

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


加好友 发短信
等级:婴狐 帖子:25 积分:308 威望:0 精华:0 注册:2013/1/27 1:36:00
求助检查关于动态创建表存在问题  发帖心情 Post By:2013/2/22 9:55:00 [只看该作者]

Dim Name As String = e.Form.Controls("工程数量分表名称").Value
If Name = "" Then
    MessageBox.Show("分表名称不能为空!","提示")
    Return
End If
For Each dt As DataTable In DataTables
    If dt.Name.Contains(Name) Then
        MessageBox.Show(name & "数据库中已存在","提示")
    Else
        If MessageBox.Show("是否创建工程数量分表?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question) = DialogResult.Yes Then
            Dim Builder As New ADOXBuilder
            Dim fb As ADOXTable
            Builder.Open()
            fb = Builder.NewTable(name) '创建表
            With fb
                .AddColumn("分部工程" ,ADOXType.String, 12)
                .AddColumn("分项工程" ,ADOXType.String, 12)
                .AddColumn("施工部位_主部位" ,ADOXType.String, 8)
                .AddColumn("施工部位_辅部位" ,ADOXType.String, 8)
                .AddColumn("细目号" ,ADOXType.String, 8)
                .AddColumn("材料类别" ,ADOXType.String, 12)
                .AddColumn("材料规格" ,ADOXType.String, 8)
                .AddColumn("单位" ,ADOXType.String, 8)
                .AddColumn("设计数量" ,ADOXType.Single)
                .AddColumn("变更数量" ,ADOXType.Single)
            End With
            Builder.AddTable(fb) '增加表
            Builder.Close()
        Else
            Return
        End If
    End If
Next
DataTables(name).DataCols.Add("有效数量", Gettype(Single), "isnull([设计数量],0) + isnull([变更数量],0)")
Dim dmp1 As New TableDataMap
dmp1.DataTable = "主合同清单" '指定数据来源表
dmp1.ValueCol = "细目号" '指定取值列
dmp1.DisplayCol = "细目号" '指定显示列
dmp1.ListCols = "细目号,名称" '指定下拉列表时显示哪些列的数据
dmp1.Sort = "细目号" '指定排序方式
Tables(name).Cols("细目号").DataMap = dmp1.CreateDataMap() '生成并设置DataMap
Dim dmp2 As New TableDataMap
dmp2.DataTable = "材料信息表" '指定数据来源表
dmp2.ValueCol = "规格型号" '指定取值列
dmp2.DisplayCol = "规格型号" '指定显示列
dmp2.ListCols = "材料类别,规格型号" '指定下拉列表时显示哪些列的数据
dmp2.Sort = "材料类别" '指定排序方式
Tables(name).Cols("材料规格").DataMap = dmp2.CreateDataMap() '生成并设置DataMap
Dim dmp3 As New TableDataMap
dmp3.DataTable = "材料信息表" '指定数据来源表
dmp3.ValueCol = "材料类别" '指定取值列
dmp3.DisplayCol = "材料类别" '指定显示列
dmp3.ListCols = "材料名称,材料类别" '指定下拉列表时显示哪些列的数据
dmp3.Sort = "材料名称" '指定排序方式
Tables(name).Cols("材料类别").DataMap = dmp3.CreateDataMap() '生成并设置DataMap
Relations.Add(e.Form.Controls("工程数量分表编号").value,DataTables("工程数量总表").DataCols("细目号"),DataTables(name).DataCols("细目号"))
If MessageBox.Show(Name & "已经创建,是否重启系统","请确认",MessageBoxButtons.YesNo,MessageBoxIcon.Question) =DialogResult.Yes Then
    syscmd.Project.Open(ProjectFile)  '打开表
    MainTable = Tables(Name)
    forms("创建工程数量分表").close()
Else
    Return
End If

出现错误如附件:
此主题相关图片如下:未命名.jpg
按此在新窗口浏览图片


 回到顶部
总数 11 1 2 下一页