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


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

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

帅哥,在线噢!
有点蓝
  31楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106206 积分:540153 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/26 22:12:00 [显示全部帖子]

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

 回到顶部
帅哥,在线噢!
有点蓝
  32楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106206 积分:540153 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/26 22:25:00 [显示全部帖子]

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

 回到顶部
帅哥,在线噢!
有点蓝
  33楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106206 积分:540153 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/26 23:02:00 [显示全部帖子]

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

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

 回到顶部
帅哥,在线噢!
有点蓝
  34楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106206 积分:540153 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/28 15:14:00 [显示全部帖子]

.Fill("select * fro m {财务数据源} where [_Identify] Is Null",False)
.AllowEdit = True

 回到顶部
帅哥,在线噢!
有点蓝
  35楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106206 积分:540153 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/28 17:12:00 [显示全部帖子]

下面代码使用其中一个即可,放到一起,第一句是没有任何作用的

    .DataSource = DataTables("缴费情况")
    .Fill("select * fro m {缴费情况} where [_Identify] Is Null",False)

 回到顶部
帅哥,在线噢!
有点蓝
  36楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106206 积分:540153 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/29 15:00:00 [显示全部帖子]

比如有一间房子,我们理解为数据库。房子只有一个出口,出口大小是固定的,所以如果入出库的东西多,搬进搬出肯定会有影响,有个先来后到,数据库数据的存储也是如此。

为了方便用户挑选货物,在房子四周摆了很多密封的货架,这个货架就是主表DataTables("xxx),一个货架对应一个datatable,货架可以放一种商品部分(按条件加载)也可以放全部(全部加载)物品。货架是密封的,用户也直接看不到里面的东西,所以在货架一边开了一个洞,这个洞就是Tables("表A),也就是界面看到的表格,编辑表格就是通过洞口拿放货架的物品。

但是有时候一个洞口不够用,甲在拿东西,乙也想拿,所以就在另外一边也开了一个洞口(.DataSource = DataTables("xxx")),2个洞口不管谁拿物品,都会影响对方,所以设置DataSource 就是一个副本,一个主表可以有N个副本,一个货架可以开N个洞口。

但是洞口太高,小孩子够不着,所以在货架旁边放一个显示器(就是Fill的作用)给小孩子看,可以通过摄像头实时查看货架里的物品。显示器有2种,一种只能看(.Fill("select * fro m {xxx}",true),等同于sqlquery查询表),避免熊孩子乱买东西,就是Fiil成一个查询表;一种可以挑选物品到购物车里(.Fill("select * fro m {xxx} ",False),等同于sqltable数据表),挑选显示器物品的时候是不会影响到货架里的货品的,大人也看不到货架里的一个玩具被熊孩子添加到购物车了,也就是Fill的表格编辑不会影响主表DataTables("xxx),只有在显示器里点击确定(保存)后,由工作人员即时从货架里把物品拿出来。

重复录入的原因就是因为做了重复的操作,比如通过显示器操作寄卖了10个苹果,确定(保存)后,工作人员就把10个苹果放到货架里了,但是你貌似不放心,又亲自把另外10个苹果直接塞到货架里了(遍历新增)

 回到顶部
帅哥,在线噢!
有点蓝
  37楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106206 积分:540153 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/29 16:06:00 [显示全部帖子]

还是没有理解。

.Fill方法是直接按原表数据保存的,正确的说是根据主键保存,而主键是无法更改的,肯定存在,不需要做任何判断。在.Fill里保存和在主表里编辑保存是完全一样的,按您这么说明主表也无法保存了?

把fill看做是一个主表一样用就行了

 回到顶部
帅哥,在线噢!
有点蓝
  38楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106206 积分:540153 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/29 17:34:00 [显示全部帖子]

肯定是可以的。保存后重新加载主表,主表才会刷新才看得到

 回到顶部
帅哥,在线噢!
有点蓝
  39楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106206 积分:540153 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/29 20:18:00 [显示全部帖子]

上传实例

 回到顶部
帅哥,在线噢!
有点蓝
  40楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106206 积分:540153 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/29 22:21:00 [显示全部帖子]

窗口afterload

With Tables("月租收费_Table1")
    For i As Integer = .Rows.count - 1 To 0 Step -1
        .Rows(i).Delete
    Next
    .Fill("select * from {缴费情况} where [_Identify] Is Null",False)
……

保存代码

Select Case e.StripItem.Name
    Case "保存" '保存代码
        If e.Form.Controls("rq").Value = Nothing Then'当日期为空取消保存操作
            messagebox.show("请选择日期")
            Return
        ElseIf Tables("月租收费_Table1").Compute("Count([车牌号码])") = 0 Then '当窗口中的行为空取消保存操作
            Return
        Else
            Tables("月租收费_Table1").FinishEditing ‘http://www.foxtable.com/webhelp/topics/0558.htm,如果单元格处于编辑状态,需要结束编辑,让编辑内容写入单元格
            For Each dr As DataRow In DataTables("月租收费_Table1").DataRows
                If dr.IsNull("车牌号码") = False Then
                    dr("日期") = e.Form.Controls("rq").text
                    dr("单号") = e.Form.Controls("dh").text
                    dr("录入员") = e.Form.Controls("lry").text
                    dr("分类") = DataTables("分类").DataRows(0)("分类")
                    dr("前缀") = "YZ"
                    dr.Save
                End If
            Next
            'DataTables("月租收费_Table1").Save() '如果不需要保存空行,这句去掉,上面dr.Save已经保存有数据的行了
            DataTables("缴费情况").LoadOrder = "日期 DESC,单号 DESC"
            DataTables("缴费情况").Load
        End If

 回到顶部
总数 69 上一页 1 2 3 4 5 6 7 下一页