Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Indices de ACCESS y SQL

223 views
Skip to first unread message

Carlos

unread,
Aug 8, 2001, 4:22:05 AM8/8/01
to
Hola, estoy creando una base de datos access 97, pero
resulta que el volumen de datos q manejo es superior al
Gigabyte, asi que no he tenido mas remedio que pasar los
datos a SQL Server y vincular las tablas desde Access para
poder trabajar. Hasta aqui todo correcto. El problema me
surge con los indices. Abro una tabla de la siguiente
manera:

Dim rs As Recordset
Set rs = CurrentDb().OpenRecordset("Elementos")
rs.Index = "PrimaryKey"
rs.Seek "=", [Numero Elemento]
If Not rs.NoMatch Then
MsgBox "El elemento ya existe."
SendKeys "{ESC}"
End If

Esto, tal como esta, funciona correctamente si las tablas
son de Access 97, pero ahora no es asi. Ahora las tablas
estan vinculadas a SQL Server. Y cuando llega a la
instruccion:

rs.Index = "PrimaryKey"

me dice que:

Se ha producido el error '3251' en tiempo de ejecucion:
Operacion no valida para este tipo de objeto.

Alguien sabe a que es debido este error?
Como puedo usar los indices ahora?
Gracias de antemano.

Hot Budare

unread,
Aug 8, 2001, 9:22:22 PM8/8/01
to
Access NO puede utilizar la propiedad Index (ni el método Seek) de un objeto
Recordset que no sea del tipo Table, es decir, que ese código NO funcionará
con tablas vinculadas.

--
HTH/EQTA,
T.S.U. Mario Osorio
Punto Fijo, Falcón , Venezuela

Página personal:
http://www.mipagina.cantv.net/hotbudare/

Carlos <csa...@teleline.es> escribió en el mensaje de noticias
f51101c11fe3$35812d60$9be62ecf@tkmsftngxa03...

Carlos

unread,
Aug 9, 2001, 2:51:11 AM8/9/01
to
Entonces como puedo hacer un SEEK en una tabla vinculada a
SQL Server?

Que seria lo equivalente a usar ...

rs.index = "PrimaryKey"
rs.seek "=", [Numero Elemento]

???

O debo seguir otra estrategia?

Gracias.

Augusto Barragán C.

unread,
Aug 9, 2001, 9:25:35 AM8/9/01
to
Yo no utilizo el SEEK. Prefiero lo siguiente

dim rs as recordset
'se asume una búsqueda por el campo 1
set rs = mibase.openrecordset ("SELECT campo1, campo2 FROM tabla WHERE
campo1 = " & parámetro, dbopendynaset)
IF rs.EOF then
'registro no encontrado, hay que agregarlo
rs.addnew
rs(0) = ...
rs(1) = ...
rs.update
else
'registro encontrado, se puede editar o solo que muestre datos
rs.edit
...
end if
rs.close

Salu2

--
Augusto Barragán C.
Ing. Industrial
E-mail: abar...@yahoo.com
Bogotá, Colombia


Hot Budare

unread,
Aug 9, 2001, 12:33:07 PM8/9/01
to
Tienes que utilizar el método FindFirst

--
HTH/EQTA,
T.S.U. Mario Osorio
Punto Fijo, Falcón , Venezuela

Página personal:
http://www.mipagina.cantv.net/hotbudare/

Carlos <csa...@teleline.es> escribió en el mensaje de noticias

cffb01c1209f$ad037b60$a5e62ecf@tkmsftngxa07...

0 new messages