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


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

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

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


加好友 发短信
等级:一尾狐 帖子:465 积分:3216 威望:0 精华:0 注册:2017/4/18 1:15:00
  发帖心情 Post By:2017/7/27 15:14:00 [显示全部帖子]

这三张表,(1)其中两张都应该和客户表建立关系的,客户表应为父表和其他两个应为子表建立一对多的关系,我想实现的是在其他两张表中一眼能看出客户是谁而不是一些客户编号;注:建立关系是以客户资料表中的客户编号建立关系的。(2)商户表和机具表也应该建立一个一对多的关系,第一是一眼能知道这个商户目前有几台机器(以机具条码号的形式出现在商户表中不是以机具编号的形式出现的);第二是在机具表中一眼就能看出这台机具是哪个商户在使用(要以商户名称的形式出现而不是商户编号的形式出现在机具表中)注:建立关系是以商户表中的商户编号建立关系的
[此贴子已经被作者于2017/7/27 15:18:25编辑过]

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


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

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

 回到顶部
帅哥哟,离线,有人找我吗?
peibaomin
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | 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未声明,老师看看哪错了


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


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

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

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


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

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

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


加好友 发短信
等级:一尾狐 帖子:465 积分:3216 威望:0 精华:0 注册:2017/4/18 1:15:00
  发帖心情 Post By:2017/7/28 21:41:00 [显示全部帖子]

按单机按钮怎么没反应呢?

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


加好友 发短信
等级:一尾狐 帖子:465 积分:3216 威望:0 精华:0 注册:2017/4/18 1:15:00
  发帖心情 Post By:2017/7/28 21:59:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:客户关系表 (1).table

 

 

点击添加客户编号按钮没反应

[此贴子已经被作者于2017/7/28 22:00:21编辑过]

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


加好友 发短信
等级:一尾狐 帖子:465 积分:3216 威望:0 精华:0 注册:2017/4/18 1:15:00
  发帖心情 Post By:2017/7/28 22:40:00 [显示全部帖子]

老师这样把以前已经存在的数据客户编码全给重新命名了,如果已有的数据客户编号不变,怎么处理呢?


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


加好友 发短信
等级:一尾狐 帖子:465 积分:3216 威望:0 精华:0 注册:2017/4/18 1:15:00
  发帖心情 Post By:2017/7/28 23:38:00 [显示全部帖子]

[

Dim dt As DataTable = DataTables("客户资料")
Dim max  As  String
Dim idx  As  Integer
max = dt.Compute("Max(客户编号)","客户编号 like 'KH%'")
If max > ""  Then  '如果存在最大编号
    idx = CInt(max.Substring(2)) + 1  '获得最大编号的后三位顺序号,并加1
Else
    idx = 1  '否则顺序号等于1
End  If


For Each dr As DataRow In dt.Select("客户编号 is 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


此主题相关图片如下:改前 (2).png
按此在新窗口浏览图片

 


 


此主题相关图片如下:改之后.png
按此在新窗口浏览图片
[此贴子已经被作者于2017/7/29 0:59:29编辑过]

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


加好友 发短信
等级:一尾狐 帖子:465 积分:3216 威望:0 精华:0 注册:2017/4/18 1:15:00
  发帖心情 Post By:2017/7/29 15:06:00 [显示全部帖子]

如果有的是窗体组合框输入数据时,组合框怎么和表中的动态数据字典同步呀

 回到顶部
总数 27 1 2 3 下一页