office交流网--QQ交流群号

Access培训群:792054000         Excel免费交流群群:686050929          Outlook交流群:221378704    

Word交流群:218156588             PPT交流群:324131555

Access以记录作为表名,创建数据表同时添加数据

2017-12-13 16:36:00
tmtony8
原创
5102

 网友“网速很慢”希望从一张Excel总表中,按其中一列进行拆分表。同时同一样的记录追加到该表中

我的这个表有好多行。 比如姓名行 刘德华原表10行 拆出刘德华这个表,里面有刘德华10条数据


如有表“表1”,把此表以姓名作为表名拆分出多个表,并把同名字的记录添加的新建的表中


效果图:


详细源码:

Public Sub TableJionName()
    Dim strSQL, strsql2 As String
    
    Dim rs As New ADODB.Recordset
    Dim rs2 As New ADODB.Recordset
    strSQL = "Select 姓名 from 表1 "
    
    rs.Open strSQL, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
    Do While Not rs.EOF
        If TableIsIn(rs("姓名")) = False Then
            CurrentDb.Execute "CREATE TABLE " & rs("姓名") & "([姓名] text)"
           
        End If
           strsql2 = "Select 姓名 from " & rs("姓名") & ""
           rs2.Open strsql2, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
           rs2.AddNew
           rs2("姓名") = rs("姓名")
           
           rs2.Update
           rs2.Close
        rs.MoveNext
    Loop
       
         
            
End Sub
Function TableIsIn(TableName As String)
    TableIsIn = True
    On Error Resume Next
    Dim strSQL As String
    strSQL = "select * from " & TableName
    CurrentDb.Execute strSQL
    If Err.Number = 3078 Then
        TableIsIn = False
    End If
    
End Function


这里调用了《Access判断数据表是否存在》 一文中的函数。通过该函数判断表是否存在,如果不存在即创建新的表同时添加记录,如果存在即往表中添加记录。

    分享