以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何设计:通讯录中,没某人信息,就进行增加;有就显示的功能  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=62631)

--  作者:peterx
--  发布时间:2015/1/5 16:16:00
--  如何设计:通讯录中,没某人信息,就进行增加;有就显示的功能
如何设计:在“通讯录”表中,查找"姓名"字段有无"张三“信息;若没有,就新增加一条;有就显示该条?
谢谢

--  作者:Bin
--  发布时间:2015/1/5 16:18:00
--  
利用FIND  http://www.foxtable.com/help/topics/0396.htm  找不到就ADDNEW一行
--  作者:peterx
--  发布时间:2015/1/5 17:20:00
--  
谢谢。下代码有误,请老师指点:


Dim dr As DataRow
Dim name As String =Tables("购置申请管理").Current("申请人姓名")

dr = DataTables("内部通讯录").Find("姓名 = name.value")
If dr IsNot Nothing Then \'如果不是空,找到
     MessageBox.show("用户已存在!")
Else
   Tables("内部通讯录").AddNew()
Tables("内部通讯录").Current("姓名")= Tables("购置申请管理").Current("申请人姓名")
Forms("内部通讯录扩充").open

End If
[此贴子已经被作者于2015-1-5 17:21:26编辑过]

--  作者:有点甜
--  发布时间:2015/1/5 17:36:00
--  

Dim dr As DataRow
Dim name As String =Tables("购置申请管理").Current("申请人姓名")

dr = DataTables("内部通讯录").Find("姓名 = \'" & name & "\'")
If dr IsNot Nothing Then \'如果不是空,找到
    MessageBox.show("用户已存在!")
Else
    Tables("内部通讯录").AddNew()
    Tables("内部通讯录").Current("姓名")= name
    Forms("内部通讯录扩充").open 
End If


--  作者:peterx
--  发布时间:2015/1/6 9:17:00
--  
谢谢。如果用户存在,更新两个信息。下代码运行中,更新的信息不是当前用户的。请老师指点。
Dim dr As DataRow
Dim name As String =Tables("购置申请管理").Current("申请人姓名")
dr = DataTables("内部通讯录").Find("姓名 = \'" & name & "\'")
If dr IsNot Nothing Then \'如果找到的话
    Dim Result As DialogResult
    Result = MessageBox.Show("用户已经存在,更新信息吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
    If Result = DialogResult.Yes Then
        MessageBox.Show("好的,我更新.","提示")
        Tables("购置申请管理").Current("申请人姓名")= Tables("内部通讯录").Filter="姓名 = \'" & name & "\'"
        Tables("购置申请管理").Current("申请人电话")= Tables("内部通讯录").Current("办公电话")
        Tables("购置申请管理").Current("申请人邮件")= Tables("内部通讯录").Current("电子邮箱")
        MessageBox.Show("更新完成,谢谢!","提示")
    Else
        MessageBox.Show("好的,听你的!","提示")
    End If
Else
    Tables("内部通讯录").AddNew()
    Tables("内部通讯录").Current("姓名")= name
    Forms("内部通讯录扩充").open
    
    
End If
[此贴子已经被作者于2015-1-6 9:17:32编辑过]

--  作者:有点甜
--  发布时间:2015/1/6 9:23:00
--  
        Tables("购置申请管理").Current("申请人姓名")= name
        Tables("购置申请管理").Current("申请人电话")= dr("办公电话")
        Tables("购置申请管理").Current("申请人邮件")= dr("电子邮箱")