Access - ID de replica

 
Vista:

ID de replica

Publicado por Erick (1 intervención) el 20/09/2005 18:06:36
Buén día. Tengo un problema simple (eso espero):

Tengo dos tablas A y B en Access 2000; en la tabla A, manejo un campo automumérico "Id" con la propiedad "Tamaño del Campo" puesta en "id de Replica", esta indexado sin duplicados y NO es clave principal. En la tabla B, tengo, igualmente un campo autonumerico "Id" indexado sin duplicados y es clave principal y puesto como ID de réplica.

Ambos tablas, se relacionan "uno a uno" mediante estos campos "Id".

Ademas, tengo un formulario X que tiene, tanto los campos de A como los campos de B y al cual mando a llamar desde una consulta que, igualmente, posee campos de A y de B.

Y aqui esta el problema, quiero que un boton, en un formulario "Y" (el boton esta en el pié del formulario, y en el cuerpo, viene la consulta de la que te hable, la consulta, contiene el campo Id de la tabla B o de la de A, realmente, da lo mismo) mande a llamar al formulario X y me muestre un registro especifico, utilizando, el campo Id del registro que tengo seleccionado en ese momento.

Para ello, cree un boton de comando "ver" y en la propiedad CLICK de dicho boton, puse:

_____________
Dim stDocName As String
Dim stLinkCriteria As String

stDocName = "formularioX"

stLinkCriteria = "[Id]=" & Me![Id]

[Current.Id]
DoCmd.OpenForm stDocName, , , stLinkCriteria
________________

... bueno, realmente eso no lo puse yo, sino el asistente para hacer botoncitos.

El caso es, que para hacer correctamente mi relacion uno a uno, access solo me acepta que tenga campos tipo Automumerico y como Id de replica en ambas tablas A y B, y esto me genera un Id como éste: {DD983375-BCB3-4BEE-9C35-953DF8EBC5C5}

Luego, cuando le doy el boton que me abre el formulario X, me pide el argumento Id, pero con signos raros , es decir, no lo hace automatico. si en lugar de utilizar el Id como campo de "criterio" (no se si asi se diga) utilizo cualquier otro, que son de tipo numerico, fecha, texto, etc. todo lo hace bien, el problema, es que estos criterios no me regresan un solo registro, sino varios.

Por ello necesito, para que me abra un solo registro, utilizar el Id, pero me manda esos simbolos extraños y abajito del cuadro que aparece (asi como el que te aparece cuando estas haciendo una consulta SQL), me pone un cuadro de texto en donde, si yo pongo el Id manualmente y le doy aceptar, me abre el registro que necesito, pero desde luego, esto es completamente impráctico.

Se puede hacer ésto? o, si es que no se puede, como puedo utilizar mas de un campo para filtrar el registro que quiero que me muestre.

Como información adicional, he estado haciendo algunas pruebas. Cree dos cuadros de texto "test" y "did".

En el evento Click del boton ver, puse también:

test = "Id =" & Me![Id]
did = Me![Id]

... para saber lo que sucede con estos valores cuando doy clic al boton "ver".

Esto es lo que pasa:

"did", me muestra el Id del registro que tengo seleccionado en ese momento, por ejemplo: {38743B7F-F64B-4ADE-994E-840B0A11DEBA}

"test", me muestra el siguiente valor (para el ejemplo siguiente): Id=(y aqui varios simbolos que nada tiene que ver con el Id);, lo cual, esta tratando de usar como filtro. Al no reconocerlo, me lo pide access. Si corto y pego el valor que me muestra "did" ya me abre el registro bien, mientras no"

Saludos y gracias de antemano por su apoyo
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

ID de replica

Publicado por xavier (1 intervención) el 05/01/2016 19:02:17
utiliza esto

Mid(StringFromGUID( **** aqui va el campo con el id de replica ***** ), 7, 38)
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