以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求助帖:刚接触狐表,想做个实验分析记录管理,遇到了问题,求大神指点!  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=66109)

--  作者:shilhoue
--  发布时间:2015/3/30 14:29:00
--  求助帖:刚接触狐表,想做个实验分析记录管理,遇到了问题,求大神指点!
这个项目实际上是个分析记录,其中主表是表头,明细表是分析结果。通过项目编号和分析项目进行关联,需要实现一下几个功能:
1、子表中第一行都是实验空白,样品吸光度减去空白吸光度即为校正空白,在子表中输入样品吸光度时如何自动计算减去该分析项目的空白后的校正空白,并且当空白吸光度更改后校正吸光度也自动重新计算?注意每个分析项目的空白值都不一样。
2、如何进行样品浓度的计算,计算时用到了父表中的两个值,截距和斜率。样品浓度的计算公式为:(校正吸光度-截距)/(斜率×取样体积)×稀释倍数(如果稀释倍数未输入表示未进行稀释,倍数为1)
3、有时会选择某个样品进行平行测定,但不是每个样品都会做平行,如果某个样进行了平行测定,如何计算平行样的平均浓度和相对偏差。相对偏差的计算公式=(两次平行测定结果之差的绝对值)/两次平行测定结果之和×100
4、狐表中好像没有自动计算曲线截距和斜率的函数,能否自定义这两个函数。如果不能怎么通过狐表操控excel来绘制标准曲线?
因刚学狐表,有关的编程看不太明白,求大神指点,小弟先行谢过!。
具体案例见图及案例。

此主题相关图片如下:如图.jpg
按此在新窗口浏览图片
 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:管理项目2.zip


--  作者:有点甜
--  发布时间:2015/3/30 14:30:00
--  
 你使用的是 盗版或者是破解版的foxtable,即便帮你做来了效果,你也是打不开项目的。
--  作者:有点甜
--  发布时间:2015/3/30 14:31:00
--  
 试用期间,请去官网下载试用版使用。
--  作者:Bin
--  发布时间:2015/3/30 14:32:00
--  
提问最好一个个来,新手先按部就班学习一下帮助比较好.不要跳级看.

另外请不要使用破解版, 首页点击立即下载,可以下载试用版,试用期半年左右.

--  作者:有点甜
--  发布时间:2015/3/30 14:41:00
--  

1、空白吸光、校正空白是什么东西?表里面没有;

 

2、引用父表数据

 

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

 

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

 

3、平行测定又是什么东西?

 

4、请去学习foxtable的编程 http://www.foxtable.com/help/topics/1592.htm

 


--  作者:shilhoue
--  发布时间:2015/3/30 17:53:00
--  
谢谢甜版,这个是破解版主要是测试一下发布,现在就去下试用版。
--  作者:shilhoue
--  发布时间:2015/3/30 17:56:00
--  
空白吸光度没有单独的列,通过第一行的样品类型来标记
平行测定就是同一份样品进行两次分析,求两次分析结果的平均值。平行的样品编号一致,通过样品类型来标记

--  作者:有点甜
--  发布时间:2015/3/30 18:00:00
--  

 上传试用版的例子。

 

 再有,4、曲线截距和斜率的计算逻辑是什么


--  作者:shilhoue
--  发布时间:2015/3/30 22:10:00
--  甜版,帮帮看看试用版的案例,谢谢!

 用的外部数据源,Data文件夹中。

 

另外还有就是当在分光法记录主表.分光发记录明细的关联表中更改了标有空白的第一行的样品吸光度后,所有子表行中的校正吸光度自动重新计算如何实现,

在AfterEdit事件中写如下代码,提示“调用的目标发生了异常。”不知道问题出在哪里,求学习。

If Tables("分光法记录主表.分光法记录明细").Rows("样品吸光度").Index=0 Then
   With CurrentTable
      .Cols("校正吸光度").DataCol.RaiseDataColChanged()
   End With
End If

案例文件见附件。

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


--  作者:有点甜
--  发布时间:2015/3/30 22:47:00
--  

 Datacolchanged事件,代码

 

Select Case e.DataCol.Name
    Case "样品编号","样品类型","取样体积","前处理后体积","分取体积","稀释倍数","样品吸光度"
        Dim idx As Integer = Tables("分光法记录主表.分光法记录明细").FindRow(e.DataRow)
        If idx > -1 Then
            If idx = 0 Then
                e.DataTable.DataCols("样品吸光度").RaiseDataColChanged("_Identify <> " & e.DataRow("_Identify") & " And 项目编号 = \'" & e.DataRow("项目编号") & "\'")
            Else
                e.DataRow("校正吸光度") = e.DataRow("样品吸光度")-Tables("分光法记录主表.分光法记录明细").Rows(0)("样品吸光度")
                Dim pdr As DataRow = e.DataRow.GetParentRow("分光法记录主表")
                e.DataRow("样品浓度") = (e.DataRow("校正吸光度") - pdr("截距")) / (pdr("斜率") * e.DataRow("取样体积")) * iif(e.DataRow.isnull("稀释倍数"), 1, e.DataRow("稀释倍数"))
                If e.DataRow("样品类型") = "平行" Then
                    Dim fdr As DataRow = e.DataTable.Find("项目编号 = \'" & e.DataRow("项目编号") & "\' And 样品编号 = \'" & e.DataRow("样品编号") & "\'")
                    If fdr IsNot Nothing Then
                        e.DataRow("相对偏差") = Math.Abs(fdr("样品浓度") - e.DataRow("样品浓度")) / (fdr("样品浓度") + e.DataRow("样品浓度")) * 100
                    End If
                End If
            End If
        End If
End Select