Discussion:
ABRIR FORMULARIO CON REGISTRO EXPECIFICO
(demasiado antiguo para responder)
CRACKER2000
2003-10-27 18:26:46 UTC
Permalink
Hola, yo utilizo el siguiente código para abrir un formulario desde otro y
mostrar el registro deseado, por ejemplo...

Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "Gastos"
stLinkCriteria = "[Comprobante]=" & "'" & Me![Comprobante] & "'"

Esto funciona bien, pero se aplica un filtro que solo muestra el registro
que coincide según el criterio y si no elimino dicho filtro no puedo ir al
resto de los registros.
Lo que quisiera es que se mostrará el registro deseado en el formulario y
que además pudiera ver el resto de registros.
Martín
2003-10-27 18:34:39 UTC
Permalink
Si utilizas el asistente, creas un botón de comando y, en operaciones con
formulario, Abrir formulario, hay un momento que te pregunta si quieres
"abrir el formulario e ir a un registro específico", utilizas este método y
hará lo que pides....

En todo caso, siempre puedes mirar en la ayuda el método RecordsetClone, y
en Ejemplos, el segundo, que hace lo mismo que dicho botón de comando...

Saludos,
Martín
Post by CRACKER2000
Hola, yo utilizo el siguiente código para abrir un formulario desde otro y
mostrar el registro deseado, por ejemplo...
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "Gastos"
stLinkCriteria = "[Comprobante]=" & "'" & Me![Comprobante] & "'"
Esto funciona bien, pero se aplica un filtro que solo muestra el registro
que coincide según el criterio y si no elimino dicho filtro no puedo ir al
resto de los registros.
Lo que quisiera es que se mostrará el registro deseado en el formulario y
que además pudiera ver el resto de registros.
CRACKER2000
2003-10-27 18:47:47 UTC
Permalink
el Código que utilizo es el generado automáticamente por el asistente que
dices, pero esto no me sirve...
Y el metodo RecorsetClone, esta muy bien, pero como lo aplico desde otro
formulario?.
Tengo 2 formularios, los criterios de busqueda están en el primero y es el
segundo quien muestra el registro expecifico.
Gracias de todas formas
Post by Martín
Si utilizas el asistente, creas un botón de comando y, en operaciones con
formulario, Abrir formulario, hay un momento que te pregunta si quieres
"abrir el formulario e ir a un registro específico", utilizas este método y
hará lo que pides....
En todo caso, siempre puedes mirar en la ayuda el método RecordsetClone, y
en Ejemplos, el segundo, que hace lo mismo que dicho botón de comando...
Saludos,
Martín
Post by CRACKER2000
Hola, yo utilizo el siguiente código para abrir un formulario desde otro y
mostrar el registro deseado, por ejemplo...
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "Gastos"
stLinkCriteria = "[Comprobante]=" & "'" & Me![Comprobante] & "'"
Esto funciona bien, pero se aplica un filtro que solo muestra el registro
que coincide según el criterio y si no elimino dicho filtro no puedo ir al
resto de los registros.
Lo que quisiera es que se mostrará el registro deseado en el formulario y
que además pudiera ver el resto de registros.
Martín
2003-10-27 18:54:42 UTC
Permalink
Ya ya, que me colauuuuuuuuuuu

