Visual Basic - Ayuada con ado

Life is soft - evento anual de software empresarial
 
Vista:

Ayuada con ado

Publicado por Luis C (26 intervenciones) el 03/07/2001 22:11:29
hola a todos.

Mi problema es que estoy haciendo un prigrama para generar reportes y nececito crear un recordset de al menos dos bases de datos diferentes y no se como hacerlo. lo que he logrado hasata aora es hacerlo con Dao 3.6 y dos mdb, de la siguiente manera:

Dim db As Database
Dim rst As Recordset

Set db = OpenDatabase("c:\neptuno.mdb")
Set rst = db.OpenRecordset("select tbl1.nombreproducto, tbl2.description from " & _
"c:\neptuno.mdb.productos as tbl1, c:\nwind.mdb.categories as tbl2")

Set Data1.Recordset = rst

rst.Close
db.Close

pero nececito hacerlo con bases datos conectadas mediante ODBC, ya sea con dao o con ADO.

he inetenatado mediante ADO pero no se bien que instruccion debe ser porqe lo siguiente me marca error:

Set cnn = New ADODB.Connection
Set cnn2 = New ADODB.Connection
Set rst = New ADODB.Recordset
Set rst2 = New ADODB.Recordset

cnn2.Open "DSN=SqlRemoto", "sa"
cnn.Open "DSN=DSN_Sql_Local", "sa"

rst2.Open "ObjetosFrente", cnn2
rst.Open "SELECT tbl1.NumDeObjetosFrente, tbl2.TipoDelObjeto FROM" & _
" General_01 as tbl1, [DSN=SqlRemoto, sa.OBJETOSFRENTE] as tbl2 ", cnn

Si alguien tiene idea de como lograrlo le agradeceria me lo explicara...

De antemano agradesco su ayuda.

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

RE:Ayuada con ado

Publicado por falil (22 intervenciones) el 04/07/2001 00:46:40
Mira yo utilizo ADO y una conexi´con a una base de datos de SQL
Espero que te sirva

Variables
Global adoConn As ADODB.Connection
Global adoQuery As ADODB.Recordset

Conexión a la base de datos
Set adoConn = New ADODB.Connection
adoConn.ConnectionString = "Driver={SQL Server};SERVER=cmtyps02;UID=sa;DATABASE=Servidores"
adoConn.Open

Ejecutar un SQL
SQL="Select * from Base de datos"
adoConn.Execute SQL

Espero que te sirva de ayuda
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

RE:duda...

Publicado por Luis C (26 intervenciones) el 04/07/2001 01:37:37
Gracias falil por ayudarme.

tengo duda sobre tu respuesta, ya que mi problema es abrir dos bases de datos totalmente distintas y segun veo en tu codigo declaras las varibles de conexion y recordset, despues das los parametros a la variable de conexion y la abres y despues ejecutas una consulta con la cadena :
SQL="SELECT * FROM BASE DE DATOS"
la duda es "BASE DE DATOS" hace referrencia a la misma base de datos del objeto conection o sea la base SERVIDORES o debo de dar la ruta de conexion a una base de datos externa, puesto que lo acabo de hacer y me marco error.

si estoy mal te agradeceria que me lo digas y me expliques tu codigo nuevamente.

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

RE:duda...

Publicado por Falil (22 intervenciones) el 04/07/2001 18:34:58
Mira si quieres hacer una conexción a dos bases de datos distinas sería algo así
Variables
Global adoConn1 As ADODB.Connection
Global adoQuery 1 As ADODB.Recordset
Global adoConn2 As ADODB.Connection
Global adoQuery 2 As ADODB.Recordset

Aqui tienes 2 objetos recordset y dos objetos connexion

Conexión

Set adoConn1 = New ADODB.Connection
adoConn1.ConnectionString = "Driver={SQL Server};SERVER=cmtyps02;UID=sa;DATABASE=Servidores"
adoConn1.Open
Set adoConn2 = New ADODB.Connection
adoConn2.ConnectionString = "Driver={SQL Server};SERVER=cmtyps02;UID=sa;DATABASE=Monitoreos"
adoConn2.Open

Aqui estableces la conexión a dos base de datos diferentes: Servidores y Monitoreos

Y para ejecutar SQL hacves lo siguiente
SQL = "Select * from servidores" <--Esta es una variable String
adoConn1.Execute SQL <-- Ponemos adoconn1 porque la busqueda es en la base de datos Servidores si queremos hacer una busqueda en la otra base de datos utilizas el objeto adoConn2.Execute SQL

Espero que no te queden dudas.. si tienes alguna otra duda mándame un mail :)

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