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


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

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

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


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


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

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  62楼 | 信息 | 搜索 | 邮箱 | 主页 | 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
图片点击可在新窗口打开查看
用我之前的方法没有这种情况出现。



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


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

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

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


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

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

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  65楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

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


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/5/3 10:56:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:小区车辆管理(050502).rar

密码:888888
我已经在收款凭证_Table1的AfterLoad事件把条件在控件上的3列绑定了收款凭证_Table1
Dim cbx = e.form.controls("combobox1")
If cbx.items.count > 0 Then
    cbx.text = cbx.items(0)
End If
Dim cbx1 = e.form.controls("combobox2")
If cbx1.items.count > 0 Then
    cbx1.text = cbx1.items(0)
End If
With Tables("收款凭证_Table1")
    For i As Integer = .Rows.count - 1 To 0 Step -1
        .Rows(i).Delete
    Next
    .Fill("select * fro m {财务数据源} where [_Identify] Is Null",False)
    e.Form.Controls("rq").BindingField  = "窗口1_Table1.日期"
    e.Form.Controls("dh").BindingField  = "窗口1_Table1.凭证号"
    e.Form.Controls("Label5").BindingField  = "窗口1_Table1.字号"
    .AllowEdit = True
    .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
e.Form.Controls("lry").text = User.name



收款凭证_Table1的DataColChanged事件提前赋值:
For Each dt As DataRow In Tables("收款凭证_Table1").DataTable.Select("[贷方科目] Is not null")
    dt("字号") = (e.Form.Controls("Label5").text).SubString(0,2)
    dt("日期") = e.Form.Controls("rq").text
    dt("凭证号") = e.Form.Controls("dh").text
Next


现在收款凭证_Table1的贷方数据无法保存到财务数据源。

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

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


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/5/5 15:01:00 [显示全部帖子]

我昨天开始时没赋值的,可始终没法保存贷方数据,
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.SQLSelect("[字号] = '" & (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("金额")
                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
MessageBox.show(dt("日期"))
MessageBox.show(dt("字号"))
MessageBox.show(dt("凭证号"))
            Next
        End If
        DataTables("财务数据源").load


没有数据弹出,窗口的表中没这3列数值,应怎么解决?我一直都在看相关帮助,眼睛都不停流眼水,买了一支眼水滴,才没那么不舒服。
[此贴子已经被作者于2021/5/5 15:50:38编辑过]

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


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/5/5 16:21:00 [显示全部帖子]

这个我早上看过了,早上改为sql后想想窗口上不存在分页问题,记得已经改回来没有sql了,上传的文件也没sql的,没sql也不能保存,问题不在这。

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


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/5/5 16:33:00 [显示全部帖子]

晕,早上是改过,忘了保存,还是原来的样子!反正原来没sql也不能保存。

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


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/5/5 17:39:00 [显示全部帖子]

这行代码是实现当鼠标双击财务数据源后弹出窗口,用鼠标选择区域,删除已选中数据,因为这是共用窗口,故有此代码,哦不需要SQL,不过没有SQL数据依然不能保存吗。
[此贴子已经被作者于2021/5/5 22:17:54编辑过]

 回到顶部