以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何实现表里唯一的的一条记录  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=101823)

--  作者:yangjing
--  发布时间:2017/6/7 22:15:00
--  如何实现表里唯一的的一条记录
如何在表实现表里只有唯一一条记录
比如一个学生只能在这张表里只有3条记录,分别是“高一,高二,高三”,如果下拉选择年级的是“高一”但是表里已经存在的一条“高一”的记录了,表它弹出提示窗口

表结构如下:

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


--  作者:cd_tdh
--  发布时间:2017/6/7 22:32:00
--  

禁止多列输入重复

假定产品表有型号和规格两列,禁止输入型号和规格相同的产品,可以将这个表的DataColChanging事件代码设置为:

Select Case e.DataCol.name
    Case "型号","规格"
        Dim xh As String
        Dim gg As String
        If e.DataCol.Name= "型号" Then
            xh = e.NewValue
            gg = e.DataRow("规格")
        Else
            gg = e.NewValue
            xh = e.DataRow("型号")
        End If
        If xh > "" AndAlso gg  > "" Then 
            
Dim dr As DataRow = e.DataRow
            If e.DataTable.Find("
型号 = \'" & xh & "\' And 规格 = \'" &gg & "\'"IsNot Nothing Then
                MessageBox.Show("
已经存在相同型号和规格的行!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
                e.Cancel = True
            End If
        End If

End
 Select


--  作者:yangjing
--  发布时间:2017/6/7 23:10:00
--  
谢谢楼上老师,我去试一试