Ayuda con Base de Datos usando un DATA!!

Dino85
07 de Septiembre del 2005
Estoy haciendo un programa, para el cual uso un Data, el programa lo estoy usando en una LAN, la base de datos yo la necesito reemplazar desde una PC a otra mientras la aplicacion se esta ejecutando, mi pregunta es: TENGO QUE HACER QUE EL DATA LIBERE LA BASE DE DATOS PARA PODER REEMPLAZARLA EN OTRA PC, COMO HAGO ESO?????

mvallejos
07 de Septiembre del 2005
Deja de usar datas, esas porquerías no sirven para nada.
Manéjate con conexiones y ecordsets

Saludos

Gaston Flores
07 de Septiembre del 2005
Realmente es verdad deja de usar DATA's porque cada enlace a una base de datos consume muchos recursos.
Crea un Recordset.
El tema es asi.
Como primera medida insertale a tu programa un Modulo. NO un modulo de clase.
Despues vamos a hacer los siguiente. Definimos...

Public AppPath As String
Public Work As Workspace
Public DBProveedores As Database

Public Sub Main()

On Error GoTo NoBD
If Err.Number = 3024 Then
NoBD:
BaseDato
Else
AppPath = App.Path
AppPath = IIf(Right(AppPath, 1) = "", AppPath, AppPath & "")
Set Work = DBEngine.Workspaces(0)
Set DBProveedores = Work.OpenDatabase(AppPath & "Base de DatosTabla.mdb")
TuForm.Show
End If

End Sub

Function BaseDato()

NoBD:
If MsgBox("El programa no encuentra la base de datos. Puede que se la haya movido de su ubicacion original. Por favor vuelvala a poner en su ubicacion original y haga click en Reintentar.", vbCritical + vbRetryCancel + vbDefaultButton1, "Error de conexion") = vbRetry Then
Main
Else
End
End If

End Function


Esto va a estar puesto en el modulo.!!!!!!!

Despues en el Formulario creamos el Recordset.

Dim TuRecordset As Recordset

Private Sub Form_Load()
Set RSRUBROS = DBProveedores.OpenRecordset("Select * from TuTabla")

Ya ahi tenes enlazado la tabla que vos querias!!!.

Que hicimos?. Creamos una consulta en el modulo para abrir solamente una vez la base de datos, cosa que con un DATA cada enlace es una apertura distinta a la base de datos, o sea si tenes 10 datas tenes 10 consultas a la base de datos. De esta manera la abrimos una vez a la base de datos para todos los FORMs del programa.
Despues que tenes enlazado el Recordset como lo hicimos recien, empesa a hacer las consultas con SQL.

Espero que te haya servido o me hayas entendido porque es medio complicado explicarlo por aca.
Saluds.