Foxtable(狐表)用户栏目专家坐堂 → 代码如何合并?


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

主题:代码如何合并?

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


加好友 发短信
等级:六尾狐 帖子:1257 积分:8555 威望:0 精华:0 注册:2019/6/13 9:57:00
代码如何合并?  发帖心情 Post By:2022/5/20 18:09:00 [显示全部帖子]

第一部功能:

Dim c As String = e.Form.Controls("ComboBox1").Text
Dim d As String = " " & e.Form.Controls("ComboBox2").Text & " "

Dim filter As String
Dim 符号 As String
If d = " like " Then
    If tbl.Cols(c).IsString = False Then
        Tables("模糊查询_订单").filter = "convert(" & c & ",'System.String')" & d & "'%" & e.Form.Controls("TextBox1").Text & "%'"
    Else
        Tables("模糊查询_订单").filter = c & d & "'%" & e.Form.Controls("TextBox1").Text & "%'"
    End If
Else
    If tbl.Cols(c).IsString Then
        符号 = "'"
    ElseIf tbl.Cols(c).IsDate Then
        符号 = "#"
        
    End If
    
  Tables("模").filter = c & d & 符号 & e.Form.Controls("TextBox1").Text & 符号
    
End If

    第二部功能
    
    Dim Filter As String
    With e.Form.Controls("StartDate")
        If .Value IsNot Nothing Then
            If Filter > "" Then
                Filter = Filter & " And "
            End If
            Filter = Filter & "日期 >= #" & .Value & "#"
        End If
    End With
    With e.Form.Controls("EndDate")
        If .Value IsNot Nothing Then
            If Filter > "" Then
               Filter = Filter & " And "
            End If
            Filter = Filter & "日期 <= #" & .Value & "#"
        End If
    End With
    
    Tables("模糊查询_订单").Filter = Filter 

问题一:上面代码,第一部和第二部分开使用是可以,现在如何实现合并在一起?

我试着做下面代码,报错提示缺少运算?

Dim tbl As Table = Tables("订单")
Dim c As String = e.Form.Controls("ComboBox1").Text
Dim d As String = " " & e.Form.Controls("ComboBox2").Text & " "

Dim d1 As String = e.Form.Controls("StartDate").Text
Dim d2 As String = e.Form.Controls("EndDate").Text

Dim filter As String
Dim 符号 As String
If d = " like " Then
    If tbl.Cols(c).IsString = False Then
        Tables("模糊查询_订单").filter = "convert(" & c & ",'System.String')" & d & "'%" & e.Form.Controls("TextBox1").Text & "%'"
    Else
        Tables("模糊查询_订单").filter = c & d & "'%" & e.Form.Controls("TextBox1").Text & "%'"
    End If
Else
    If tbl.Cols(c).IsString Then
        符号 = "'"
    ElseIf tbl.Cols(c).IsDate Then
        符号 = "#"
        d1 = "#"
        d2 = "#"
    End If
    Tables("订单").filter = c & d & d1 & d2 & 符号 & e.Form.Controls("TextBox1").Text & 符号
'    Tables("查询").filter = c & d & 符号 & e.Form.Controls("TextBox1").Text & 符号
    
End If

[此贴子已经被作者于2022/5/21 21:35:09编辑过]

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


加好友 发短信
等级:六尾狐 帖子:1257 积分:8555 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2022/5/21 12:03:00 [显示全部帖子]

老师,我想按查询条件结果进行统计,加下面红字代码,没报错,只实现查询,也不执行统计,如何实现?谢谢
由于帖子提示内容长度太大,代码分二次上传:
第一部:
Dim b As New GroupTableBuilder("统计表1", DataTables("订单"))
Dim Filter As String
    With e.Form.Controls("StartDate")
        If .Value IsNot Nothing Then
            If Filter > "" Then
                Filter = Filter & " And "
            End If
            Filter = Filter & "日期 >= #" & .Value & "#"
        End If
    End With
    With e.Form.Controls("EndDate")
        If .Value IsNot Nothing Then
            If Filter > "" Then
               Filter = Filter & " And "
            End If
            Filter = Filter & "日期 <= #" & .Value & "#"
        End If
    End With
            If Filter > "" Then
                Filter = Filter & " And "
            End If
    Dim c As String = e.Form.Controls("ComboBox1").Text
Dim d As String = " " & e.Form.Controls("ComboBox2").Text & " "




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


加好友 发短信
等级:六尾狐 帖子:1257 积分:8555 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2022/5/21 12:03:00 [显示全部帖子]

第二部
Dim 符号 As String
If d = " like " Then
    If tbl.Cols(c).IsString = False Then
        Filter = Filter & "convert(" & c & ",'System.String')" & d & "'%" & e.Form.Controls("TextBox1").Text & "%'"
    Else
        Filter = Filter & c & d & "'%" & e.Form.Controls("TextBox1").Text & "%'"
    End If