Dejame 1 minuto.
Post by CRACKER2000
el Código que utilizo es el generado automáticamente por el asistente que
dices, pero esto no me sirve...
Y el metodo RecorsetClone, esta muy bien, pero como lo aplico desde otro
formulario?.
Tengo 2 formularios, los criterios de busqueda están en el primero y es el
segundo quien muestra el registro expecifico.
Gracias de todas formas
Post by Martín
Si utilizas el asistente, creas un botón de comando y, en operaciones con
formulario, Abrir formulario, hay un momento que te pregunta si quieres
"abrir el formulario e ir a un registro específico", utilizas este
método
Post by CRACKER2000
y
Post by Martín
hará lo que pides....
En todo caso, siempre puedes mirar en la ayuda el método RecordsetClone, y
en Ejemplos, el segundo, que hace lo mismo que dicho botón de comando...
Saludos,
Martín
Post by CRACKER2000
Hola, yo utilizo el siguiente código para abrir un formulario desde
otro
Post by CRACKER2000
y
Post by Martín
Post by CRACKER2000
mostrar el registro deseado, por ejemplo...
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "Gastos"
stLinkCriteria = "[Comprobante]=" & "'" & Me![Comprobante] & "'"
Esto funciona bien, pero se aplica un filtro que solo muestra el
registro
Post by Martín
Post by CRACKER2000
que coincide según el criterio y si no elimino dicho filtro no puedo
ir
Post by CRACKER2000
al
Post by Martín
Post by CRACKER2000
resto de los registros.
Lo que quisiera es que se mostrará el registro deseado en el
formulario
Post by CRACKER2000
y
Post by Martín
Post by CRACKER2000
que además pudiera ver el resto de registros.
Martín
2003-10-27 19:11:13 UTC
Permalink
Vale.
Entre otras cosas, lo que puedes hacer, es pasarle el criterio de búsqueda
al otro formulario mediante el argumento OpenArgs del método
AbrirFormulario. O sea, en el botón que abre el formulario sería :

Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "Gastos"
stLinkCriteria = Nz(Me![Comprobante])
DoCmd.OpenForm stDocName, , , , , , , stLinkCriteria
'Comprueba en el editor que al ir escribiendo comas stLinkCriteria te
corresponda con el argumento "OpenArgs"

Esto "pasa" el valor de Me.Comprobante a OpenArgs del nuevo formulario, el
cual puedes usar con el método RecordsetClone.

En el Procedimiento de Evento "Al abrir" de tu formulario Gastos escribes :

If Nz(Me.OpenArgs , "") = "" then
Exit sub
Else
Dim rst As Recordset
Dim cadNombreBúsqueda As String
Set rst = Me.RecordsetClone
cadNombreBúsqueda = Me.OpenArgs
rst.FindFirst "Comprobante = '" & cadNombreBúsqueda & "'"
If rst.NoMatch Then
CuadroMsj "Registro no encontrado "
Else
Me.Bookmark = rst.Bookmark
End If
rst.Close
Endif

Buff, espero te funcione... si hay algo que falla o no entiendes, me lo
dices.

