Foxtable(狐表)用户栏目专家坐堂 → 老师,帮忙看看


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

主题:老师,帮忙看看

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


加好友 发短信
等级:五尾狐 帖子:1173 积分:8777 威望:0 精华:0 注册:2012/4/18 16:28:00
老师,帮忙看看  发帖心情 Post By:2015/6/29 12:20:00 [显示全部帖子]

以下代码是button(发送键)里面的,已经实现一对一内部通讯,一对多发送信息存在问题,不能收到。
主要设计思路是结合自定义登录系统来完成的,在外部数据源“User"中增加了一个数据表”内部通讯“,以下发送代码发送多人时,Access的”内部通讯“表呈现

图片点击可在新窗口打开查看此主题相关图片如下:未标题-1.jpg
图片点击可在新窗口打开查看
想实现:
发送者       接收者        发送内容
杨阳          柯迎           ttt
杨阳          老张           ttt
杨阳          老刘           ttt

在大红袍老师的帮助下,已实现非自定义登录系统的以上功能,但利用Access外部数据源进行自定义登录系统与内部通讯结合起来的设计,
想请教老师,在建立了Dim cmd As New SQLCommand   cmd.C后,
cmd.CommandText = ????的拆解条件应该如何写,  

Dim yhm As String = e.Form.Controls("用户名").Text '获得接收用户名
Dim nr As String = e.Form.Controls("TextBox2").Text '获得发送内容
If yhm = "" AndAlso nr = "" Then
    Return
End If
For Each s As String In yhm.Split(",")
Dim cmd As New SQLCommand
cmd.C
cmd.CommandText = "Insert Into {内部通讯} ([发送者],[接收者],[发送时间],[发送内容]) Values ('"
cmd.CommandText = cmd.CommandText & _UserName & "','" & yhm & "',#" & Date.Now & "#,'" & nr & "')"
If cmd.ExecuteNonQuery = 1 Then '返回1表示增加成功
    e.Form.Controls("TextBox2").Value = ""
    If e.Form.Controls("TextBox1").Value = Nothing Then
        e.Form.Controls("TextBox1").Value =  _UserName & "  " & Date.Now & vbcrlf  & "      " & nr
    Else
        e.Form.Controls("TextBox1").Value = e.Form.Controls("TextBox1").Value & vbcrlf & vbcrlf & _UserName & "  " & Date.Now & vbcrlf  & "      " & nr
   End If
End If
Next

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


加好友 发短信
等级:五尾狐 帖子:1173 积分:8777 威望:0 精华:0 注册:2012/4/18 16:28:00
  发帖心情 Post By:2015/6/29 14:45:00 [显示全部帖子]

2楼代码,在执行时出现,勾选一个接收者后会自动发两次,勾选多个接收者后,最后一个接收者会自动发两次,
是否是我在Afterload事件里设置的代码有误?

Dim cmd,cmd1 As New SQLC ommand
Dim dt As DataTable
Dim lst As WinForm.CheckedComboBox = e.F orm.Controls("CheckedComboBox1")
cmd.C
cmd.C ommandText = "SELECT DISTINCT Name F rom {Users}"
dt = cmd.ExecuteReader()
For Each dr As DataRow In dt.Datarows
    cmd1.C
    cmd1.CommandText = "Select * F rom {内部通讯} Where [发送者] = '" & dr("Name") & "' And [接收者] = '" & _UserName & "' And [接收时间] Is NULL"
    Dim dt1 As DataTable
    dt1 = cmd1.ExecuteReader
    If dr("Name") <>  _UserName Then  ' 不加载登录用户列表
        lst.Items.Add(dr("Name") & "(" & dt1.DataRows.Count & ")")
    End If
Next
If Lst.Items.Count > 0 Then
    lst.SelectedIndex = 0
End If
e.F orm.Text = "内部通讯 - " & _UserName

e.F orm.Controls("DateTimePicker1").Value = Date.Today.AddDays(-7)
e.F orm.Controls("DateTimePicker2").Value =Date.Today.AddDays(1)

For Each fnt As  System.Drawing.FontFamily In System.Drawing.FontFamily.Families
    output.show(fnt.Name)
Next

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


加好友 发短信
等级:五尾狐 帖子:1173 积分:8777 威望:0 精华:0 注册:2012/4/18 16:28:00
  发帖心情 Post By:2015/6/29 14:58:00 [显示全部帖子]

谢谢两位老师的指导,很有价值的收获,谢谢!谢谢!Foxtabl的功能和技巧真是强大,关键在于自己的学习和方法应用。

 回到顶部