以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]临时表不能用Filer填充数据?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=1379)

--  作者:菜鸟foxtable
--  发布时间:2008/12/12 15:10:00
--  [求助]临时表不能用Filer填充数据?

执行就出错.....晕死了.
以下代码进行数据填充,如果建预先立好一个同名的非临时表
则先提示已存在同名表!!然后数据填充正常!!!
如果不预先建立,则提示出错.....是编码问题还是别的问题?不会是BUG吧?

此主题相关图片如下:001.jpg
按此在新窗口浏览图片

Dim Jh1,Jh2,Jh3 As DataRow
Dim Id,Rq,Tj1,Tj2,Tj3 As String
ID = e.form.Controls("ComboBox1").value
Rq = e.form.Controls("DateTimePicker1").value
Dim Cz As DataTable = DataTables("长嘱")
Dim Lz As DataTable = DataTables("临嘱")

If ID is nothing then
    MessageBox.Show("请输入患者ID!","提示")
Else
    If Rq > "" then
    Tj1 = "[患者ID] = \'" & ID & "\' and [停止_停止时间] is null"
    Tj2 = "[患者ID] = \'" & ID & "\' and [开始_开始时间] >= \'" & Rq & "\' and [停止_停止时间] is not null"
    Tj3 = "[患者ID] = \'" & ID & "\' and [开始_开始时间] = \'" & Rq & "\' "
Else
    Tj1 = "[患者ID] = \'" & ID & "\'"
    Tj2 = "[患者ID] = \'" & ID & "\'"
    Tj3 = "[患者ID] = \'" & ID & "\'"
End if
    Jh1 = Cz.Find(Tj1)
    Jh2 = Cz.Find(Tj2)
    Jh3 = Lz.Find(Tj3)

If Jh1 is nothing and Jh2 is nothing and Jh3 is nothing Then
    MessageBox.Show("不存在此记录!","提示")
Else
   
    Dim yrqd As New DataTableBuilder("一日清单")
    yrqd.AddDef("患者ID", GetType(String),10)
    yrqd.AddDef("项目", GetType(String),32)
    yrqd.AddDef("规格", GetType(String),32)
    yrqd.AddDef("单价", GetType(Integer))
    yrqd.AddDef("数量", GetType(Integer))
    yrqd.AddDef("小计", GetType(Integer))
    yrqd.Build()


    Dim f As New Filler
    f.SourceTable = Cz
    f.SourceCols = "患者ID,项目,规格,单价,数量,小计"
    f.DataTable = DataTables("一日清单")
    f.DataCols = "患者ID,项目,规格,单价,数量,小计"
    f.Filter = Tj1
    f.Fill()


    f.SourceTable = Cz
    f.SourceCols = "患者ID,项目,规格,单价,数量,小计"
    f.DataTable = DataTables("一日清单")
    f.DataCols = "患者ID,项目,规格,单价,数量,小计"
    f.Filter = Tj2
    f.Fill()

    f.SourceTable = Lz
    f.SourceCols = "患者ID,项目,规格,单价,数量,小计"
    f.DataTable = DataTables("一日清单")
    f.DataCols = "患者ID,项目,规格,单价,数量,小计"
    f.Filter = Tj3
    f.Fill()
MainTable = Tables("一日清单")
End If
End If


[此贴子已经被作者于2008-12-15 13:50:32编辑过]

--  作者:狐狸爸爸
--  发布时间:2008/12/12 15:24:00
--  

中间每隔一段插入:

MessgeBox.show("1")
MessgeBox.show("2")
MessgeBox.show("3")

....

看看到底错误出现在那一段,然后再分析。



--  作者:菜鸟foxtable
--  发布时间:2008/12/12 15:30:00
--  
图片点击可在新窗口打开查看每一段?能否具体些?
--  作者:狐狸爸爸
--  发布时间:2008/12/12 16:02:00
--  
MessgeBox.show("1")
第一段代码
MessgeBox.show("2")
第二段代码
MessgeBox.show("3")
第三段代码
MessgeBox.show("4")
第四段代码

如果提示3之后报错,说明第三段有错,然后你再分析第三段吧

--  作者:菜鸟foxtable
--  发布时间:2008/12/15 13:15:00
--  
顶起.
--  作者:狐狸爸爸
--  发布时间:2008/12/15 13:18:00
--  

要人帮助的话,最好上传文件。


--  作者:菜鸟foxtable
--  发布时间:2008/12/15 13:50:00
--  
以下是引用狐狸爸爸在2008-12-15 13:18:00的发言:

要人帮助的话,最好上传文件。

我的已经上传了...
[原创]★应用实例参选作品★:→医嘱录入单机版
http://www.foxtable.com/dispbbs.asp?boardid=5&Id=1355