以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  自动查询  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=113981)

--  作者:kaituozhe
--  发布时间:2018/1/26 8:27:00
--  自动查询

以下代码是一个自动查询窗口,希望实现自动查询,但是以下代码的结果是空白,是什么原因?

Dim dtb As New DataTableBuilder("明细账查询")
dtb.AddDef("项目编号", Gettype(String), 100)
dtb.AddDef("项目名称", Gettype(String), 100)
dtb.AddDef("融资日期", Gettype(Date))
dtb.AddDef("截止日期", Gettype(Date))
dtb.AddDef("借款金额", Gettype(Double))
dtb.AddDef("还款金额", Gettype(Double))
dtb.AddDef("借款利息", Gettype(Double))
dtb.AddDef("期限", Gettype(Double))
dtb.AddDef("利率", Gettype(Double))
dtb.Build()
For Each v As String In DataTables("明细账").GetValues("项目编号","账面科目 = \'" & e.form.Controls("ComboBox1").text & "\' and 账面项目= \'" & e.form.Controls("ComboBox2").text & "\' and 项目编号 is not null ")
    \'msgbox(v)
    Dim dr1 As DataRow = DataTables("明细账查询").AddNew()
    dr1("项目编号") = v
    \'Dim dr As DataRow = DataTables("明细账").find("项目编号 = \'" & v & "\'")
    \'If dr IsNot Nothing Then
        \'dr1("项目名称") = dr("项目名称")
    \'End If
Next
Tables("明细账查询_Table1").DataSource = dtb.BuildDataSource()


--  作者:kaituozhe
--  发布时间:2018/1/26 8:39:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:明细账查询.zip


--  作者:有点甜
--  发布时间:2018/1/26 8:48:00
--  

1、你放一个窗口上来,别人无法测试的啊。要加上表。

 

2、试试修改

 

For Each v As String In DataTables("明细账").GetValues("项目编号","(账面科目 = \'" & e.form.Controls("ComboBox1").text & "\' or 账面项目= \'" & e.form.Controls("ComboBox2").text & "\') and 项目编号 is not null ")


--  作者:kaituozhe
--  发布时间:2018/1/26 9:09:00
--  

我看了生成的临时表中有数据,但是怎么绑定到窗口表中呀


--  作者:kaituozhe
--  发布时间:2018/1/26 9:17:00
--  

例子中的代码如果,如果在窗口中绑定生成的表,黄色的代码该怎么修改?

Dim dtb As New DataTableBuilder("B")
dtb.AddDef(
"姓名", Gettype(String), 32)
For Each
v As String In DataTables("A").GetValues("课程")
   
dtb.AddDef(v, Gettype(Double))
Next

dtb.Build()

For Each
v As String In DataTables("A").GetValues("姓名")
   
Dim dr1 As DataRow = DataTables("B").AddNew()
    dr1(
"姓名") = v
   
For Each dr2 As DataRow In DataTables("A").DataRows
       
If dr2("姓名") = v Then
            dr1(dr2(
"课程")) = dr2("分数")
       
End If
   
Next
Next
MainTable = Tables(
"表B")


--  作者:有点甜
--  发布时间:2018/1/26 9:19:00
--  

参考 http://www.foxtable.com/webhelp/scr/1778.htm