Foxtable(狐表)用户栏目专家坐堂 → 语法解法


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

主题:语法解法

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


加好友 发短信
等级:小狐 帖子:398 积分:2369 威望:0 精华:0 注册:2017/3/19 15:30:00
  发帖心情 Post By:2018/9/15 14:43:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:华海仓库.zip

老师,请帮看看该案例中功能区中功能组(其他)中的按钮(创建表1)的代码,应怎么修改才可以不出现错误其代码如下:
'------删除"表名"为空的行------------------------------
DataTables("表A").DeleteFor("表名 is null")  '表名为空行
'------列出外部数据源ckgl中的所有表名------------------
Dim lst2 As new List(of String)
lst2 = Connections("ckgl").GetTableNames
'------定义一个集合,其值为表A中不重复的表名------------
Dim lst3 As new List(of String)
lst3 = DataTables("表A").GetValues("表名")
'------无创建表所需数据时,给出提示---------------------
Dim i As Integer
If lst2.Contains(lst3(i)) Then
    MessageBox.show("表A中无创建表所需数据","提示")
End If
'------有创建表所需数据时创建表------------------------------------------
For Each nm3 As String In lst3   '将集合lst3中的每一个元素循环执行一次下述代码
    If lst2.Contains(nm3)  Then   '集合lst2中包含lst3中的元素时
        Dim Builder As New ADOXBuilder("ckgl") '定义一个动态创建表和列的变量,并指定数据源名称
        Dim tbl As ADOXTable
        Builder.Open()   '打开ADOXBuilder
        tbl = Builder.NewTable(nm3) '创建表
        For Each dr As DataRow In DataTables("表A").Select("表名 = '" & nm3 & "'")
            With tbl
                Select Case dr("类型")
                    Case "String"
                        .AddColumn(dr("字段名") ,ADOXType.String ,dr("长度"))
                    Case "Integer"
                        .AddColumn(dr("字段名") ,ADOXType.Integer)
                    Case "double"
                        .AddColumn(dr("字段名") ,ADOXType.Double)
                    Case "datetime"
                        .AddColumn(dr("字段名") ,ADOXType.DateTime)
                    Case "text"
                        .AddColumn(dr("字段名") ,ADOXType.Text ,dr("长度"))
                End Select
            End With
        Next
        Builder.AddTable(tbl, True, True) '增加表
        Builder.Close()
        MessageBox.show("数据表创建成功","提示")
    End If
Next


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


加好友 发短信
等级:小狐 帖子:398 积分:2369 威望:0 精华:0 注册:2017/3/19 15:30:00
  发帖心情 Post By:2018/9/15 17:34:00 [显示全部帖子]

以下是引用wtfwsk05在2018/9/10 14:46:00的发言:
表比较多,一张一张表,设置太慢,可以通过全局表事件设置不

 

写到全局表datarowadded事件,然后开启对应表的全局表事件,如

 

For Each dt As DataTable In DataTables
    If dt.DataCols.Contains("编号") Then
        dt.GlobalHandler.DataRowAdded = True
    End If
Next

无法实现10张表中都有编号列,每张表增加一行,序号+1


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


加好友 发短信
等级:小狐 帖子:398 积分:2369 威望:0 精华:0 注册:2017/3/19 15:30:00
  发帖心情 Post By:2018/9/15 20:39:00 [显示全部帖子]

以下是引用wtfwsk05在2018/9/10 14:46:00的发言:
表比较多,一张一张表,设置太慢,可以通过全局表事件设置不

 

写到全局表datarowadded事件,然后开启对应表的全局表事件,如

 

For Each dt As DataTable In DataTables
    If dt.DataCols.Contains("编号") Then
        dt.GlobalHandler.DataRowAdded = True
    End If
Next

无法实现10张表中都有编号列,每张表增加一行,序号+1



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


加好友 发短信
等级:小狐 帖子:398 积分:2369 威望:0 精华:0 注册:2017/3/19 15:30:00
  发帖心情 Post By:2018/9/16 10:41:00 [显示全部帖子]

以下是引用wtfwsk05在2018/9/10 14:46:00的发言:
表比较多,一张一张表,设置太慢,可以通过全局表事件设置不
 

写到全局表datarowadded事件,然后开启对应表的全局表事件,如

 

For Each dt As DataTable In DataTables
    If dt.DataCols.Contains("编号") Then
        dt.GlobalHandler.DataRowAdded = True
    End If
Next

无法实现10张表中都有编号列,每张表增加一行,序号+1
我编写的代码为:
Dim dt As DataTable = DataTables("货类")    '定义指定数据表为dt
Dim i As Integer = dt.Compute("max(编号)")  '定义编号的最大值为i
e.DataRow("编号") = i+1                     '触发行的指定字段的值为i+1



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


