Foxtable(狐表)用户栏目专家坐堂 → 会计凭证的设计和录入


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

主题:会计凭证的设计和录入

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


加好友 发短信
等级:超级版主 帖子:106097 积分:539590 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/26 21:49:00 [只看该作者]

DataTables("财务数据源").LoadOrder = "日期,字号,[借或贷] desc,凭证号"

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  82楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/4/26 21:51:00 [只看该作者]

那我75楼的代码显然错了, 
   .DataSource = DataTables("财务数据源")
   .Fill("select * fro m {财务数据源} where [_Identify] Is Null",False)
两者只能用其一,作为录入窗口只能用  .DataSource = DataTables("财务数据源")绑定表,它可以修改后保存,
.Fill("select * fro m {财务数据源} where 安日期生成单号辅助列 = '" & e.Row("安日期生成单号辅助列") & "' And [字号] = '付' And [凭证号] = '" & e.Row("凭证号") & "' And [借或贷] = '借'",False)用于生成查询窗口,因为我们要安条件查询,哪财务数据源表中的行弹出窗口,修改数据后保存,用.DataSource怎么设条件语句?
[此贴子已经被作者于2021/4/26 22:01:06编辑过]

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


加好友 发短信
等级:超级版主 帖子:106097 积分:539590 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/26 21:57:00 [只看该作者]

Fill一样可以生成可以保存的表,单表并且第二个参数使用false即可,上面的Fill用法没有问题

如果要使用DataSource,那么会同时影响原表。

加条件可以使用筛选
   .DataSource = DataTables("财务数据源")
   .filter = "安日期生成单号辅助列 = '" & e.Row("安日期生成单号辅助列") & "' And [字号] = '付' And [凭证号] = '" & e.Row("凭证号") & "' And [借或贷] = '借'"


 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  84楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/4/26 22:08:00 [只看该作者]

哦,如果作为录入表用 .DataSource = DataTables("财务数据源")绑定窗口,未保存前也直接影响原表吗?


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


加好友 发短信
等级:超级版主 帖子:106097 积分:539590 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/26 22:12:00 [只看该作者]

直接影响原表。试试就知道了,设置DataSource 和设置个副本一样的效果

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  86楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/4/26 22:21:00 [只看该作者]

哪在窗口中的数据还是尽量用.Fill("select * fro m {财务数据源} where 安日期生成单号辅助列 = '" & e.Row("安日期生成单号辅助列") & "' And [字号] = '付' And [凭证号] = '" & e.Row("凭证号") & "' And [借或贷] = '借'",False),未保存前不会影响后台数据库,但用这代码,所有要保存的数据都要用代码写出,否则后台数据库不会有数据,DataSource绑定就不用,只有控件上的数据用代码保存,表上的数据不用写,
        DataTables("财务数据源").Save()
        DataTables("财务数据源").load
后自动保存,刷新。
[此贴子已经被作者于2021/4/26 22:27:54编辑过]

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


加好友 发短信
等级:超级版主 帖子:106097 积分:539590 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/26 22:25:00 [只看该作者]

根据需要使用。各有各的使用场合。

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  88楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/4/26 22:47:00 [只看该作者]

问清楚一下,免改来改去,你83楼回的:
Fill一样可以生成可以保存的表,单表并且第二个参数使用false即可,把窗口中的数据录入到绑定表没问题,问题是不能保存修改后的数据,点保存会重复录入,或后台已保存的数据不发生娈化,正如我前面不停追问的重复数据等现象吗?
[此贴子已经被作者于2021/4/26 22:47:40编辑过]

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


加好友 发短信
等级:超级版主 帖子:106097 积分:539590 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/26 23:02:00 [只看该作者]

首先,肯定可以保存。不如看看帮助:http://www.foxtable.com/webhelp/topics/2912.htm

至于保存会重复录入,那是代码逻辑有问题

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  90楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/4/28 14:53:00 [只看该作者]

不要红色标注代码,窗口上的录入表无法编辑,被锁定一样。

If e.Form.Controls("ComboBox2").text = e.form.controls("combobox2").items(0) And e.Sender.text = e.form.controls("combobox1").items(0) Then
    With Tables("收款凭证_Table1")
        For i As Integer = .Rows.count - 1 To 0 Step -1
            .Rows(i).Delete
        Next
        '.DataSource = DataTables("财务数据源")
        .Fill("select * fro m {财务数据源} where [_Identify] Is Null",False)
        .SetColVisibleWidth("摘要|300|贷方科目|100|明细科目|250|金额|100")
        .AddNew(10)
        .Cols("贷方科目").DropForm = "科目"
        .Cols("金额").GrandTotal = True
        .GrandTotal = True
        '设合计二字居中方法一
        'For Each cl As Col In Tables("月租收费_Table1").Cols '设所有列的数据居中
        'cl.TextAlign = TextAlignEnum.Center
        'Next
        '设合计二字居中方法二
        Dim r As Row
        For i As Integer = 0 To .Rows.Count(True) - 1 'Count加上参数True
            r = .Rows(i,True) 'Rows也需要加上参数True
            If r.Level Then '如果是合计行
                .Cols("摘要").TextAlign = TextAlignEnum.Center
            End If
        Next
    End With

 回到顶部