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


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

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

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


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

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

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


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

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


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

绑定是针对选中的行的,绑定后在控件编辑会直接影响选中的行对应单元格的数据,不需要另外赋值。如果要手工赋值,就不要绑定。另外这种赋值代码不适合放到DataColChanged事件,不要闭着眼睛使用,不是随便找个事件就可以写代码的,什么事件做什么用建议好好看帮助。

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


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


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


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

去掉下面代码:
                If dt.RowState <> DataRowState.Added Then
                    DataTables("收款凭证_Table1").SQLDeleteFor("[_Identify] = " & dt("_Identify"))
                End If

既然是sqlselect出来的,肯定是已经存在的行,dt.RowState 永远不可能等于 DataRowState.Added。所以添加成立,最终查询的行会被删除掉

就算不是使用的sqlselect,而是select,但是前面有一句dt.Save,保存后dt.RowState 也永远不可能等于 DataRowState.Added

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


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

归根到底,就是根本没有理解代码表达的意思,看帮助不是要去背帮助,如果不去理解代码表达的意思,看再多也没有用

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


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

正常,改了日期,不存在这个日期的数据,就会增加一条

        Dim r As DataRow = DataTables("财务数据源").SQLFind("[字号] = '" & (e.Form.Controls("TextBox2").text).SubString(0,2) & "' And [日期] = #" & e.Form.Controls("rq").Value & "# And [安日期生成单号辅助列] = '" & e.Form.Controls("dh1").text & "' And [借或贷] = '借'")
        If r Is Nothing Then
            r = DataTables("财务数据源").addnew
        End If

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


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

业务逻辑的流程自己理清楚。

如果和日期没有关系,就去掉日期条件

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


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

已经存在的行,直接更新就行了,为什么要删除掉再新增,那不是江边上卖水么。

另外不存在的属性,不要乱创造。病急乱投医是会屎人的。这个代码有问题,先花时间理解透代码,再改,而不是闭着眼睛随便凑代码,以为凑多点字数,代码就会听话了!

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


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

要学会解决问题的思路:首先看删除代码执行是否出错,提示什么错误;其次删除不了,不外乎这些原因
1、删除的条件有问题,调试方法
msgbox("[字号] = '" & (e.Form.Controls("TextBox2").text).SubString(0,2) & "# And [安日期生成单号辅助列] = '" & (e.Form.Controls("dh1").text).OldValue & "' And [借或贷] = '借'")

2、数据有问题,比如有空格等

3、表名,列名不正确

4、连接了其它数据库

一一排除一下


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