Access - CODIGO PARA ENLAZAR BASE DE DATOS ACCESS DIVIDIDO (FRONT END - BACK END)

 
Vista:
sin imagen de perfil
Val: 28
Ha aumentado su posición en 4 puestos en Access (en relación al último mes)
Gráfica de Access

CODIGO PARA ENLAZAR BASE DE DATOS ACCESS DIVIDIDO (FRONT END - BACK END)

Publicado por Rodanim (16 intervenciones) el 27/10/2019 16:38:00
Hola a todos.. Necesito que alguien me ayude a resolver una cuestión.
Tengo una base de datos access el cual quiero dividir y enlazarlos a travéz de código.. el problema está que al querer enlazarlo necesito hacerlo con la base de datos editable (modo diseño).. necesito ver si es posible enlazarlos mediante código visual sin entrar en modo diseño, con solo indicar la ubicación de la BD (Back end)..
También me gustaría saber si se puede dividir mediante código.. Alguien me podría proporcionar el código o la solusión??..
Gracias de antemano...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Francisco
Val: 467
Plata
Ha disminuido 1 puesto en Access (en relación al último mes)
Gráfica de Access

CODIGO PARA ENLAZAR BASE DE DATOS ACCESS DIVIDIDO (FRONT END - BACK END)

Publicado por Francisco (212 intervenciones) el 27/10/2019 17:00:46
Hola

El siguiente codigo lo asocias al evento click de un boton, cambia las a tablas a tus tabla y listo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Private Sub XXXXXX_Click()
On Error GoTo Err_cmdLinkDB_Click
 
    Dim sOrigen As String
 
    sOrigen = Me.Application.CurrentProject.Path & "\" & "hotelsusa_be.accdb"
 
On Error Resume Next
    DoCmd.DeleteObject acTable, "departments"
    DoCmd.DeleteObject acTable, "employees"
    DoCmd.DeleteObject acTable, "jobs"
    DoCmd.DeleteObject acTable, "operational"
    DoCmd.DeleteObject acTable, "punchs"
    DoCmd.DeleteObject acTable, "schedule"
    DoCmd.DeleteObject acTable, "weekdays"
 
On Error GoTo Err_cmdLinkDB_Click
    DoCmd.TransferDatabase acLink, "Microsoft Access", sOrigen, acTable, "departments", "departments"
    DoCmd.TransferDatabase acLink, "Microsoft Access", sOrigen, acTable, "employees", "employees"
    DoCmd.TransferDatabase acLink, "Microsoft Access", sOrigen, acTable, "jobs", "jobs"
    DoCmd.TransferDatabase acLink, "Microsoft Access", sOrigen, acTable, "operational", "operational"
    DoCmd.TransferDatabase acLink, "Microsoft Access", sOrigen, acTable, "punchs", "punchs"
    DoCmd.TransferDatabase acLink, "Microsoft Access", sOrigen, acTable, "schedule", "schedule"
    DoCmd.TransferDatabase acLink, "Microsoft Access", sOrigen, acTable, "weekdays", "weekdays"
    Access.Application.DoCmd.SelectObject acForm, Me.name, True
    Access.Application.DoCmd.RunCommand acCmdWindowHide
 
    MsgBox "La base de datos ha sido enlazada correctamente.", vbExclamation + vbOKOnly, "Mi TItulo"
 
Exit_cmdLinkDB_Click:
    Exit Sub
Err_cmdLinkDB_Click:
    MsgBox "ERROR = >" & Err.Number & " -- " & Err.Description, vbCritical + vbOKOnly, "Mi TItulo"
    Resume Exit_cmdLinkDB_Click
End Sub

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 28
Ha aumentado su posición en 4 puestos en Access (en relación al último mes)
Gráfica de Access

CODIGO PARA ENLAZAR BASE DE DATOS ACCESS DIVIDIDO (FRONT END - BACK END)

Publicado por Rodanim (16 intervenciones) el 27/10/2019 17:39:35
AGRADECIDO INFINITAMENTE AMIGO... HASTA QUE ME DISTES LA SOLUCIÓN,, LA VERDAD HE ESTADO BUSCÁNDOLO DESDE HACE RATOS Y NO HABÍA ENCONTRADO LA RESPUESTA... MUCHÍSIMAS GRACIAS...
Y PERDONA.. Y SERÁ QUE SE PODRÁ DIVIDIR UNA BD DE LA MISMA MANERA(CON CODIGO)....( ES DECIR UNA BASE DE DATOS QUE AUN NO ESTÁ DIVIDIDA)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Francisco
Val: 467
Plata
Ha disminuido 1 puesto en Access (en relación al último mes)
Gráfica de Access

