以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  谁来开发一个直接建表的程序  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=68256)

--  作者:supwork
--  发布时间:2015/5/13 14:21:00
--  谁来开发一个直接建表的程序

这个功能如果开发好了则系统开发就容易多了。

要求

建立表时,就像写一个EXCEL表格文件一样

关键七列: 表名,字段名,字段类型,数据长度,字段说明,建立人,建立日期

 

然后做一个按钮,点击就按该表行数据自动建立表,如果字段已有的就自动过滤掉。


--  作者:Bin
--  发布时间:2015/5/13 14:23:00
--  
你这是当作电子表格用的节奏?

直接用系统的建表功能不就可以了么?

希望发布后可用?


--  作者:supwork
--  发布时间:2015/5/13 14:42:00
--  

系统建表很不方便

如果这样建立表就方便多了,上一次已经建立过的字段,可以直接选择了,可有效防止同一个字段建立了不同的名字,建立了不同的类型,长度,还可以标记字段说明

 


--  作者:大红袍
--  发布时间:2015/5/13 14:47:00
--  

 这个功能,是可以开发的,你弄一个也不是很麻烦,就根据2楼的去做。

 

 而且现在能load表格了,也不用关闭打开项目了。


--  作者:supwork
--  发布时间:2015/5/14 7:37:00
--  

请问官方1:字段标题,表标题 如何用代码操控。

请问官方2:小数本来可以整一个类型一般就能满足需求,确搞了三个,日期字段类型一般最少要三个短日期,长日期,纯时间,可系统字段类型仅一个日期时间型,然后需通过FT本身的附加功能设置,为什么不直接在建立表时直接设置呢,一直以为这是FT不足的一个地方,或者这是FT故意设置的软件控制策略(但有点将一个简单的事情复杂化了)。


--  作者:大红袍
--  发布时间:2015/5/14 9:18:00
--  

1、afterOpenproject之后设置进去;

 

2、类型太少或太多会和别的工具,比如 access等不匹配,转型过来的人会引起混淆。


--  作者:supwork
--  发布时间:2015/5/14 13:58:00
--  
afterOpenproject之后设置进去;能给个代码示例不
--  作者:大红袍
--  发布时间:2015/5/14 14:12:00
--  
以下是引用supwork在2015/5/14 13:58:00的发言:
afterOpenproject之后设置进去;能给个代码示例不

 

http://www.foxtable.com/help/topics/1275.htm

 


--  作者:supwork
--  发布时间:2015/5/14 19:37:00
--  

Dim say As String  =  Tables("Systablename").Current("FSSXTtable")
If say IsNot Nothing Then
    Dim r As Row = Tables("FS_XTJB").addnew()
    r("FSSTableName")= say
   
   
    Dim  Builder As  New  ADOXBuilder("HCCL")  \'要指定数据源名称
    Dim tbl  As ADOXTable
    Builder.Open()
    tbl = Builder.NewTable(say) \'创建表
    With tbl
        .AddColumn("FSS1" ,ADOXType.String, 20)
        .AddColumn("FSS2" ,ADOXType.String, 20)
    End With
   
    Builder.AddTable(tbl, True, True) \'增加表
    Builder.Close()
End If

 

这段代码已可以自动根据输入内容来建立表了,但如何在建表前 判断 变量 say  这个表已存在否呢,如果已存在就不建立了,不存在才建立。

 

同样 字段变量为 zdz 如果判断这个表中这个字段是否已经存在呢,存在就不建立字段,否则建立字段。


--  作者:大红袍
--  发布时间:2015/5/14 19:42:00
--  

DataTables.Contrains("表A")

 

DataTables("表A").DataCols.Contains("第一列")

 

---------------------

 

如果你在 FS_XTJB 表有记录,你可以直接用find函数查找是否已经存在啊