【问题标题】:Converting number to text in messagebox在消息框中将数字转换为文本
【发布时间】:2020-03-13 08:01:55
【问题描述】:

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

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 ``]

【问题讨论】:

  • 创建您自己的表单并将其Pop UpModal 属性设置为true。然后你可以按照你想要的方式格式化控件。
  • 感谢您的回复。数据存储在表中,并链接到另一个表的 id。因此消息框显示的是 ID 而不是分配的文本。如何更正此问题。

标签: vba forms msgbox


【解决方案1】:

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 2015-08-17
    • 2011-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多