加好友 发短信
等级:小狐 帖子:398 积分:2369 威望:0 精华:0 注册:2017/3/19 15:30:00
  发帖心情 Post By:2018/9/16 13:21:00 [显示全部帖子]

发帖心情 Post By:2018/9/16 12:18:00 [只看该作者

你需要这个?

 

Dim dt As DataTable = e.DataTable '定义指定数据表为dt    
Dim i As Integer = dt.Compute("max(编号)")  '定义编号的最大值为i    
e.DataRow("编号") = i+1                     '触发行的指定字段的值为i+1

我测试过上述代码,维护在表属性中可以实现所要实现的需求,但维护在项目属性中全局表事件,就无法实现所需求的功能


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


加好友 发短信
等级:小狐 帖子:398 积分:2369 威望:0 精华:0 注册:2017/3/19 15:30:00
  发帖心情 Post By:2018/9/17 15:05:00 [显示全部帖子]

Dim tr As WinForm.TreeView   '当前窗口 目录树
tr = e.Form.Controls("TreeView2")
Dim nd As WinForm.TreeNode   '目录树节点
nd = e.node  '即将展开的节点
nd.Nodes.clear  '清除目录树所有节点
Dim nd2 As WinForm.TreeNode  '目录树节点
Dim dt1 As DataTable         '表
Dim dt2 As DataTable
Dim cmd As New SQLCommand       'SQL命令cmd
cmd.C     'cmd的数据源
'列出表(货类树)中"标题ID=目录树节点"的所有行
cmd.CommandText = "Select * F rom [货类树] where 标题ID like '" & nd.name & "__' "
dt1 = cmd.ExecuteReader()    '生产临时表
For Each dr1 As DataRow In dt1.Datarows  '临时表中每一行都执行一次下述代码
    Dim str2 As String = dr1("标题ID")   '指定单元格(dr1行中"标题ID"列)的值赋值给字符串str2
    Dim str3 As String = dr1("标题")
    nd2 = nd.Nodes.Add(str2,str3)        '向目录树节点nd中增加节点
        'Add(Name节点名称, [Text]节点标题, [IconFile]节点的图标文件)
    cmd.CommandText = "Select * F rom [货类树] where 标题ID like '" & str2 & "__' "
    dt2 = cmd.ExecuteReader()
        For Each dr2 As DataRow In dt2.Datarows
        str2 = dr2("标题ID")
        str3 = dr2("标题")       
        nd2.Nodes.Add(str2,str3)
        Next
Next


老师请问下,上述代码中    cmd.CommandText = "Select * F rom [货类树] where 标题ID like '" & str2 & "__' "  这段代码中加上—是什么意思

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


加好友 发短信
等级:小狐 帖子:398 积分:2369 威望:0 精华:0 注册:2017/3/19 15:30:00
  发帖心情 Post By:2018/9/17 17:18:00 [显示全部帖子]

not Value.Contains("-")    请问下这条代码是什么意思

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


加好友 发短信
等级:小狐 帖子:398 积分:2369 威望:0 精华:0 注册:2017/3/19 15:30:00
  发帖心情 Post By:2018/9/17 20:11:00 [显示全部帖子]

  发帖心情 Post By:2018/9/17 17:18:00 [只看该作者

not Value.Contains("-")    请问下这条代码是什么意思


我想了解的是not value的用法或概念什么的

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


加好友 发短信
等级:小狐 帖子:398 积分:2369 威望:0 精华:0 注册:2017/3/19 15:30:00
  发帖心情 Post By:2018/9/18 0:01:00 [显示全部帖子]

 Dim kz As String = "TextBox2,TextBox3,ComboBox3,TextBox1,ComboBox2,ComboBox4,TextBox11,NumericComboBox1,NumericComboBox2,NumericComboBox3,NumericComboBox4"
        '向"库存商品"表各字段插入行
        Dim sql As String = "Insert Into [库存商品] (货品编码,货品类型,计量单位,货品名称,规格型号,生产厂商,备注,库存上限,库存下限,入库参考价,出库参考价) "
        '插入行各字段的值
        sql = sql & " Values ('@$10','@$11','@$12','@$13','@$14','@$15','@$16',@$17,@$18,@$19,@$20)"

请问下老师,上述代码中 sql = sql & " Values ('@$10','@$11','@$12','@$13','@$14','@$15','@$16',@$17,@$18,@$19,@$20)"  语句是什么意思



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


加好友 发短信
等级:小狐 帖子:398 积分:2369 威望:0 精华:0 注册:2017/3/19 15:30:00
  发帖心情 Post By:2018/9/18 10:37:00 [显示全部帖子]

 ('@$10','@$11','@$12','@$13','@$14','@$15','@$16',@$17,@$18,@$19,@$20)  这个怎么理解

 回到顶部
总数 182 上一页 1 2 3 4 5 6 7 8 9 10 下一页 ..19