首页 > 解决方案 > 在消息框中将数字转换为文本

问题描述

在我的主菜单表单中,我提供了一个按钮来检查到期任务作为提醒。在这个分配给字段中是数字,因为在我的表中它是数字类型并且它链接到联系人表以检索数据。因此,在我的消息框中,我需要将此号码转换为存储我的联系人表的数据。& 我也不能增加消息框的大小,所以看起来很乱。请浏览所附图像和代码并帮助我。[表格][消息框[]][数据类型限制`

Option Compare Database

Private Sub cmdreminder_Click()
Dim RS As DAO.Recordset
Dim strMsg As String
Set RS = CurrentDb.OpenRecordset("Tasks", dbOpenSnapshot, dbReadOnly)

With RS
    If Not (.BOF And .EOF) Then
        .MoveFirst
        While Not .EOF
            If ![Due Date] >= Date - 7 Then
              strMsg = strMsg & ![Title] & vbTab & vbTab & vbTab & ![Assigned to] & vbTab & vbTab & vbTab & ![Due Date] & vbCrLf
            End If
            .MoveNext
        Wend
    End If
    .Close
End With
Set RS = Nothing
If strMsg <> "" Then
   strMsg = "The following Tasks are due!!!:" & vbTab & vbTab & vbCrLf & vbCrLf &"-----------" & vbCrLf &"Equipment Name" & vbTab & vTab & "Agency Name" & vTab & vbTab & "Due Date" & vbCrLf &"----" & vbCrLf & strMsg Else strMsg = "No Tasks is pending" End If MsgBox strMsg, vbInformation + vbOKOnly End Sub ``]

在此处输入图像描述

标签: vbaformsmsgbox

解决方案


要显示任务描述,您需要将记录集的数据源从TasksSQL 查询更改为使用任务 ID 将 Tasks 表与 Contact 表连接起来。

显然我不知道你的表字段的名称,但它应该是这样的:

SELECT Tasks.*, Contacts.TaskDescription
FROM Tasks INNER JOIN Contacts ON Tasks.Id = Contacts.TaskId

至于设置 MessageBox 的样式,您的选择是有限的。我建议创建自己的表单,它的作用类似于 MessageBox。

有很多关于如何做到这一点的例子。


推荐阅读