CODIGO PARA ENLAZAR BASE DE DATOS ACCESS DIVIDIDO (FRONT END - BACK END)

Publicado por Francisco (212 intervenciones) el 27/10/2019 18:48:34
Hola

Con la misma sentencia DoCmd.TransferDatabase lo puedes hacer tiene la opcion acExport y le das la base de datos destino, luego vinculas

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 28
Ha aumentado su posición en 4 puestos en Access (en relación al último mes)
Gráfica de Access

CODIGO PARA ENLAZAR BASE DE DATOS ACCESS DIVIDIDO (FRONT END - BACK END)

Publicado por Rodanim (16 intervenciones) el 30/10/2019 19:54:19
HOLA AMIGO, SALUDOS NUEVAMENTE..
Fijate que ya probé el código y si me funciona, pero en office 2016,, el detalle está que el proyecto que estoy trabajando esta en access 2010. el cuál muestra un error al enlazar.

Será que me puedes ayudar y ver cual será la causa...

Te dejé adjunto una base datos de ejemplo, y un vídeo donde se puede ver el detalle del error:

Gracias de antemano.

Saludos....

BASE DE DATOS
https://www.dropbox.com/s/bngw1hxcevcye3e/BD1.rar?dl=0

VIDEO DONDE SE VE EL ERROR:
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Francisco
Val: 467
Plata
Ha disminuido 1 puesto en Access (en relación al último mes)
Gráfica de Access

CODIGO PARA ENLAZAR BASE DE DATOS ACCESS DIVIDIDO (FRONT END - BACK END)

Publicado por Francisco (212 intervenciones) el 30/10/2019 21:14:30
Hola

El problema es que no se actualiza la nueva referencia de la tabla asi que en l afuncion de enlace hay que agregar una sentencia mas te la dejo marcado con una flecha


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
On Error GoTo Err_cmdLinkDB_Click
 
    Dim sOrigen As String
 
    sOrigen = Me.Application.CurrentProject.Path & "\" & "Roda_be.accdb"
 
On Error Resume Next
    DoCmd.DeleteObject acTable, "tb1" 'tabla
 
On Error GoTo Err_cmdLinkDB_Click
    DoCmd.TransferDatabase acLink, "Microsoft Access", sOrigen, acTable, "tb1", "tb1" 'tabla
 
 
    Access.Application.RefreshDatabaseWindow     <<<<----------------
    Access.Application.DoCmd.SelectObject acForm, Me.Name, True
    Access.Application.DoCmd.RunCommand acCmdWindowHide
 
    MsgBox "La base de datos ha sido enlazada correctamente. El sistema se cerrará para aplicar cambios.", vbExclamation + vbOKOnly, "Listo"
 
Exit_cmdLinkDB_Click:
    Exit Sub
Err_cmdLinkDB_Click:
    MsgBox "ERROR = >" & Err.Number & " -- " & Err.Description, vbCritical + vbOKOnly, "Mi TItulo"
    Resume Exit_cmdLinkDB_Click

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 28
Ha aumentado su posición en 4 puestos en Access (en relación al último mes)
Gráfica de Access

CODIGO PARA ENLAZAR BASE DE DATOS ACCESS DIVIDIDO (FRONT END - BACK END)

Publicado por Rodanim (16 intervenciones) el 30/10/2019 21:43:06
GRACIAS POR RESPONDER....
YA LE AGREGUÉ LA SENTENCIA,, PERO ME SIGUE MOSTRANDO EL MISMO ERROR..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Francisco
Val: 467
Plata
Ha disminuido 1 puesto en Access (en relación al último mes)
Gráfica de Access

CODIGO PARA ENLAZAR BASE DE DATOS ACCESS DIVIDIDO (FRONT END - BACK END)

Publicado por Francisco (212 intervenciones) el 30/10/2019 22:15:44
Yo no lo pude replicar en mi Access 2010, tu Access esta actualizado con el ultimo service pack???

Cuando abras el formulario intenta un

1
Me.Requery

a ver que sucede

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 28
Ha aumentado su posición en 4 puestos en Access (en relación al último mes)
Gráfica de Access

CODIGO PARA ENLAZAR BASE DE DATOS ACCESS DIVIDIDO (FRONT END - BACK END)

Publicado por Rodanim (16 intervenciones) el 30/10/2019 22:19:56
AHORA VEO ESO Y TE CUENTO.. GRACIAS...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar