以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  ADO无法实现数据源词典和禁止重复录入-ACCESS  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=188945)

--  作者:lin98
--  发布时间:2023/11/1 18:39:00
--  ADO无法实现数据源词典和禁止重复录入-ACCESS
ADO无法实现数据源词典和禁止重复录入-ACCESS,如何处理?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:数据库测试 - access-初 - 词典问题.zip



--  作者:有点蓝
--  发布时间:2023/11/2 8:51:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:数据库测试 - access-初 - 词典问题.zip


--  作者:lin98
--  发布时间:2023/11/2 9:25:00
--  
ACCESS
If e.DataTable.Compute("Count([_Identify])", "单号 = \'" & dr("单号") & "\' And 编号 = \'" & dr("编号") & "\'") > 1 Then\'

MYSQL
If e.DataTable.Compute("Count([ID])", "单号 = \'" & dr("单号") & "\' And 编号 = \'" & dr("编号") & "\'") > 1 Then\'

在MYSQL中失效,如何解决?
注:([ID])是MYSQL的主键,

--  作者:有点蓝
--  发布时间:2023/11/2 10:13:00
--  
列名正确不可能有问题的,去掉中括号试试
--  作者:lin98
--  发布时间:2023/11/2 10:19:00
--  

Select Case e.DataCol.name
    Case "采购单号", "产品编号"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("采购单号") = False AndAlso dr.IsNull("产品编号") = False Then
           If e.DataTable.Compute("Count(ID)", "采购单号 = \'" & dr("采购单号") & "\' And 产品编号 = \'" & dr("产品编号") & "\'") > 1 Then\'
                MessageBox.Show("已经存在相同型号和规格的行!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
                e.DataRow(e.DataCol.Name) = e.OldValue \'取消输入
            End If
        End If
End Select

列名正确,但还是失效

--  作者:有点蓝
--  发布时间:2023/11/2 10:34:00
--  
只能说明没有符合条件的数据,或者数据没有加载
--  作者:lin98
--  发布时间:2023/11/2 10:44:00
--  
我知道MYSQL(ID)主键与录入的数据不同步,在狐表里MYSQL(ID)主键是在录入数据,保存后才自动生成主键,所以找不到条件,不象ACCESS主键与录入的数据同步,如何解决。
--  作者:有点蓝
--  发布时间:2023/11/2 10:45:00
--  
If e.DataTable.Compute("Count(采购单号)", "采购单号 = \'" & dr("采购单号") & "\' And 产品编号 = \'" & dr("产品编号") & "\'") > 1 Then\'