Foxtable(狐表)用户栏目专家坐堂 → [求助]新增加行未使用状态


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

主题:[求助]新增加行未使用状态

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


加好友 发短信
等级:九尾狐 帖子:2927 积分:20167 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2016/1/20 17:22:00 [只看该作者]

老师 不是这个意思 ,是根据查到的结果合成的

Dim dr As DataRow = e.DataRow
Dim pf As String = "CS" '设置入库单编号前缀
Dim Key1,key2 As Integer
Dim nm As String = e.DataTable.name
cmd1.commandText = "Select Count(*) F rom {编号回收表}  Where [前缀] = '" & pf & "' And Tablename= '" & nm & "' and 已用标识 = 0"
If cmd1.ExecuteScalar = 0 Then '如果编号表不存在前缀的行,那么增加一行
    e.DataRow("第一列") = Functions.Execute("getnumber","表B","第一列","2")
Else
    cmd1.CommandText = "Select Min(顺序编号) F r om {编号回收表} Where Tablename= '" & nm & "' and 前缀 = '" & pf & "' and 已用标识 = 0 Or 已用标识 Is Null"
    key1 = cmd1.ExecuteScalar()
    cmd1.commandText = "Update {编号回收表} S et [已用标识] = 1 Where [顺序编号] = " & Key1 & " And [前缀] = '" & pf & "' And Tablename= '" & nm & "'"
    cmd1.ExecuteNonQuery()
    cmd1.CommandText = "DELETE F R OM {编号回收表} Where Tablename= '" & nm & "' and 前缀 = '" & pf & "' and 顺序编号 = " & key1 & "And 已用标识 = 1"
    cmd1.ExecuteNonQuery()
    dr("第一列")=key1'这块合成是通过查到的结果合成
End If

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  22楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/20 17:43:00 [只看该作者]

你的查询里面,没有时间内容,合成的时候,也不应该有时间内容。

 

dr("第一列") = pf  & "-" & key1

[此贴子已经被作者于2016/1/20 17:43:16编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2927 积分:20167 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2016/1/20 17:46:00 [只看该作者]

key1 老师对应的是 行数  还是什么东东?  感觉就是 这个顺序编号


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


加好友 发短信
等级:九尾狐 帖子:2927 积分:20167 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2016/1/20 17:47:00 [只看该作者]


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

那对应的这个表的其他行怎么一并获取呢 


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  25楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/20 17:50:00 [只看该作者]

Dim dr As DataRow = e.DataRow
Dim pf As String = "CS" '设置入库单编号前缀
Dim Key1,key2 As Integer
Dim nm As String = e.DataTable.name
cmd1.commandText = "Select Count(*) F rom {编号回收表}  Where [前缀] = '" & pf & "' And Tablename= '" & nm & "' and 已用标识 = 0"
If cmd1.ExecuteScalar = 0 Then '如果编号表不存在前缀的行,那么增加一行
    e.DataRow("第一列") = Functions.Execute("getnumber","表B","第一列","2")
Else
    cmd1.CommandText = "Select top 1 * F r om {编号回收表} Where Tablename= '" & nm & "' and 前缀 = '" & pf & "' and 已用标识 = 0 Or 已用标识 Is Null order by 顺序编号"
    Dim dt As DataTable = cmd1.ExecuteReader
    Dim mydr As DataRow = dt.DataRows(0)
    key1 = mydr("顺序编号")

    cmd1.commandText = "Update {编号回收表} S et [已用标识] = 1 Where [顺序编号] = " & Key1 & " And [前缀] = '" & pf & "' And Tablename= '" & nm & "'"
    cmd1.ExecuteNonQuery()
    cmd1.CommandText = "DELETE F R OM {编号回收表} Where Tablename= '" & nm & "' and 前缀 = '" & pf & "' and 顺序编号 = " & key1 & "And 已用标识 = 1"
    cmd1.ExecuteNonQuery()
    dr("第一列")=key1'这块合成是通过查到的结果合成
End If

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


加好友 发短信
等级:九尾狐 帖子:2927 积分:20167 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2016/1/21 15:43:00 [只看该作者]

红袍老师,

例如是昨天的单据 CS-160120-001今天删除了,那么应该是永久删除了,因为今天是160121了,这块的时间怎么比较,时间段?

DataRowDeleting


Dim dt1,dt2 As Date

Dim cmd As New SQLCommand

cmd.C

cmd.CommandText = "Select GetDate()"

dt1 = cmd.ExecuteScalar()





Dim dr As DataRow = e.DataRow

If dr.IsNull("第一列")=False Then

    Dim str As String() = dr("第一列").Split("-")

    dt2=CDate("20" & str(1).SubString(0,2) & "-" & str(1).SubString(2,2) & "-" & str(1).SubString(4,2))

    If dt2=dt1 Then,这里的比较日期问题怎么写?

        Tables("编号回收表").AddNew()

        Tables("编号回收表").Current("Tablename")=e.DataTable.name

        Tables("编号回收表").Current("前缀")=str(0)

        Tables("编号回收表").Current("日期")=Format(dt2,"G")

        Tables("编号回收表").Current("顺序编号")=str(2)

        Tables("编号回收表").DataTable.Save

    End If

End If


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  27楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/21 15:47:00 [只看该作者]

If dt2>=Date.Today Then

 


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


加好友 发短信
等级:九尾狐 帖子:2927 积分:20167 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2016/1/21 15:54:00 [只看该作者]

好了 已经达到预计效果了 红袍老师能否给看看代码 是否合理 5楼说了好多  不知我做的是否 还有纰漏
[此贴子已经被作者于2016/1/21 15:54:09编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  29楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/21 15:57:00 [只看该作者]

以下是引用blsu33在2016/1/21 15:54:00的发言:
好了 已经达到预计效果了 红袍老师能否给看看代码 是否合理 5楼说了好多  不知我做的是否 还有纰漏
[此贴子已经被作者于2016/1/21 15:54:09编辑过]

 

这样做可以。能用就好。

 

不过,回收编号表没必要这样做,直接一列名称,一列编号即可。当然,记录信息越多当然越好。


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


加好友 发短信
等级:九尾狐 帖子:2927 积分:20167 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2016/1/21 15:59:00 [只看该作者]

哦 那么 网络上的编号 QQcilien 也是这么做吗


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