Access y objetos

Estoy trabajando con una base de datos cuyos campos son hipervínculos, y para trabajar con varias tablas a la vez, he empezado a trabajar en visual basic.
He declarado objetos como tablas pero no sé como manejar sus campos, ya que me da errores el código:
dim dbprotocolo as database
dim tblprotocolo as tabledef
set dbprotocolo = currentdb
set tblprotocolo =dbprotocolo![protocololinea]
A partir de aquí no sé como asignar valores a los campos de la tabla protocolo linea, he probado a crear un recordset, pero me dice que no encuentra la tabla tblprotocolo ¡Y la acabo de crear¡
En otras ocasiones al intentar asignar valores me dice que no coinciden los tipos: tblprotocolo(8) =dbprotocolo![capitulos]![capitulo4]
En fin, me parece que estoy cometiendo un error de bulto y no se me ocurren más cosas
¿Me puedes echar una mano?
1

1 respuesta

Respuesta
1
¿Estoy trabajando con una base de datos cuyos campos son hipervínculos ...?
Me imagino que en lugar de hipervínculos, "son tablas vinculadas".
Y de lo que escriba aquí, sera a partir de "tablas vinculadas"
Esta es tu línea:
set tblprotocolo =dbprotocolo![protocololinea]
Prueba esta:
set tblprotocolo =dbprotocolo([protocololinea],dbopendynaset)
Te adjunto unas líneas que tengo como maestras y que siempre parto de aquí para trabajar con recordset. Está en una base de datos que se llama Maestro donde voy poniendo ejemplos, etc.
Copia y pega en un nuevo módulo.
Un saludo,
McPegasus
' Trabajar y/o manipular RecordSet = Manipular conjunto de registros.
Sub StandardBDActual()
Dim DB As Database 'Declaramos DB como Base de datos.
Dim RS As Recordset 'Declaramos RS como un Registro.
Set DB = CurrentDb() 'Abrimos la Base de Datos actual.
'Abrir una tabla que NO este vinculada y no tenga indices.
Set RS = DB.OpenRecordset("Artículos", dbOpenTable) 'Abrimos la tabla.
'Abrir una tabla que SÍ este vinculada y tenga indices que podamos utilizar para buscar.
Set RS = DB.OpenRecordset("Artículos", dbOpenDynaset) 'Abrimos la tabla.
'Rutinas de trabajo ...
' ...
RS.Close 'Cerrar el Registro
DB.Close 'Cerrar la Base de datos
Set RS = Nothing 'Liberar la memoria
Set DB = Nothing
End Sub
Sub StandardBDExterna()
Dim DbEx As Database 'Declaramos DB como Base de datos.
Dim RS As Recordset 'Declaramos RS como un Registro.
Const NombreBaseDatos = "C:\Archivos de programa\BDHerramientas\BDHerramientasV97120.mdb"
Set DbEx = OpenDatabase(NombreBaseDatos) 'Abrimos una Base de Datos Externa.
'Abrir una tabla que NO este vinculada y no tenga indices.
Set RS = DB.OpenRecordset("Artículos", dbOpenTable) 'Abrimos la tabla.
'Abrir una tabla que SÍ este vinculada y tenga indices que podamos utilizar para buscar.
Set RS = DB.OpenRecordset("Artículos", dbOpenDynaset) 'Abrimos la tabla.
'Rutinas de trabajo ...
' ...
RS.Close 'Cerrar el Registro
DbEx.Close 'Cerrar la Base de datos
Set RS = Nothing 'Liberar la memoria
Set DbEx = Nothing
End Sub
Hola
Respecto a lo que me comentas, los campos de mi tabla son hipervínculos, concretamente documentos de word almacenados en una carpeta externa.
De todas formas he copiado las lineas que me has indicado y al compilar o depurar, me da siempre el mismo error:
Error '13' no coinciden los tipos
¿Se te ocurre cual puede ser el problema?
Gracias por anticipado
Saludos
Juan
Ok, son hipervículos.
Pues no tengo experienia en esto, siento no poderte ayudar más.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas