• Domingo 22 de Diciembre de 2024, 18:24

Autor Tema:  Base De Datos  (Leído 1211 veces)

skirpef

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Base De Datos
« en: Jueves 4 de Marzo de 2004, 17:47 »
0
hola necesito ayuda  para hacer una base de datos ya que tengo problemas con office por que  visual basic no me reconoce el tipo de la base de  datos

 me  pueden ayudar por  favor

o que me digan como puedo generar un archivo de base de datos directamente  en visual pero este asu ves genere un archivo  como respaldo y que se pueda ver en access

9tnix

  • Miembro MUY activo
  • ***
  • Mensajes: 165
  • Nacionalidad: pe
    • Ver Perfil
Re: Base De Datos
« Respuesta #1 en: Viernes 5 de Marzo de 2004, 06:43 »
0
saludos skirpef

1. Para usar las bases de datos de access con VB debes tener en cuenta el proveedor que para el caso de las bases de acess 2000 y XP se usa el proveedor Microsoft.Jet.Oledb.4.0, para base de datos office 97 usa el proveedor Microsoft.Jet.oledb.3.51

2. En VB puedes hacer base de datos con el visdata para tu caso access pero debes usar el proveedor Microsoft.jet.oledb.3.51 pues la base que genera es de office 97.

3. para crear un archivo de respaldo pues no estoy muy seguro pero podrias crear una copia de la base y compactarla.

Un saludo zeekel ®
[KGT]
TP-Systems
our knowledge is our power!

elmango80

  • Miembro MUY activo
  • ***
  • Mensajes: 149
  • Nacionalidad: ve
    • Ver Perfil
Re: Base De Datos
« Respuesta #2 en: Viernes 5 de Marzo de 2004, 07:29 »
0
Para compactar una base de datos existente puedes utilizar este codigo  :comp:

Código: Text
  1.  
  2. Public Sub CompactarBaseDeDatos(ByVal sRutaDb As String, Optional ByVal sPassword As String)
  3.  
  4.     ' Compactar una base de datos con ADO
  5.     Dim sDBTmp         As String
  6.     Dim je             As JRO.JetEngine
  7.     Dim CadenaConexion1 As String
  8.     Dim CadenaConexion2 As String
  9.  
  10.     On Error GoTo ErrCompactar
  11.  
  12.     Set je = New JRO.JetEngine
  13.  
  14.     ' Cerrar la conexión y recordset actual,(08/Oct/01)
  15.     ' ya que tiene que estar abierto en modo exclusivo
  16.  
  17.     gDB.Close
  18.  
  19.     ' Crear un nombre "medio" aleatorio
  20.     sDBTmp = "DBT_" & Format$(Minute(Now), "00") & Format$(Second(Now), "00") & ".mdb"
  21.  
  22.     ' Asegurarnos de que no existe una base con el nombre temporal
  23.     If Len(Dir$(sDBTmp)) Then
  24.         Kill sDBTmp
  25.     End If
  26.  
  27.     CadenaConexion1 = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
  28.                      "Data Source=" & sRutaDb & ";"
  29.     If Len(sPassword) Then
  30.        CadenaConexion1 = CadenaConexion1 & "Jet OLEDB:Database Password=" & sPassword & ";"
  31.     End If
  32.  
  33.     CadenaConexion2 = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
  34.                      "Data Source=" & sDBTmp & ";"
  35.     If Len(sPassword) Then
  36.        CadenaConexion2 = CadenaConexion2 & "Jet OLEDB:Database Password=" & sPassword & ";"
  37.     End If
  38.  
  39.  
  40.     ' Compactar la base de datos
  41.     je.CompactDatabase CadenaConexion1, CadenaConexion2
  42.  
  43.     ' Eliminar la base de datos original
  44.     Kill sRutaDb
  45.     '
  46.     ' Renombrar la base temporal con el original
  47.     Name sDBTmp As sRutaDb
  48.  
  49. CompactarSalir:
  50.     Call InicializarDatos(sRutaDb, glbPassDB)
  51.  
  52.     Exit Sub
  53.     '
  54. ErrCompactar:
  55.     ' Mostrar el mensaje de error
  56.     MsgBox "Error al compactar la base de datos:" & vbCrLf & _
  57.             Err.Number & " " & Err.Description, _
  58.             vbExclamation, "Error al compactar la base de datos"
  59.     Err.Clear
  60.  
  61.     Resume CompactarSalir
  62. End Sub
  63.  
  64.  
Citar
No soy bueno, tampoco soy malo sino todo lo contrario...