Ayuda con Base de Datos usando un DATA!!
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?????
Deja de usar datas, esas porquerías no sirven para nada.
Manéjate con conexiones y ecordsets
Saludos
Manéjate con conexiones y ecordsets
Saludos
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.
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.