Rdo

Necesito utilizar una BD de Access mediante VB, quisiera saber que debo hacer para realizar la conexión mediante RDO

1 respuesta

Respuesta
1
Para conectar mediante RDO, no te sirve el control DATA que tienes en la barra de controles, debes añadir el control "Microsoft RemoteData Control", que es parecido al DATA, pero para RDO. Configúralo para que conecte con tu base de datos concreta.
Tras esto inserta en tu formulario un grid normal (ojo, no un grid OLEDB, sino el normal) y establece su propiedad Recordsourde al control RDO que acabas de configurar.
Con esto ya tienes la conexión hecha. No obstante ...
RDO es una tecnología obsoleta. Para conectar con una base Access no necesitas usa un acceso remoto, te sirve el data normal, mucho más fácil de usar, y también el Adodc (con un grid OLEDB), no tan fácil, pero es la evolución del RDO y lo que se usa en la actualidad.
Me imaginaba que era obsoleto, es para un proyecto de la universidad, el profesor nos pide el código de VB para manipular esa BD. TE lo agradecería.
Gracias de antemano.
Pues me temo que no lo recuerdo, solo lo he usado una vez y enseguida cambie a ADO. De todos modos, quizás tu profesor se contente con ADO, que es la evolución de RDO, no tendría ningún sentido que te obligue a usar técnicas desfasadas. Díselo así, si no encuentras la información por otros medios (quizás buscando en internet haya páginas viejas donde lo encuentres). La cuestión es demostrar que sabes tratar una base desde VB, ¿no?.
Si, ya se lo que son algunos profes, yo los he sufrido no hace mucho, pero si es razonable, se contentara con esto (no uso controles, solo código, como pides):
Acceso a una DB Access desde VB utilizando técnica DAO
Dim Base As Database
Dim Tabla As DAO.Recordset
Dim Variable 'tipo Variant por defecto, asi traga con todo
Set Base = OpenDatabase("\\ntserver\Bases\Prueba.mdb") 'abro una base en otro ordenador, para que se vea que no estamos limitados a nuestro PC
Set Tabla = Base.OpenRecordset("Tabla1")
'para acceder a un componente:
variable = tabla("campo1")
'o bien
variable = tabla!campo1
'para modificar:
tabla.edit
tabla!campo1 = valor
tabla.update
Acceso a una DB Access desde VB utilizando técnica ADO. Supongo que mi base esta en SQLServer. Si güera Oracle u otro, la cadena de conexión seria la adecuada a cada caso. Esa es quizá la potencia de ADO.
Dim Cadena_Conexion As String
Dim BaseAs New ADODB.Connection
Dim Tabla As ADODB.Recordset
Cadena_Conexion = "Provider=SQLOLEDB.1;User ID=sa;Initial Catalog=Simon_Tablas;Data Source=NTSERVER"
Base.Open Cadena_Conexion
Set Tabla = New ADODB.Recordset
'logicamente, puedes cambiar los parametros de apertura, si solo es para leer, por ejemplo, es distinto, esto es para escribir/leer/modificar, con bloqueo de registro optimista
Tabla.Open "Tabla1", simon, adOpenKeyset, adLockOptimistic
'para acceder a un componente:
variable = tabla("campo1")
'o bien, como ves, igual que con DAO
variable = tabla!campo1
'para modificar:
'sin edit, DAO lo necesita, pero ADO no porque al abrir la tabla indicas que piensas hacer con ellay se abre en ese modo.
tabla!campo1 = valor
tabla.update
Espero que te sirva. Debería servirte si no es muy cabeza cuadrada.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas