Visual Basic - COMO UTILIZAR DISTAINTAS BASES DE DATOS SEGUN AÑO

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil
Val: 18
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

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.
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
sin imagen de perfil
Val: 145
Ha aumentado 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

COMO UTILIZAR DISTAINTAS BASES DE DATOS SEGUN AÑO

Publicado por Sah1d Ra (191 intervenciones) el 13/05/2021 18:06:46
prueba esto

1
.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=FICHAJES" & año & ";Data Source=FRUTASIVET-PC\SQLEXPRESS"

saludos y felices líneas de programa10n.
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: 18
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

COMO UTILIZAR DISTAINTAS BASES DE DATOS SEGUN AÑO

Publicado por Manuel (7 intervenciones) el 13/05/2021 20:46:22
Buenas tardes, me da el siguiente error:
ERROR 404 EN TIEMPO DE EJECUCION: SE REQUIERE UN OBJETO
en la linea
.CursorLocation = adUseClient 'Ser cliente de la BD
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
Imágen de perfil de gilman
Val: 594
Bronce
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

COMO UTILIZAR DISTAINTAS BASES DE DATOS SEGUN AÑO

Publicado por gilman (359 intervenciones) el 14/05/2021 08:52:59
¿Como está definido BD21?
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: 18
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

COMO UTILIZAR DISTAINTAS BASES DE DATOS SEGUN AÑO

Publicado por Manuel (7 intervenciones) el 15/05/2021 13:03:55
Buenos dias, perdonad por mi ignorancia es que estoy aun un poco verde en vb6, efectivamente tenia mal definido el nombre de la base de datos ahora ya funciona con la linea que he agregado a propuesta de Sah1d Ra.
Muchisimas gracias a todos, con esto doy por cerrado el hilo.
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