Visual Basic - Problemas con RECORDSET

Life is soft - evento anual de software empresarial
 
Vista:

Problemas con RECORDSET

Publicado por Andres (63 intervenciones) el 30/12/2002 22:32:58
Hol ay un feliz año para todos, Mi pregunta es la siguiente, tengo un serie de formularios hijos y un formulario padre, yo quiero generar una sola conexion a base de datos y estoy utilizando el siguiente codigo.

En el formulario padre.

Public Db as Database

y en el evento load enruto la Db asi:

set Db = Dbengine.opendatabase("NombreDB")

luego desde un formulario hijo llamo esta ruta asi:

set Rs= Padre.Db.Openrecordset(NombreTabla)

el problema que se me presenta es que cuando intenta abrir esta ruta se presenta un mensaje de error, que dice: la variable with no se ha podido establecer.
COMO PUEDO SOLUCIONAR ESTE PROBLEMA.

Muchas gracias por su tiempo y de todo corazon un Feliz y prospero 2003.
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:Problemas con RECORDSET

Publicado por Hector (61 intervenciones) el 31/12/2002 03:26:15
Te estas complicando, usá ADO de esta forma: en un modulo(lo agregas en donde agregas formularios) pone :
''''''''''''''''''''''
Public conn As ADODB.Connection
Public strConn As String

Public ped As ADODB.Recordset
Public com21 As ADODB.Command
'''''''''''''''''''
En el load Padre, pone el siguiente codigo, esto va a depender en donde tengas la base de datos, yo la tengo en SQL , mi servidor se llama FLP-SQL y mi base de datos se llama lapompeya:

strConn = "DRIVER={SQL Server};SERVER=FLP-SQL;UID=sa;PWD=;DATABASE=lapompeya"
Set conn = New ADODB.Connection ' Creo el objeto conexion'
'Asigna la conexion del string y el proveedor, para abrir la conexion
conn.ConnectionString = strConn
conn.Provider = "msdasql"
conn.CommandTimeout = 180
conn.Open strConn

y en los formularios hijos en cada command button o lo que sea, defines lo siguiente como local:

Set ped = New ADODB.Recordset
ped.ActiveConnection = conn
Set com21 = New ADODB.Command
com21.ActiveConnection = conn

despues haces los select o lo que quieras, no te olvides de cerrar la conexion antes de salir:
Ejj: com21.CommandText = ("select cliente from nombretabla .............")
ped.Open com21
Para llamar a un registro:
ped.fields("cliente")
ped.Close
Set ped = Nothing

Bueno espero que te sirva, de lo contrario mandame un mail y te envío una porcion mas de codigo

Saludos+
Héctor
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