Else
    If tbl.Cols(c).IsString Then
        符号 = "'"
    ElseIf tbl.Cols(c).IsDate Then
        符号 = "#"
        
    End If
    
  Filter = Filter & c & d & 符号 & e.Form.Controls("TextBox1").Text & 符号
    
End If
   Tables("模糊查询_订单").Filter = Filter  
b.Totals.AddDef("数量", "订购数量") '添加数量列用于统计
b.Filter = Filter 
Tables("模糊查询_Table1").DataSource = b.BuildDataSource()

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


加好友 发短信
等级:六尾狐 帖子:1257 积分:8555 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2022/5/21 14:20:00 [显示全部帖子]

老师,分组是查询条件,3,4楼的代码,不知道怎么实现,请老师帮忙,谢谢

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


加好友 发短信
等级:六尾狐 帖子:1257 积分:8555 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2022/5/21 15:57:00 [显示全部帖子]

问题一:如何实现查询统计?如下图

图片点击可在新窗口打开查看此主题相关图片如下:查询统计.jpg
图片点击可在新窗口打开查看



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


加好友 发短信
等级:六尾狐 帖子:1257 积分:8555 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2022/5/21 16:06:00 [显示全部帖子]

问题二:用2楼代码,按开始日期和结束时间,没有后面条件进行查询,会报错,如下图


图片点击可在新窗口打开查看此主题相关图片如下:日期查询报错.jpg
图片点击可在新窗口打开查看

.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.5.13.2
错误所在事件:窗口,模糊查询,Button6,Click
详细错误信息:
未将对象引用设置到对象的实例。

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


加好友 发短信
等级:六尾狐 帖子:1257 积分:8555 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2022/5/21 16:32:00 [显示全部帖子]

老师,
1,分组统计,如8楼图示,
 
1、统计什么?统计查询出来的数据进行统计;按什么做分组进行统计,按查询图示查询条件为分组进行统计;统计的结果应该是怎么样的,按查询条件查询出来的数据进行统计?

详细说明:
按“开始日期,结束日期,按分类,条件,内容”或“开始日期,结束日期”或“按分类,条件,内容”的方法,查询出来的数据进行统计,或说按查询出来数据做分组统计。

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


加好友 发短信
等级:六尾狐 帖子:1257 积分:8555 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2022/5/21 16:37:00 [显示全部帖子]

9楼图示的问题:2、没有选择分类,代码里没有判断是否选择了分类,那要如何解决,我看2楼代码有判断,不知道如何在加判断,请老师修正,谢谢!

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


加好友 发短信
等级:六尾狐 帖子:1257 积分:8555 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2022/5/22 22:56:00 [显示全部帖子]


老师,按2楼做法,全部条件执行,如果单独一部分就报错,比如按起止日期,
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.5.13.2
错误所在事件:窗口,模糊查询,Button6,Click
详细错误信息:
未将对象引用设置到对象的实例。

改用下面代码,按起止日期,能正确查询,但按分类查询,报错,如何改正,请老师,帮助,谢谢

Dim Filter As String
With e.Form.Controls("StartDate")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "日期 >= #" & .Value & "#"
    End If
End With

With e.Form.Controls("EndDate")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "日期 <= #" & .Value & "#"
    End If
End With

'If Filter > "" Then
'    Filter = Filter & " And "
'End If






Dim c As String = e.Form.Controls("ComboBox1").Text
Dim d As String = " " & e.Form.Controls("ComboBox2").Text & " "
Dim 符号 As String


 
With e.Form.Controls("ComboBox1")
  If .Value IsNot Nothing Then
     If Filter > "" Then

         
         
If d = " like " Then
    If tbl.Cols(c).IsString = False Then
        Filter = Filter & "convert(" & c & ",'System.String')" & d & "'%" & e.Form.Controls("TextBox1").Text & "%'"
    Else
        Filter = Filter & c & d & "'%" & e.Form.Controls("TextBox1").Text & "%'"
    End If
Else
    If tbl.Cols(c).IsString Then
        符号 = "'"
    ElseIf tbl.Cols(c).IsDate Then
        符号 = "#"
        
    End If
    
    Filter = Filter & c & d & 符号 & e.Form.Controls("TextBox1").Text & 符号
    
End If

 Filter = Filter & "c = '" & .Value & "'"
  Filter = Filter & "d = '" & .Value & "'"
  Filter = Filter & "TextBox1 = '" & .Value & "'"
    End If

End If
End With


'If Filter > "" Then
 If Filter = "" Then 
     Filter = Filter & "  "
'    Filter = Filter & " And "
End If

Tables("模糊查询_订单").Filter = Filter

.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.5.13.2
错误所在事件:
详细错误信息:
语法错误:“产品”运算符后缺少操作数

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


加好友 发短信
等级:六尾狐 帖子:1257 积分:8555 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2022/5/23 8:40:00 [显示全部帖子]

老师,上实例,需求在窗口写,请帮处理,谢谢

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



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