以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  自动填写  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=109637)

--  作者:nxqtxwz
--  发布时间:2017/11/16 8:39:00
--  自动填写

老师们好,想在地点列输入一个地名,直接在另四个列(交通费、城市交通费、住宿费、伙食补助)中自动填入标准如何写代码呢,谢谢!


--  作者:nxqtxwz
--  发布时间:2017/11/16 9:17:00
--  
根据不同的地名输入不同的标准。
--  作者:有点蓝
--  发布时间:2017/11/16 10:28:00
--  
参考:http://www.foxtable.com/webhelp/scr/1451.htm
--  作者:有点甜
--  发布时间:2017/11/16 10:33:00
--  
以下是引用nxqtxwz在2017/11/16 9:17:00的发言:
根据不同的地名输入不同的标准。

 

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

 


--  作者:nxqtxwz
--  发布时间:2017/11/16 11:56:00
--  

请老师给看看怎么写呢?

 

 


If e.DataCol.Name = "地点" Then     \'地点是列名
     Dim dr As DataRow
     Dim Filter As String
    Filter = "小坝城区"                       \'如果在地点列输入小坝城区
     dr = DataTables("出差记录").Find(Filter)    \'在出差记录表查找所输入的行
    If dr IsNot Nothing Then \'如果找到
        \'在找到行的四个列中输入数据
        e.DataRow("城市间交通费")=100
         e.DataRow("市内交通费") = dr("80")
            e.DataRow("伙食费") = dr("100")
               e.DataRow("住宿费") = dr("不高于330")
     Else
          \'否则清除区号和邮编两列的内容
        e.DataRow("城市间交通费") = Nothing
         e.DataRow("市内交通费") = Nothing
     End If
 End If


--  作者:有点甜
--  发布时间:2017/11/16 12:43:00
--  

你要做一个【价格表】,用来记录每个地点的费用。

 

然后写代码

 

If e.DataCol.Name = "地点" Then     \'地点是列名
    Dim dr As DataRow = e.DataRow
    Dim Filter As String
    Filter = "地点 = \'" & dr("地点") & "\'"
    dr = DataTables("价格表").Find(Filter)
    If dr IsNot Nothing Then \'如果找到
        \'在找到行的四个列中输入数据
        e.DataRow("城市间交通费")= dr("交通费1")
        e.DataRow("市内交通费") = dr("交通费2")
        e.DataRow("伙食费") = dr("伙食费")
        e.DataRow("住宿费") = dr("住宿费")
    Else
        \'否则清除区号和邮编两列的内容
        e.DataRow("城市间交通费") = Nothing
        e.DataRow("市内交通费") = Nothing
    End If
End If


--  作者:nxqtxwz
--  发布时间:2017/11/16 14:03:00
--  
老师,因为就几个地点,我不想再做一个“价格表”,想直接输入数据怎么办?
--  作者:有点甜
--  发布时间:2017/11/16 15:14:00
--  
以下是引用nxqtxwz在2017/11/16 14:03:00的发言:
老师,因为就几个地点,我不想再做一个“价格表”,想直接输入数据怎么办?

 

做一个价格表,这样利于扩充。做一个表格也不难吧?


--  作者:nxqtxwz
--  发布时间:2017/11/17 8:11:00
--  
谢谢老师,做一个价格表不难,我主要是考虑一共就三种情况,直接在程序中输入就行了。我这个项目中表已经很多了,担心表不够用啊。
--  作者:有点甜
--  发布时间:2017/11/17 9:01:00
--  
以下是引用nxqtxwz在2017/11/17 8:11:00的发言:
谢谢老师,做一个价格表不难,我主要是考虑一共就三种情况,直接在程序中输入就行了。我这个项目中表已经很多了,担心表不够用啊。

 

表不可能不够用,可以做无数多个表。

 

If e.DataCol.Name = "地点" Then     \'地点是列名
    Dim dr As DataRow = e.DataRow
    If dr("地点") = "123" Then
        \'在找到行的四个列中输入数据
        e.DataRow("城市间交通费")= 100
        e.DataRow("市内交通费") = "200"
        e.DataRow("伙食费") = "300"
        e.DataRow("住宿费") = "400"
    Else If dr("地点") = "789" Then
        \'在找到行的四个列中输入数据
        e.DataRow("城市间交通费")= 100
        e.DataRow("市内交通费") = "200"
        e.DataRow("伙食费") = "300"
        e.DataRow("住宿费") = "400"
    ElseIf dr("地点") = "abc" Then
        \'在找到行的四个列中输入数据
        e.DataRow("城市间交通费")= 100
        e.DataRow("市内交通费") = "200"
        e.DataRow("伙食费") = "300"
        e.DataRow("住宿费") = "400"
    Else
        \'否则清除区号和邮编两列的内容
        e.DataRow("城市间交通费") = Nothing
        e.DataRow("市内交通费") = Nothing
    End If
End If