¿Cómo puedo usar una variable en 5 bases de datos conectadas en Visual Basic?

Hola tengo 5 bases de datos conectadas pero como puedo usar una variable para todas en un combo osea
bd_actual = bd
bd_actual = bd1
y despues solo ocupar la variable(bd_actual) en las consultas
Set m1 = bd_actual.Execute("select * from " & Combo3.List(Combo3.ListIndex) & " where codigopais= '" & a.Text & "'")
If m1.EOF Then
MsgBox "No hay exportaciones a este pais.", vbCritical, "NO HAY EXPORTACIONES"
Else
buscar1
End If
Gracias

1 Respuesta

Respuesta
Si te entendí bien, de la misma forma en que lo comentas, lo que tienes que tener por ahí es la dirección física de tu base de datos y eso se lo igualas a la variable que me indicas y listo.
¿Hola gracias como la dirección física?
Public Sub conectar()
Set ex0 = New ADODB.Connection
ex0.ConnectionString = "dsn=ex2000"
Set ex1 = New ADODB.Connection
ex1.ConnectionString = "dsn=ex2001"
Set ex2 = New ADODB.Connection
ex2.ConnectionString = "dsn=ex2002"
Set ex3 = New ADODB.Connection
ex3.ConnectionString = "dsn=ex2003"
Set ex4 = New ADODB.Connection
ex4.ConnectionString = "dsn=ex2004"
End Sub
Gracias
Te puedo mandar el código por mail mejor
el mio el [email protected]
Gracias
Gracias por toda tu ayuda en las preguntas anteriores por algo estas primero
Y en esta no entiendo me puedes colocar un ejemplo por favor
Gracias
Un favor, para mejorar lo que haces porque no colocas el segmento de código completo que comentas, lo analizo y te coloco lo que debes de hacer.
Saludos
David Enciso
PD. Gracias, por los comentarios, estoy en esta categoría, pero en ranking global también me localizas.
¿Ya y cuando haga una consulta como va a saber a que base de datos conectarse?
Gracias por tu tiempo y ayuda
Exactamente lo que indicas, el DSN es la dirección física de tu base de datos.
Espero que venga empacado y que se muy pequeño, ya que los marshalls de verificación en mi trabajo filtran casi todo.
Saludos
David Enciso
[email protected]
Lo que debes de cambiar sería algo como lo siguiente, en tu rutina del modulo pásale un parámetro que le indique que dsn de conexión va a utilizar una sola variable de conexión:
select case iconexion
case 1
set conexionunica =New ADODB.Connection
conexionunica.ConnectionString = "dsn=ex2000"
case 2
Set conexionunica = New ADODB.Connection
conexionunica.connectionString = "dsn=ex2001"
Y así hasta terminar.
Lo puedes validar con tu combo de año que tienes en tu forma, dependiendo del valor en un select le indicas a donde se conecte.
Public Sub Combo1_Click()
If Combo1.Text = "2000" Then
Combo3.Clear
Dim rs0 As New ADODB.Recordset
Set rs0 = conexionunica.OpenSchema(adSchemaTables)
rs0.MoveFirst
Do Until rs0.EOF
If rs0!table_type = "TABLE" Then
Combo3.AddItem rs0!table_name
End If
rs0.MoveNext
Loop
ElseIf Combo1.Text = "2001" Then
Combo3.Clear
Set rs0 = conexionunica.OpenSchema(adSchemaTables)
rs0.MoveFirst
Do Until rs0.EOF
If rs0!table_type = "TABLE" Then
Combo3.AddItem rs0!table_name
End If
rs0.MoveNext
Loop
ElseIf Combo1.Text = "2002" Then
Combo3.Clear
Set rs0 = conexionunica.OpenSchema(adSchemaTables)
rs0.MoveFirst
Do Until rs0.EOF
If rs0!table_type = "TABLE" Then
Combo3.AddItem rs0!table_name
End If
rs0.MoveNext
Loop
ElseIf Combo1.Text = "2003" Then
Set ex_actual = ex3
Combo3.Clear
Set rs0 = conexionunica.OpenSchema(adSchemaTables)
rs0.MoveFirst
Do Until rs0.EOF
If rs0!table_type = "TABLE" Then
Combo3.AddItem rs0!table_name
End If
rs0.MoveNext
Loop
ElseIf Combo1.Text = "2004" Then
Combo3.Clear
Set rs0 = conexionunica.OpenSchema(adSchemaTables)
rs0.MoveFirst
Do Until rs0.EOF
If rs0!table_type = "TABLE" Then
Combo3.AddItem rs0!table_name
End If
rs0.MoveNext
Loop
End If
End Sub
¿En ese combo? Hay coloque conexionunica a todas las consultas pero no entiendo lo que me dices
Gracias me puedes dar un ejemplo
Por favor es lo único que me falta para terminar el programa ayudame por favor estoy haciendo mi practica y no entiendo mucho de visual gracias
Saludos
Manda la aplicación completa, y lo que quieres bien especificado en un documento a la siguiente dirección:
[email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas