Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access MS Access:将组合框中的选定项插入表中_Ms Access_Vba - Fatal编程技术网

Ms access MS Access:将组合框中的选定项插入表中

Ms access MS Access:将组合框中的选定项插入表中,ms-access,vba,Ms Access,Vba,这是我使用MS Access所做工作的一个示例。我有一个包含人名的表格和两个用于添加电话号码的文本字段。我创建了一个包含名称的列表框。我设法将列表框中选定的姓名和电话号码从文本字段(Tel1和Tel2)插入表格(ContactTable)。我使用的脚本如下所示。如何将此脚本更改为使用组合框而不是列表框 Private Sub ListBoxEnter_Click() Dim Name As String Dim Tel1 As Integer Dim Tel2 As I

这是我使用MS Access所做工作的一个示例。我有一个包含人名的表格和两个用于添加电话号码的文本字段。我创建了一个包含名称的列表框。我设法将列表框中选定的姓名和电话号码从文本字段(Tel1和Tel2)插入表格(ContactTable)。我使用的脚本如下所示。如何将此脚本更改为使用组合框而不是列表框

Private Sub ListBoxEnter_Click()

    Dim Name As String
    Dim Tel1 As Integer
    Dim Tel2 As Integer

    If ListBox.ItemsSelected.Count = 1 Then
        Name = ListBox.Value
        Tel1 = Tel1field
        Tel2 = Tel2field

        values = "VALUES ("
        values = values & "'" & Person_Id & "','" & Name & "','" & Tel1 & "','" & Tel2 & "')"

        SQL = "INSERT  INTO ContactTable (Person_Id, Name, Tel1, Tel2)"
        SQL = SQL & values
        DoCmd.RunSQL SQL
        Me.Tel1.Value = Null
        Me.Tel2.Value = Null
   End If

End Sub

只需替换为组合框:

Private Sub ListBoxEnter_Click()

    Dim Name As String
    Dim Tel1 As Integer
    Dim Tel2 As Integer

    If Not IsNull(Me!ComboBox.Value) Then
        Name = Me!ComboBox.Value
        Tel1 = Tel1field
        Tel2 = Tel2field

        values = "VALUES ("
        values = values & "'" & Person_Id & "','" & Name & "','" & Tel1 & "','" & Tel2 & "')"

        SQL = "INSERT  INTO ContactTable (Person_Id, Name, Tel1, Tel2)"
        SQL = SQL & values
        DoCmd.RunSQL SQL
        Me.Tel1.Value = Null
        Me.Tel2.Value = Null
   End If

End Sub
FirstName = Me!ComboBox.Value     ' The bound column, often column 0.
LastName = Me!ComboBox.Column(1)  ' The second/other column
如果组合框中有两列:

Private Sub ListBoxEnter_Click()

    Dim Name As String
    Dim Tel1 As Integer
    Dim Tel2 As Integer

    If Not IsNull(Me!ComboBox.Value) Then
        Name = Me!ComboBox.Value
        Tel1 = Tel1field
        Tel2 = Tel2field

        values = "VALUES ("
        values = values & "'" & Person_Id & "','" & Name & "','" & Tel1 & "','" & Tel2 & "')"

        SQL = "INSERT  INTO ContactTable (Person_Id, Name, Tel1, Tel2)"
        SQL = SQL & values
        DoCmd.RunSQL SQL
        Me.Tel1.Value = Null
        Me.Tel2.Value = Null
   End If

End Sub
FirstName = Me!ComboBox.Value     ' The bound column, often column 0.
LastName = Me!ComboBox.Column(1)  ' The second/other column

很抱歉,如果我想将名称字段拆分为两个字段,分别是名字和姓氏,我需要为名字和姓氏创建两个组合框/列表框还是一个包含两列的组合框/列表框。如何使用“Name=ListBox.Value”将名字和姓氏字段添加到ContactTable?是的,组合框中可以有两列或更多列。请看编辑后的答案。再次感谢您,才华横溢!