Saludos,
Martín
Post by CRACKER2000
el Código que utilizo es el generado automáticamente por el asistente que
dices, pero esto no me sirve...
Y el metodo RecorsetClone, esta muy bien, pero como lo aplico desde otro
formulario?.
Tengo 2 formularios, los criterios de busqueda están en el primero y es el
segundo quien muestra el registro expecifico.
Gracias de todas formas
Post by Martín
Si utilizas el asistente, creas un botón de comando y, en operaciones con
formulario, Abrir formulario, hay un momento que te pregunta si quieres
"abrir el formulario e ir a un registro específico", utilizas este
método
Post by CRACKER2000
y
Post by Martín
hará lo que pides....
En todo caso, siempre puedes mirar en la ayuda el método RecordsetClone, y
en Ejemplos, el segundo, que hace lo mismo que dicho botón de comando...
Saludos,
Martín
Post by CRACKER2000
Hola, yo utilizo el siguiente código para abrir un formulario desde
otro
Post by CRACKER2000
y
Post by Martín
Post by CRACKER2000
mostrar el registro deseado, por ejemplo...
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "Gastos"
stLinkCriteria = "[Comprobante]=" & "'" & Me![Comprobante] & "'"
Esto funciona bien, pero se aplica un filtro que solo muestra el
registro
Post by Martín
Post by CRACKER2000
que coincide según el criterio y si no elimino dicho filtro no puedo
ir
Post by CRACKER2000
al
Post by Martín
Post by CRACKER2000
resto de los registros.
Lo que quisiera es que se mostrará el registro deseado en el
formulario
Post by CRACKER2000
y
Post by Martín
Post by CRACKER2000
que además pudiera ver el resto de registros.
CRACKER2000
2003-10-27 19:29:07 UTC
Permalink
En cuanto lo pruebe te digo como me fue, muchas gracias.
Post by Martín
Vale.
Entre otras cosas, lo que puedes hacer, es pasarle el criterio de búsqueda
al otro formulario mediante el argumento OpenArgs del método
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "Gastos"
stLinkCriteria = Nz(Me![Comprobante])
DoCmd.OpenForm stDocName, , , , , , , stLinkCriteria
'Comprueba en el editor que al ir escribiendo comas stLinkCriteria te
corresponda con el argumento "OpenArgs"
Esto "pasa" el valor de Me.Comprobante a OpenArgs del nuevo formulario, el
cual puedes usar con el método RecordsetClone.
If Nz(Me.OpenArgs , "") = "" then
Exit sub
Else
Dim rst As Recordset
Dim cadNombreBúsqueda As String
Set rst = Me.RecordsetClone
cadNombreBúsqueda = Me.OpenArgs
rst.FindFirst "Comprobante = '" & cadNombreBúsqueda & "'"
If rst.NoMatch Then
CuadroMsj "Registro no encontrado "
Else
Me.Bookmark = rst.Bookmark
End If
rst.Close
Endif
Buff, espero te funcione... si hay algo que falla o no entiendes, me lo
dices.
Saludos,
Martín
Post by CRACKER2000
el Código que utilizo es el generado automáticamente por el asistente que
dices, pero esto no me sirve...
Y el metodo RecorsetClone, esta muy bien, pero como lo aplico desde otro
formulario?.
Tengo 2 formularios, los criterios de busqueda están en el primero y es el
segundo quien muestra el registro expecifico.
Gracias de todas formas
Post by Martín
Si utilizas el asistente, creas un botón de comando y, en operaciones
con
Post by CRACKER2000
Post by Martín
formulario, Abrir formulario, hay un momento que te pregunta si quieres
"abrir el formulario e ir a un registro específico", utilizas este
método
Post by CRACKER2000
y
Post by Martín
hará lo que pides....
En todo caso, siempre puedes mirar en la ayuda el método
RecordsetClone,
Post by Martín
y
Post by CRACKER2000
Post by Martín
en Ejemplos, el segundo, que hace lo mismo que dicho botón de comando...
Saludos,
Martín
Post by CRACKER2000
Hola, yo utilizo el siguiente código para abrir un formulario desde
otro
Post by CRACKER2000
y
Post by Martín
Post by CRACKER2000
mostrar el registro deseado, por ejemplo...
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "Gastos"
stLinkCriteria = "[Comprobante]=" & "'" & Me![Comprobante] & "'"
Esto funciona bien, pero se aplica un filtro que solo muestra el
registro
Post by Martín
Post by CRACKER2000
que coincide según el criterio y si no elimino dicho filtro no puedo
ir
Post by CRACKER2000
al
Post by Martín
Post by CRACKER2000
resto de los registros.
Lo que quisiera es que se mostrará el registro deseado en el
formulario
Post by CRACKER2000
y
Post by Martín
Post by CRACKER2000
que además pudiera ver el resto de registros.
CRACKER2000
2003-10-27 23:09:46 UTC
Permalink
1000 gracias Martin... ya lo he probado y funciona bien.
Post by CRACKER2000
En cuanto lo pruebe te digo como me fue, muchas gracias.
Post by Martín
Vale.
Entre otras cosas, lo que puedes hacer, es pasarle el criterio de búsqueda
al otro formulario mediante el argumento OpenArgs del método
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "Gastos"
stLinkCriteria = Nz(Me![Comprobante])
DoCmd.OpenForm stDocName, , , , , , , stLinkCriteria
'Comprueba en el editor que al ir escribiendo comas stLinkCriteria te
corresponda con el argumento "OpenArgs"
Esto "pasa" el valor de Me.Comprobante a OpenArgs del nuevo formulario, el
cual puedes usar con el método RecordsetClone.
En el Procedimiento de Evento "Al abrir" de tu formulario Gastos
escribes
Post by CRACKER2000
Post by Martín
If Nz(Me.OpenArgs , "") = "" then
Exit sub
Else
Dim rst As Recordset
Dim cadNombreBúsqueda As String
Set rst = Me.RecordsetClone
cadNombreBúsqueda = Me.OpenArgs
rst.FindFirst "Comprobante = '" & cadNombreBúsqueda & "'"
If rst.NoMatch Then
CuadroMsj "Registro no encontrado "
Else
Me.Bookmark = rst.Bookmark
End If
rst.Close
Endif
Buff, espero te funcione... si hay algo que falla o no entiendes, me lo
dices.
Saludos,
Martín
Post by CRACKER2000
el Código que utilizo es el generado automáticamente por el asistente
que
Post by Martín
Post by CRACKER2000
dices, pero esto no me sirve...
Y el metodo RecorsetClone, esta muy bien, pero como lo aplico desde otro
formulario?.
Tengo 2 formularios, los criterios de busqueda están en el primero y
es
Post by CRACKER2000
el
Post by Martín
Post by CRACKER2000
segundo quien muestra el registro expecifico.
Gracias de todas formas
Post by Martín
Si utilizas el asistente, creas un botón de comando y, en operaciones
con
Post by CRACKER2000
Post by Martín
formulario, Abrir formulario, hay un momento que te pregunta si
quieres
Post by Martín
Post by CRACKER2000
Post by Martín
"abrir el formulario e ir a un registro específico", utilizas este
método
Post by CRACKER2000
y
Post by Martín
hará lo que pides....
En todo caso, siempre puedes mirar en la ayuda el método
RecordsetClone,
Post by Martín
y
Post by CRACKER2000
Post by Martín
en Ejemplos, el segundo, que hace lo mismo que dicho botón de
comando...
Post by Martín
Post by CRACKER2000
Post by Martín
Saludos,
Martín
Post by CRACKER2000
Hola, yo utilizo el siguiente código para abrir un formulario desde
otro
Post by CRACKER2000
y
Post by Martín
Post by CRACKER2000
mostrar el registro deseado, por ejemplo...
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "Gastos"
stLinkCriteria = "[Comprobante]=" & "'" & Me![Comprobante] & "'"
Esto funciona bien, pero se aplica un filtro que solo muestra el
registro
Post by Martín
Post by CRACKER2000
que coincide según el criterio y si no elimino dicho filtro no puedo
ir
Post by CRACKER2000
al
Post by Martín
Post by CRACKER2000
resto de los registros.
Lo que quisiera es que se mostrará el registro deseado en el
formulario
Post by CRACKER2000
y
Post by Martín
Post by CRACKER2000
que además pudiera ver el resto de registros.
CRACKER2000
2003-10-27 18:41:08 UTC
Permalink
perdón se me paso copiar la última linea del código.... el código al que me
refiero es el siguiente:

Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "Gastos"
stLinkCriteria = "[Comprobante]=" & "'" & Me![Comprobante] & "
DoCmd.OpenForm stDocName, , , stLinkCriteria
Post by CRACKER2000
Hola, yo utilizo el siguiente código para abrir un formulario desde otro y
mostrar el registro deseado, por ejemplo...
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "Gastos"
stLinkCriteria = "[Comprobante]=" & "'" & Me![Comprobante] & "'"
Esto funciona bien, pero se aplica un filtro que solo muestra el registro
que coincide según el criterio y si no elimino dicho filtro no puedo ir al
resto de los registros.
Lo que quisiera es que se mostrará el registro deseado en el formulario y
que además pudiera ver el resto de registros.
Loading...