COMO UTILIZAR DISTAINTAS BASES DE DATOS SEGUN AÑO
Publicado por Manuel (7 intervenciones) el 13/05/2021 13:30:09
Buenos dias,
A ver si alguien puede ayudarme en este lio que tengo montado.
Estoy haciendo un programa de fichajes y quiero hacer una base de datos que contenga una tabla de fichajes para anotar los fichajes de entrada y salida y otra de control con todas las horas hechas cada dia en los distintos turnos.
En el programa accedo a dos bases de datos una de usuarios que contiene nombre de usuario y contraseña para el formulario de login y la otra que es la que he descrito anteriormente.
Con la base de datos para el login no hay problema, pero con la otra si los tengo.
He hecho una base de datos para cada año y despues del formulario de login voy a otro formulario en el que tengo que seleccionar en un combobox el año en el que quiero mirar la base de datos, segun el año que marque en el combobox, se asignan a una variable global las dos ultimas cifras del año y con esto quiero que me abra la base de datos (FICHAJES21, FICHAJES22, FICHJES23,ETC.) y vaya al formulario principal.
El problema es que el nombre de la base de datos se lo pongo concatenado a la variable global y me da error.
ASI ME FUNCIONA BIEN:
Sub ConectarBD21()
'conectar a la base de datos FICHAJES+AÑO
With BD21
.CursorLocation = adUseClient 'Ser cliente de la BD
'generamos la cadena de conexion con el control Adodc, la copiamos y la introducimos entre comillas despues del .Open
.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=FICHAJES21;Data Source=FRUTASIVET-PC\SQLEXPRESS"
MsgBox "estas conectado a FICHAJES"
End With
End Sub
Y ASI MAL:
Sub ConectarBD21()
'conectar a la base de datos FICHAJES+AÑO
With BD21
.CursorLocation = adUseClient 'Ser cliente de la BD
'generamos la cadena de conexion con el control Adodc, la copiamos y la introducimos entre comillas despues del .Open
.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=FICHAJES & año;Data Source=FRUTASIVET-PC\SQLEXPRESS"
MsgBox "estas conectado a FICHAJES"
End With
End Sub
Solo cambia que en uno es FICHAJES21 y en el que va mal es FICHAJES & año (año es la variable global que es 21)
A ver si alguien me puede ayudar con esto, Gracias.
A ver si alguien puede ayudarme en este lio que tengo montado.
Estoy haciendo un programa de fichajes y quiero hacer una base de datos que contenga una tabla de fichajes para anotar los fichajes de entrada y salida y otra de control con todas las horas hechas cada dia en los distintos turnos.
En el programa accedo a dos bases de datos una de usuarios que contiene nombre de usuario y contraseña para el formulario de login y la otra que es la que he descrito anteriormente.
Con la base de datos para el login no hay problema, pero con la otra si los tengo.
He hecho una base de datos para cada año y despues del formulario de login voy a otro formulario en el que tengo que seleccionar en un combobox el año en el que quiero mirar la base de datos, segun el año que marque en el combobox, se asignan a una variable global las dos ultimas cifras del año y con esto quiero que me abra la base de datos (FICHAJES21, FICHAJES22, FICHJES23,ETC.) y vaya al formulario principal.
El problema es que el nombre de la base de datos se lo pongo concatenado a la variable global y me da error.
ASI ME FUNCIONA BIEN:
Sub ConectarBD21()
'conectar a la base de datos FICHAJES+AÑO
With BD21
.CursorLocation = adUseClient 'Ser cliente de la BD
'generamos la cadena de conexion con el control Adodc, la copiamos y la introducimos entre comillas despues del .Open
.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=FICHAJES21;Data Source=FRUTASIVET-PC\SQLEXPRESS"
MsgBox "estas conectado a FICHAJES"
End With
End Sub
Y ASI MAL:
Sub ConectarBD21()
'conectar a la base de datos FICHAJES+AÑO
With BD21
.CursorLocation = adUseClient 'Ser cliente de la BD
'generamos la cadena de conexion con el control Adodc, la copiamos y la introducimos entre comillas despues del .Open
.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=FICHAJES & año;Data Source=FRUTASIVET-PC\SQLEXPRESS"
MsgBox "estas conectado a FICHAJES"
End With
End Sub
Solo cambia que en uno es FICHAJES21 y en el que va mal es FICHAJES & año (año es la variable global que es 21)
A ver si alguien me puede ayudar con esto, Gracias.
Valora esta pregunta


0