Codigo para el Modulo Global WK As Workspace Global dbint As DAO.Database Global rs As DAO.Recordset Public respuesta As String Sub crear_base() Set dbint = CreateDatabase(App.Path & "usuarios.mdb", dbLangSpanish, dbversion25) SQL = "create table Usuarios (Usuario text(30) not null, Contrasenia text(20) not null, Codigo counter not null constraint Codigo primary key) ;" 'Se definen las tablas que tendrá la base de datos dbint.Execute SQL 'Se crea la tabla Set dbint = OpenDatabase(App.Path & "usuarios.mdb"; ) 'Se guarda la base de datos en donde se encuentre el archivo ejecutable de su programa con el nombre de usuarios.mdb, archivo editable en Access 2007 SQL = "select * from usuarios" Set rs = dbint.OpenRecordset(SQL) rs.AddNew 'Se crea el usuario por defecto con su contraseña por defecto rs!Usuario = "user" rs!Contrasenia = "user" rs.Update rs.Close dbint.Close msj = "Se ha creado la base de datos: " & App.Path & "usuarios.mdb con éxito" respuesta = MsgBox(msj, vbOKOnly + vbInformation, "Login Reporter"; ) End Sub Codigo del Formulario Option Explicit Dim cn As New ADODB.Connection, strCNString As String Dim rs As New ADODB.Recordset Dim Txt As String Private Sub Form_Load() On Error GoTo crear_base Set WK = Workspaces(0) Set dbint = WK.OpenDatabase(App.Path & "usuarios.mdb"; ) Exit Sub crear_base: respuesta = MsgBox("No existe la base de datos", vbOKOnly + vbCritical, "Login Reporter"; ) respuesta = MsgBox("¿Desea crearla?", vbOKOnly + vbOKCancel + vbQuestion, "Login Reporter"; ) If respuesta = vbOK Then crear_base Else respuesta = MsgBox("El programa no puede funcionar sin la base de datos", vbOKOnly + vbExclamation, "Login Reporter"; ) If respuesta = vbOK Then End End If End If Exit Sub Me.Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 2 End Sub Private Sub cmdEntrar_Click() On Error GoTo ErrHandler strCNString = "Data Source=" & App.Path & "usuarios.mdb" cn.Provider = "Microsoft Jet 4.0 OLE DB Provider" cn.ConnectionString = strCNString cn.Open With rs .Open "Select * from usuarios where Usuario='" & txtusuario.Text & "' and Contrasenia='" & txtcontraseña.Text & "'", cn, adOpenDynamic, adLockOptimistic If .EOF Then MsgBox "El usuario y/o contraseña no son correctos", vbOKOnly + vbCritical, "Login System" txtusuario.Text = "" txtcontraseña.Text = "" txtusuario.SetFocus cn.Close Else Txt = "" & " " & UCase$(txtusuario.Text) & "" MsgBox "Bienvenido" & Txt, vbOKOnly + vbExclamation, "Login System" cn.Close Unload Me form2.Show End If End With Exit Sub ErrHandler: MsgBox Err.Description, vbCritical, "Login System" cn.Close End Sub Private Sub cmdSalir_Click() Unload Me End Sub