Workspace.CreateDatabase(ByVal Name As String, _ ByVal locale As String, _ ByVal options As Variant) As Database
The first argument can be the name of the database you want to create. If you provide only the name of the database, it would be created in the same folder where the action was initiated. For example, if you are already working in a database and you create a new database by providing a name, the new database would be created in the same folder where the current database resides. Here is an example:
Private Sub cmdDatabase_Click() Dim dbExercise As Database Set dbExercise = DBEngine.Workspaces(0).CreateDatabase("Exercise.accdb", . . .) End Sub
If you want, you can store the new database in a drive and folder of your choice. To do this, provide the complete path and the name of the database as the first argument. This would be done as follows:
Private Sub cmdCreate_Click() Dim dbExercise As Database Set dbExercise = DBEngine.Workspaces(0).CreateDatabase( _ "C:\Microsoft Access Database Development\Exercise.accdb", . . .) End Sub
The second argument to this method is required and it specifies the language used for the database. This is also referred to as the collation. This argument is passed as a constant named value and can be one of the following:
Here is an example:
Private Sub cmdCreate_Click() CreateDatabase("Exercise.accdb", dbLangGreek) End Sub
The third argument of the CreateDatabase() method is used to pass some options to use when creating the database. This optional argument can be a constant specified as dbEncrypt, if you want the database to be encrypted. If you don't pass this constant, the database would not be encrypted.
If you want to specify the version of Microsoft Jet used in the new database, the options argument can be one of the following values: dbVersion10, dbVersion11, dbVersion20, or dbVersion30. If you don't specify one of these values, the dbVersion30 would be used.
If you want the database to be encrypted and you want to specify the version of Microsoft Jet used in the new database, combine the dbEncrypt constant with one of the version values.
After using the database, you should close it by calling the Close method of the Database class. Here is an example:
Private Sub cmdCreateDatabase_Click() Dim dbExercise As Database Set dbExercise = CreateDatabase("Exercises1.accdb", dbLangGeneral) dbExercise.Close End Sub
When calling this method, if you try to close a database that is currently closed, you would receive a 2467 error.