Foxtable(狐表)用户栏目专家坐堂 → 关于数据库表关系建立


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

主题:关于数据库表关系建立

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/7/27 18:11:00 [只看该作者]

以下是引用裴保民在2017/7/27 17:23:00的发言:
怎么操作呢?
[此贴子已经被作者于2017/7/27 17:29:43编辑过]

 

http://www.foxtable.com/webhelp/scr/0025.htm

 


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


加好友 发短信
等级:一尾狐 帖子:465 积分:3216 威望:0 精华:0 注册:2017/4/18 1:15:00
  发帖心情 Post By:2017/7/27 19:49:00 [只看该作者]

表达式能做主键吗?怎么设置主键列自动填充呀?并且主键命名以前缀特殊字母符号+数字自动升序

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/7/27 19:52:00 [只看该作者]

以下是引用peibaomin在2017/7/27 19:49:00的发言:
表达式能做主键吗?怎么设置主键列自动填充呀?并且主键命名以前缀特殊字母符号+数字自动升序

 

表达式列不能做主键。

 

编码,参考 http://www.foxtable.com/webhelp/scr/2403.htm

 

http://foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=104150&replyID=713724&skin=1

 


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


加好友 发短信
等级:一尾狐 帖子:465 积分:3216 威望:0 精华:0 注册:2017/4/18 1:15:00
  发帖心情 Post By:2017/7/28 1:16:00 [只看该作者]

老师我想用“KH”+6位数字组成作为客户编号主键码,位数如不够用0补足位数,增加数据时以升序的方式增加主键码。

Dim lb As  String = "KH"
If e.DataRow("客户编号").StartsWith(lb) = False  '如果单据编号前缀不符
    Dim max  As  String
    Dim idx  As  Integer
    max = e.DataTable.Compute("Max(客户编号)","& lb  & " And [_Identify] <> " & e.DataRow")) '取得该类别的最大编号
    If max > ""  Then  '如果存在最大编号
        idx = CInt(max.Substring(2,3)) + 1  '获得最大编号的后三位顺序号,并加1
    Else
        idx = 1  '否则顺序号等于1
    End  If
    e.DataRow("客户编号") = lb & Format(idx,"000")
End If

运行时出错说"_Identify未声明,老师看看哪错了


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/7/28 8:49:00 [只看该作者]

datarowadded事件

 

Dim lb As  String = "KH"

Dim max  As  String
Dim idx  As  Integer
max = e.DataTable.Compute("Max(客户编号)","客户编号 like '" & lb & "%'")
If max > ""  Then  '如果存在最大编号
    idx = CInt(max.Substring(lb.length)) + 1  '获得最大编号的后三位顺序号,并加1
Else
    idx = 1  '否则顺序号等于1
End  If
e.DataRow("客户编号") = lb & Format(idx,"000000")


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


加好友 发短信
等级:一尾狐 帖子:465 积分:3216 威望:0 精华:0 注册:2017/4/18 1:15:00
  发帖心情 Post By:2017/7/28 13:26:00 [只看该作者]

数据表中以前有几千条数据怎么自动编上号呢

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/7/28 14:11:00 [只看该作者]

以下是引用peibaomin在2017/7/28 13:26:00的发言:
数据表中以前有几千条数据怎么自动编上号呢

 

做个按钮

 

Dim dt As DataTable = DataTables("表A")
Dim idx As Integer = 1
For Each dr As DataRow In dt.Select("")
    dr("客户编号") = "KH" & Format(idx,"000000")
    idx += 1
Next


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


加好友 发短信
等级:一尾狐 帖子:465 积分:3216 威望:0 精华:0 注册:2017/4/18 1:15:00
  发帖心情 Post By:2017/7/28 14:51:00 [只看该作者]

能不改变已有数据的客户编号吗?

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


加好友 发短信
等级:八尾狐 帖子:1989 积分:12631 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2017/7/28 17:02:00 [只看该作者]

怎么单击按钮把所有的客户编号重新编号了,能不能不改变已有数据的客户编号?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/7/28 18:11:00 [只看该作者]

Dim dt As DataTable = DataTables("表A")
Dim idx As Integer = 1
For Each dr As DataRow In dt.Select("客户编号 is not null")
    Dim str As String = "KH" & Format(idx,"000000")
    Dim fdr As DataRow = dt.find("客户编号 = '" & str & "'")
    If fdr Is Nothing
        dr("客户编号") = str
    End If
    idx += 1
Next

 回到顶部
总数 127 上一页 1 2 3 4 5 6 7 8 9 10 下一页 ..13