Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共7 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:如何保证产品不重复?

1楼
yacity 发表于:2011/9/12 10:45:00

我的一个产品由三个 项目组成分别是“产品名称”“规格”“单位” 只要有一个项目不相同,就视为不相同的产品,当三个项目都相同的时候就视为相同的产品,相同的产品则不允许再录入。如何实现呢?

 

如图 第5行产品 和第1行产品相同,则不允许输入,并弹出提示框“已经存在相同的产品”如何实现呢?


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

 

项目如下:

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:琼富塑料管理系统n_0912.zip

[此贴子已经被作者于2011-9-12 10:46:43编辑过]
2楼
ybil 发表于:2011/9/12 10:56:00
If ",产品名称,规格,单位,".indexof("," & e.DataCol.Name & ",")>-1 Then
    Dim
 dr,dr1 As DataRow 
    dr = e.Datarow
    dr1 = e.
DataTable.Find("产品名称 = '" & dr("
产品名称") & "'and 规格 = '" & dr("规格") & "'and 单位 ='" & dr("单位") & "'")
    If dr1 IsNot Nothing Then
        MessageBox.Show(
"此产品已经存在!")
        e.Datarow( e.DataCol.Name
nothing
    End
 If
End
 
If
3楼
yacity 发表于:2011/9/12 15:49:00

这个是 要放到哪里去呢?

我放到 表属性 validateEdit  不行呀

 


图片点击可在新窗口打开查看此主题相关图片如下:130.jpg
图片点击可在新窗口打开查看
4楼
狐狸爸爸 发表于:2011/9/12 16:49:00

DataColChanged事件:

 

Select Case  e.DataCol.Name
    Case "第一列","第二列","第三列"
    Dim dr As DataRow
    dr = e.DataTable.Find("第一列 = '" & e.DataRow("第一列") & "' And 第二列 = '" & e.DataRow("第二列") & "' And 第三列 = '" & e.DataRow("第三列") & "'")
    If dr IsNot Nothing Then
        e.DataRow(e.DataCol.Name) = Nothing
    End If
End Select

5楼
yacity 发表于:2011/10/11 11:52:00

不行的。这样你永远都不能完整录入第一行。

因为只要你录入一行,就满足 If dr IsNot Nothing Then

 

应该判断是否存在两行相同的数据

如何实现呢?


 

6楼
狐狸爸爸 发表于:2011/10/11 13:54:00
Select Case  e.DataCol.Name
    Case "第一列","第二列","第三列"
    Dim drs As List(of DataRow)
    drs = e.DataTable.Select("第一列 = '" & e.DataRow("第一列") & "' And 第二列 = '" & e.DataRow("第二列") & "' And 第三列 = '" & e.DataRow("第三列") & "'")
    If drs.Count > 1 Then
        e.DataRow(e.DataCol.Name) = Nothing
    End If
End Select
7楼
mr725 发表于:2011/10/11 14:29:00
Dim Total As Integer
Dim Amount As Double
With DataTables("产品表")
    Total = .Compute("count(产品名称)","产品名称 = '" & CurrentTable.current("产品名称") & "' ")
End With
Output.Show("相同产品的个数:" & Total)
共7 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03125 s, 3 queries.