Foxtable(狐表)用户栏目专家坐堂 → 高级自动编号示例帮助


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

主题:高级自动编号示例帮助

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


加好友 发短信
等级:小狐 帖子:363 积分:2998 威望:0 精华:0 注册:2008/11/11 13:42:00
高级自动编号示例帮助  发帖心情 Post By:2009/9/5 9:22:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:网络环境下的记录编号.rar


附件为狐爸爸的高级自动编号示例,我现在应该的SQL数据库,表名为定单主表,'systemdata 为外部数据源
不知道还有错误吗?

If e.DataRow.IsNull("产品") Then
   Return
ElseIf e.DataRow.IsNull("编号") = False AndAlso e.DataRow("编号").StartsWith(e.DataRow("产品")) Then
   Return
End If
Dim cmd1 As New SQLCommand
Dim cmd2 As New SQLCommand
Dim cmd3 As New SQLCommand
Dim Key As Integer
Dim T1 As String
cmd1.Con nectionN ame = "systemdata"  'systemdata 为外部数据源
cmd2.Con nectionN ame = "systemdata"  'systemdata 为外部数据源
cmd3.Con nectionN ame = "systemdata"  'systemdata 为外部数据源
cmd1.commandText = "Select [编号] From [定单主表] Where [产品] = '"  & e.DataRow("产品")  & "'"
Key = cmd1.ExecuteScalar()
T1 = Format(Date.today,"yyMM")
cmd2.commandText = "Update [编号] Set [编号] = " & (Key + 1)  & " Where [编号] = " & Key & " And [产品] = '" &e.DataRow("产品") & "'"
cmd3.commandText = "Select Count(*) From [定单主表] Where [产品] = '"  & e.DataRow("产品")  & "'"
If cmd3.ExecuteScalar = 0 Then
    cmd3.commandtext = "Insert Into 编号 (产品, 编号) Values('" & e.DataRow("产品") & "',1)"
    cmd3.ExecuteNonQuery
End If
Do
    If cmd2.ExecuteNonQuery() > 0 Then
        Exit Do
    Else
        Key = cmd1.ExecuteScalar()
        cmd2.commandText = "Update [编号] Set [编号] = " & (Key + 1)  & " Where [编号] = " & Key & " And [产品] = '" &e.DataRow("产品") & "'"
    End If
Loop
e.DataRow("编号") = e.DataRow("产品") & "-" & T1 & Format(Key,"0000")
[此贴子已经被作者于2009-9-5 9:25:19编辑过]

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


加好友 发短信
等级:小狐 帖子:363 积分:2998 威望:0 精华:0 注册:2008/11/11 13:42:00
现在出错的原因如下  发帖心情 Post By:2009/9/5 9:58:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:qq截图未命名.jpg
图片点击可在新窗口打开查看


图片点击可在新窗口打开查看此主题相关图片如下:qq截图未命名2.jpg
图片点击可在新窗口打开查看

我的数据类型都是字符型,为什么还有出错呢



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


加好友 发短信
等级:小狐 帖子:363 积分:2998 威望:0 精华:0 注册:2008/11/11 13:42:00
  发帖心情 Post By:2009/9/5 9:58:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:qq截图未命名1.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:qq截图未命名3.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:管理员 帖子:47477 积分:251256 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/9/5 10:48:00 [只看该作者]

用于编号的外部数据源,其编号列是数值型的,你的SQL语句中,关于编号的部分,有的用了单引号,等于作为字符了。

cmd2.commandText = "Update [编号] Set [编号] = " & (Key + 1)  & " Where [编号] = " & Key & " And [产品] = '" &e.DataRow("产品") & "'"

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


加好友 发短信
等级:小狐 帖子:363 积分:2998 威望:0 精华:0 注册:2008/11/11 13:42:00
  发帖心情 Post By:2009/9/5 16:58:00 [只看该作者]

学习了,谢谢!


 回到顶部