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


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

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

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


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

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

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


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


图片点击可在新窗口打开查看此主题相关图片如下:429001.png
图片点击可在新窗口打开查看
窗口中已修改的数据保存后财务数据源表并无替换,依然存在,同时自动添加了新行,录入新数据。

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


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

上传实例

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


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

我改用.Fill方法,刚再试了一下,双击缴费表2021年3月20日的单,添加两行数据后保存,直接报错,因为日期不在窗口的表上,而在日期控件上。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:小区车辆管理(0429).rar

密码:888888

图片点击可在新窗口打开查看此主题相关图片如下:0429.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:042902.png
图片点击可在新窗口打开查看
用我之前的方法没有这种情况出现。



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


加好友 发短信
等级:超级版主 帖子:106132 积分:539771 威望: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

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


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

添加、保存一行或几行数据都没问题,都能即时看到缴费情况表添加了数据,但删除一行数据后再保存就没反应了,缴费情况表依然存在这行数据。

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


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

删除代码里删除后马上保存

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


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

在按钮上删除后保存没问题了,在窗口上直接选区域,然后点键盘的Delete键删除数据,如何保存?

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


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

在保存里处理

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
    ElseIf dr.RowState <> DataRowState.Added
        DataTables("月租收费_Table1").SQLDeleteFor("[_Identify]=" & dr("_Identify"))
    End If
Next

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


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


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20210502192807.png
图片点击可在新窗口打开查看

这是收款凭证格式,之前红色标注部份代码是For Each dt As DataRow In Tables("收款凭证_Table1").DataTable.Select("[贷方科目] Is not null")时,贷方数据能保存的,因修改后再保存,会把后台所有数据改为凭证上的数据,故把条件改为红色标注代码,现在问题来了,收款凭证_Table1表并不存在字号、日期、凭证号,我在命令窗口试过即使收款凭证_Table1添加这3列数据,再隐藏,命令窗口中也无法实现以隐藏数据为条件的统计,但会计凭证的格式就是这样,不容有变,我试着把这3列数据列宽设为1,打开收款凭证_Table1,它还是每列都显示一个字,这样不行,试了很多了还是不行,不得不再请教,这种情况应如何处理?
Select Case e.StripItem.Name
    Case "保存" '保存代
        If e.Form.Controls("rq").text = "" Then
            messagebox.show("请选择日期")
            Return
        ElseIf Tables("收款凭证_Table1").Compute("Count([贷方科目])") = 0 Then
            Return
        Else
            Tables("收款凭证_Table1").FinishEditing '如果单元格处于编辑状态,需要结束编辑,让编辑内容写入单元格
            For Each dt As DataRow In Tables("收款凭证_Table1").DataTable.Select("[字号] = '" & (e.Form.Controls("Label5").text).SubString(0,2) & "' And [日期] = #" & e.Form.Controls("rq").text & "# And  [凭证号] = '" & e.Form.Controls("dh").text & "' And [贷方科目] Is not null")
                Dim Parts() As String = dt("明细科目").Split("-")
                dt("日期") = e.Form.Controls("rq").text
                dt("凭证号") = e.Form.Controls("dh").text
                dt("安日期生成单号辅助列") = e.Form.Controls("dh1").text
                dt("附件张数") = e.Form.Controls("TextBox1").text
                dt("录入员") = e.Form.Controls("lry").text
                dt("会计科目") = dt("贷方科目") & "-" & dt("明细科目")
                dt("字号") = (e.Form.Controls("Label5").text).SubString(0,2)
                dt("贷方金额") =  dt("金额")
                dt("操作人姓名") = User.Name & " " & Date.Now
                If Parts.length > 0 Then
                    dt("二级科目") = Parts(0)
                    If Parts.length > 1 Then
                        dt("三级科目") = Parts(1)
                        If Parts.length > 2 Then
                            dt("四级科目") = Parts(2)
                            If Parts.length > 3 Then
                                dt("五级科目") = Parts(3)
                            End If
                        End If
                    End If
                End If
                dt.Save
                If dt.RowState <> DataRowState.Added Then
                    DataTables("收款凭证_Table1").SQLDeleteFor("[_Identify] = " & dt("_Identify"))
                End If
            Next
        End If
        DataTables("财务数据源").load

[此贴子已经被作者于2021/5/5 9:51:21编辑过]

 回到顶部