Results 1 to 4 of 4

Thread: How to create multiple Tables for Access?

  1. #1

    Thread Starter
    Member
    Join Date
    Jul 2003
    Posts
    58

    How to create multiple Tables for Access?

    I tried to create multiple tables within VB.NEt for access, but it
    doesn't create all the tables.

    This is what I have:


    Public Sub CREATE_MAIN_DATABASE()
    Dim ADOXcatalog As New ADOX.Catalog
    Dim ADOXtable As New ADOX.Table
    Dim ADOXindex As New ADOX.Index

    On Error GoTo errhandler
    ADOXcatalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "c:\donation.mdb")

    On Error Resume Next


    errhandler:
    If Err.Number = -2147217897 Then
    MsgBox("Database already exists")
    ElseIf Err.Number <> 0 Then
    MsgBox("Err " & Err.Number & " " & Err.Description)

    End If
    ADOXtable = New ADOX.ADOXTable

    ADOXtable.Name = "Addressbook"
    ADOXtable.Columns.Append("Prefix", ADOX.DataTypeEnum.adVarWChar, 50)
    ADOXtable.Columns.Append("Firstname", ADOX.DataTypeEnum.adVarWChar, 50)
    ADOXtable.Columns.Append("Middlename", ADOX.DataTypeEnum.adVarWChar, 50)
    ADOXtable.Columns.Append("Lastname", ADOX.DataTypeEnum.adVarWChar, 50)
    ADOXtable.Columns.Append("Address1", ADOX.DataTypeEnum.adVarWChar, 50)
    ADOXtable.Columns.Append("Address2", ADOX.DataTypeEnum.adVarWChar, 50)
    ADOXtable.Columns.Append("City", ADOX.DataTypeEnum.adVarWChar, 50)
    ADOXtable.Columns.Append("State", ADOX.DataTypeEnum.adVarWChar, 50)
    ADOXtable.Columns.Append("Zip", ADOX.DataTypeEnum.adVarWChar, 50)
    ADOXcatalog.Tables.Append(ADOXtable)
    ADOXtable = Nothing


    ADOXtable.Name = "email"
    ADOXtable.Columns.Append("Name", ADOX.DataTypeEnum.adVarWChar, 50)
    ADOXtable.Columns.Append("Email", ADOX.DataTypeEnum.adVarWChar, 50)
    ADOXcatalog.Tables.Append(ADOXtable)
    ADOXtable = Nothing
    ADOXindex = Nothing
    ADOXcatalog = Nothing

    ADOXtable = Nothing
    ADOXindex = Nothing
    ADOXcatalog = Nothing

    End Sub

    What am I missing ?

  2. #2
    Sleep mode
    Join Date
    Aug 2002
    Location
    RUH
    Posts
    8,083
    Declare one instance of ADOX.Table for each table you are trying to create . So your code should look something like this :

    VB Code:
    1. Public Sub CREATE_MAIN_DATABASE()
    2.     Dim ADOXcatalog As New ADOX.Catalog
    3.     Dim ADOXtable As New ADOX.Table
    4.     Dim SecondTable As New ADOX.Table
    5.     Dim ADOXindex As New ADOX.Index
    6.  
    7.     On Error GoTo errhandler
    8.     ADOXcatalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "c:\donation.mdb")
    9.  
    10.     On Error Resume Next
    11.  
    12.  
    13. errhandler:
    14.     If Err.Number = -2147217897 Then
    15.         MsgBox("Database already exists")
    16.     ElseIf Err.Number <> 0 Then
    17.         MsgBox("Err " & Err.Number & " " & Err.Description)
    18.  
    19.     End If
    20.  
    21.     'First Table
    22.     ADOXtable.Name = "Addressbook"
    23.     ADOXtable.Columns.Append("Prefix", ADOX.DataTypeEnum.adVarWChar, 50)
    24.     ADOXtable.Columns.Append("Firstname", ADOX.DataTypeEnum.adVarWChar, 50)
    25.     ADOXtable.Columns.Append("Middlename", ADOX.DataTypeEnum.adVarWChar, 50)
    26.     ADOXtable.Columns.Append("Lastname", ADOX.DataTypeEnum.adVarWChar, 50)
    27.     ADOXtable.Columns.Append("Address1", ADOX.DataTypeEnum.adVarWChar, 50)
    28.     ADOXtable.Columns.Append("Address2", ADOX.DataTypeEnum.adVarWChar, 50)
    29.     ADOXtable.Columns.Append("City", ADOX.DataTypeEnum.adVarWChar, 50)
    30.     ADOXtable.Columns.Append("State", ADOX.DataTypeEnum.adVarWChar, 50)
    31.     ADOXtable.Columns.Append("Zip", ADOX.DataTypeEnum.adVarWChar, 50)
    32.     ADOXcatalog.Tables.Append(ADOXtable)
    33.  
    34.  
    35.     'Second Table
    36.     SecondTable.Name = "email"
    37.     SecondTable.Columns.Append("Name", ADOX.DataTypeEnum.adVarWChar, 50)
    38.     SecondTable.Columns.Append("Email", ADOX.DataTypeEnum.adVarWChar, 50)
    39.     ADOXcatalog.Tables.Append(SecondTable)
    40.  
    41.  
    42.     ADOXtable = Nothing
    43.     SecondTable = Nothing
    44.     ADOXindex = Nothing
    45.     ADOXcatalog = Nothing
    46.  
    47. End Sub

  3. #3

    Thread Starter
    Member
    Join Date
    Jul 2003
    Posts
    58
    Thanks I will try that..
    I was thinking about that but thought, nah that's too easy...
    Knowing MS it's always the hard way

  4. #4

    Thread Starter
    Member
    Join Date
    Jul 2003
    Posts
    58

    Problem solved :)

    Ok, it's working now..
    Thanks a lot

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width