Foxtable(狐表)用户栏目专家坐堂 → [求助]这样代码能获取到“_Identify”吗?


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

主题:[求助]这样代码能获取到“_Identify”吗?

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


加好友 发短信
等级:幼狐 帖子:194 积分:1580 威望:0 精华:0 注册:2013/12/8 22:48:00
[求助]这样代码能获取到“_Identify”吗?  发帖心情 Post By:2019/5/12 11:24:00 [只看该作者]

新增记录窗口_afterload()

'增加新行
Dim dr As Row
dr = Tables("权利人名单").AddNew()
'定位到新增行
Tables("权利人名单").Position = Tables("权利人名单").Rows.count -1
CurrentTable.Current("项目编号") = xmbh
'生成档案编号
Dim bh As Integer
bh = CurrentTable.Current("_Identify")
CurrentTable.Current("档案编号") = "P" & bh

以上代码获取 "_Identify" 赋值给  bh ,作为档案编号
---------------------------------------------------

add_Click()

'确认新增
If e.Form.Controls("TextBox6").value ="" Then
    MessageBox.Show("<权利人>不能为空!")
    e.Form.Controls("TextBox6").Select()
Else
    Dim bh As String   
   bh = e.Form.Controls("TextBox2").value    '获取文本框中生成的编号
    Dim dr As DataRow
    dr = DataTables("权利人名单").SQLFind("[档案编号] = '" & bh & "'")
    If dr Is Nothing Then       '如果没找到重复的档案编号,保存新增行
        CurrentTable.Current("档案编号") =  bh
        CurrentTable.Current("录入日期") = Date.Now
        CurrentTable.Current("录入用户") = User.Name
        CurrentTable.Current.save()
        CurrentTable.Current.DataRow.load()
        e.Form.Close()
    Else
        MessageBox.show("档案编号重复,请取消当前窗口,重新点击<新增>获取编号后保存!")
       
    End If
End If

'以上代码验证 bh (档案编号唯一)后保存。
------------------------------------------------------------------

多用户环境,使用mssql

出现问题是:老是“ MessageBox.show("档案编号重复,请取消当前窗口,重新点击<新增>获取编号后保存!")”,
但有时却能很顺利地增加记录。


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


加好友 发短信
等级:二尾狐 帖子:567 积分:4194 威望:0 精华:0 注册:2015/5/13 8:32:00
  发帖心情 Post By:2019/5/12 11:35:00 [只看该作者]

_Identify
外部数据源的话,新增行需要先保存后 再获取!

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


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

先save一下,再获取_Identify的值,不然,_Identify的值,是临时的。

 回到顶部