Mediante un botón colocado en el formulario principal necesito poner en
marcha una búsqueda en los registros de un subformulario que hay dentro de
él. El código primero pregunta mediante un Inputbox un dato numérico de tipo
Double, el cual hay que buscar en el recordset del subformulario en un campo
concreto (llamémosle Importe). El formulario principal coge sus datos de una
tabla (Tabla1) relacionada de uno a varios con otra (Tabla2), que es la que
almacena los registros del subformulario.
Gracias y Feliz año.
Espero que te funcione. La idea es esa.
Se podría hacer tambien, buscando previamente (Metodo FindFirst) en el
RecordsetClone del Subformulario
--
Saludos desde Valladolid
Francisco Javier García Aguado
---
http://www.buho.tk [http://www.clikear.com/webs/accessbhuo/index.html]
http://groups.msn.com/Access2000VisualBasic/
=======================================
Web de Access de Juan M Afan de Ribera
http://www.juanmafan.tk
=======================================
"Isaías García" <num...@nmail.com> escribió en el mensaje
news:%231UDDbS...@TK2MSFTNGP09.phx.gbl...
Es que tal como te lo había puesto, se cargarían registros (Relacionados o
no con uno del formulario principal)
Pues quizá, para facilitar el tema, nos podríamos olvidar del RecordSource
(Se podría hacer tambien así, pero complicariamos las cosas) y filtrar
simplemente el actual recordsuource del Subformulario por el valor del
inputbox
Me!NombreSubForm.Form!.Filter="[Importe]=" & CDbl(ResultadoInputBox)
Me!NombreSubForm.Form!FilterOn=True
Nombre del formulario principal: Edicion (Datos en tabla Obras)
Nombre del subformulario: SubCert (Datos en tabla Certificaciones)
Private Sub Comando12_Click()
On Error GoTo Err_Comando12_Click
Dim preg As Double
preg = InputBox("Introducir importe (con IVA)")
Dim Db As Database
Dim rs As Variant
Set Db = CurrentDb
Set rs = Db.OpenRecordset("Certificaciones")
Dim criterio As String
Recordset.MoveFirst
criterio = "[ImporteIVA] = " & preg
If Not IsNull(preg) Then
Forms![Edicion]![SubCert].Form!.Recordset.FindFirst criterio
If Not Forms![Edicion]![SubCert].Form!.RecordsetClone.NoMatch Then
Forms![Edicion]![SubCert].Form!.Bookmark =
Forms![Edicion]![SubCert].Form!.RecordsetClone.Bookmark
Else
MsgBox "No se encontró ninguna coincidencia"
End If
End If
Exit_Comando12_Click:
Exit Sub
Err_Comando12_Click:
MsgBox Err.Description
Resume Exit_Comando12_Click
End Sub
A ver si averiguamos dónde falla. Y gracias por las molestias.
Err_Comando12_Click:
MsgBox Err.Description
Resume Exit_Comando12_Click
End Sub
De todas formas ¿Que quieres hacer realmente?
¿Decir al usuario si hay registros coincidentes y posicionarte en el
primero, o filttar todos los registros coincidentes?
Supongo que el codigo (Salvo error de sintaxis en alguna variable) te
funcionará, pero la verdad, en estos momentos, no sé si es el mas optimizado
que digamos, para encontrar un registro en el subform. La verdad que no me
gusta nada, pero bueno...
Simplemente me he limitado a acortar un poco lo que tu ya tenias...y meter
alguna cosilla nueva.
Ojo a una cosa con los formularios y subformularios...el subformulario no
dejará de ser un control más del formulario principal, mira bien pues que
para ese formulario principal, el SubForm se llame realmente «SubCert» si
no, el codigo fallaría
He probado tu código pero sigue sin funcionar. Siempre da el mensaje de no
encontrado a pesar de buscar un valor que sé que existe en uno de los
registros.
Lo único que quiero es que Access se posicione en el registro del formulario
principal que contiene al registro del subformulario con el valor comparado
(no filtrarlo) y de momento me vale con que encuentre la primera
coincidencia, aunque si lo consigo, me vendría muy bien poder continuar la
búsqueda por los siguientes que coincidan.
Saludos.
Mi correo
pacoARROBAnemo.es
ARROBA=@
--
Saludos desde Valladolid
Francisco Javier García Aguado
---
http://www.buho.tk [http://www.clikear.com/webs/accessbhuo/index.html]
http://groups.msn.com/Access2000VisualBasic/
=======================================
Web de Access de Juan M Afan de Ribera
http://www.juanmafan.tk
=======================================
"Isaías García" <num...@nmail.com> escribió en el mensaje
news:d9xJb.313768$Ip6.6...@news-reader.eresmas.com...
Saludos.
--
Salu2
Ju@nK
www.juank.tk
Otras Web de miembros del grupo que se deben visitar
http://www.mcpegasus.net
http://www.buho.tk
http://www.juanmafan.tk
http://usuarios.tripod.es/jbchea/
"Búho" <pacoQU...@nemo.es> escribió en el mensaje
news:O$FTF3h0D...@TK2MSFTNGP11.phx.gbl...
Según vas moviendo los registros del formulario principal, se te muestran en
el subformulario los registros relacionados con el primer formulario.(Tienes
una relacion 1 a infinito entre tablas)
Mi pregunta es:
¿Donde quieres buscar?
¿En toda la tabla Certificaciones o solo en los registros de la tabla
certificaciones que se muestran en el subformulario activo, que no serán
otros que los relacionados con un UNICO registro del formulario principal?
(El que actualmente esta activo)
Es decir, segun tienes montado el Formulario y Subformulario, este ultimo,
es decir el Subformulario, solo mostrará aquellos registros relacionados con
el registro activo formulario principal. Asi tienes diseñada la palicacion
Si cambias el registro activo del formulario principal, el subformulario
cambiara logicamente de registros, mostrando solo los relacionados con el
ACTUAL del formulario principal.
Pues bien, en esos registros (Cambiantes) del subformulario, es donde
hacemos la busqueda.
Y se posicionará en el primer registro coincidente. Y eso funciona.
Repito...tu cuando metes un valor en Inputbox...¿Que es lo que realmente
deseas buscar?
¿Todos los registros de la tabla certificaciones que tengan dicho valor?
Si es eso, tal cual tienes diseñado el Form+Subform no es posible asi
directamente.
Ten en cuenta que estas actuando sobre el RecordsetClone del SUBformulario y
éste, el recordsetClone, varía continuamente a cada pasada de registros del
Form Principal.
Yo me entiendo...no sé si me habré explicado con claridad para que tu me
captes la idea.
--
Saludos desde Valladolid
Francisco Javier García Aguado
---
http://www.buho.tk [http://www.clikear.com/webs/accessbhuo/index.html]
http://groups.msn.com/Access2000VisualBasic/
=======================================
Web de Access de Juan M Afan de Ribera
http://www.juanmafan.tk
=======================================
"Isaías García" <num...@nmail.com> escribió en el mensaje
news:lcIJb.315319$Ip6.6...@news-reader.eresmas.com...
--
Saludos desde Valladolid
Francisco Javier García Aguado
---
http://www.buho.tk [http://www.clikear.com/webs/accessbhuo/index.html]
http://groups.msn.com/Access2000VisualBasic/
=======================================
Web de Access de Juan M Afan de Ribera
http://www.juanmafan.tk
=======================================
"Ju@nK" <con...@hotmail.com> escribió en el mensaje
news:O5mvfGl...@TK2MSFTNGP12.phx.gbl...
Muchas Gracias de todos modos.
¿Puedes poner en el formulario un campo donde escribir el dato numérico que
quieras, y después vincular este campo con el que quieras del subformulario?
SALUDOS.
julian-valencia-españa
P.D.: Aqui, o se piden peras a un olmo, o no hay Espedientes X
--
Salu2
Ju@nK
www.juank.tk
Otras Web de miembros del grupo que se deben visitar
http://www.mcpegasus.net
http://www.buho.tk
http://www.juanmafan.tk
http://perso.wanadoo.es/j.bchea
http://perso.wanadoo.es/rubenvigon
"julian-vlc-sp" <ijulianARROBAiespana.es> escribió en el mensaje
news:uR5DZY%231DH...@TK2MSFTNGP10.phx.gbl...
que va a ser que resuelve el problema y que no habrá expediente X?
es que me he perdío leyendo el hilo
SALUDOS.
julian-valencia-españa
--
Victor Delgadillo
Miami, Florida
Mensajes al grupo, asi todos nos beneficiamos.
"julian-vlc-sp" <ijulianARROBAiespana.es> wrote in message
news:ufWnriF2...@TK2MSFTNGP11.phx.gbl...
Lo que dices me parece acertado, pero al igual no importa que el valor
exista o no, vaya usted a saber, por ejemplo, tenemos en el formulario dos
campos, uno donde ponemos (de la forma que sea) el idcliente, y vinculando
el subformulario, hacemos que todas las facturas del subformulario
pertenezcan a dicho cliente.
En un segundo control del formulario escribimos un valor cualquiera que
queremos buscar en un campo cualquiera del subformulario, por ejemplo
importe de la factura, y si lo vinculamos, tendremos que aparecerán o no,
registros en el sub, dependiendo de que existan o no registros con esas dos
condiciones, al igual a alguien esto le es suficiente.
Otra cosa es ir a tiro fijo, para ello, el segundo control del que hablo,
puede ser un desplegable que se alimente de la tabla del sub, filtrándola
por el valor que tenemos puesto en el primer control (en este caso
idcliente).
Que este mensaje solo sirva para continuar la conversación, sin pretensión
ninguna, y para permitirme desearte FELIZ AÑO NUEVO a TI y a TODOS LOS
TUYOS, por si no lo he hecho antes.
SALUDOS.
julian-valencia-españa
El unico expediente X que tengo yo montado con mi Access 2003, es por que
leñes no se me muestra la ayuda de DAO en el editor de VBA.
Ese si que es XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX, vamos porno del duro.
--
Saludos desde Valladolid
Francisco Javier García Aguado
---
Dices porno del duro?, de ese que dura lo que dura dura?
Yo cuando sea mayor como tú, no quiero ser un viejo verde....... quiero ser
verde y "pecar" ya, y cuando digo ya, digo desde ahora mismo y con efectos
retroactivos.
Como dice nuestro amigo Víctor, quiero cazar lagartijas ya, y además muchas.
SALUDOS.
julian-valencia-españa
--
Victor Delgadillo [MVP Access]
Miami, Florida
Consultas al grupo, asi todos nos beneficiamos.
_
"julian-vlc-sp" <ijulianARROBAiespana.es> wrote in message
news:#LXcwUI2...@TK2MSFTNGP12.phx.gbl...
que si, victor que si, que de oidas las conozco, era como entrada para
contestarle al paco, y llamarle viejo verde
> > SALUDOS.
> > julian-valencia-españa
o querias poner Dsum and continue?
SALUDOS.
julian-valencia-españa
Por cierto, si te sirve de consuelo, yo tambien odio esas funcioncillas
agreagadas de domino.
Manías de VIEJO VERDE, efectivamente
--
Salu2
Ju@nK
www.juank.tk
Otras Web de miembros del grupo que se deben visitar
http://www.mcpegasus.net
http://www.buho.tk
http://www.juanmafan.tk
http://perso.wanadoo.es/j.bchea
http://perso.wanadoo.es/rubenvigon
"julian-vlc-sp" <ijulianARROBAiespana.es> escribió en el mensaje
news:uufgDLV2...@TK2MSFTNGP09.phx.gbl...
SALUDOS.
julian-valencia-españa
--
Salu2
Ju@nK
www.juank.tk
Otras Web de miembros del grupo que se deben visitar
http://www.mcpegasus.net
http://www.buho.tk
http://www.juanmafan.tk
http://perso.wanadoo.es/j.bchea
http://perso.wanadoo.es/rubenvigon
"julian-vlc-sp" <ijulianARROBAiespana.es> escribió en el mensaje
news:%23zIJY7g...@tk2msftngp13.phx.gbl...
En su primera acepción, contracción espasmódica, involuntaria, dolorosa y
poco durable de ciertos músculos, particularmente de los de la
pantorrilla.?, pues no, no suelo escribir con esa parte de mi cuerpo.
En su segunda acepción, estremecimiento producido por una descarga eléctrica
de baja intensidad?, pues tampoco, mi teclado externamente es de material
plástico (no conductor de energía eléctrica).
En su tercera acepción, enfermedad caracterizada por el espasmo de ciertos
grupos de músculos, generalmente de la mano, que dificulta o impide el
ejercicio de la función de esta en algunas profesiones y oficios, como los
de escribiente, telegrafista o pianista?, pues tampoco no, esto me suena a
enfermedad de viejo.
¿Me estas llamando viejo?
SALUDOS.
julian-valencia-españa
P.D.: Seamos rigurosos y precisos en nuestras expresiones, o ¿no sabes que
cambiar una coma por punto y coma, o comillas por comillas dobles, hace que
la cosa no funcione?
> > SALUDOS.
> > julian-valencia-españa
yo he mirao en rae.es
SALUDOS.
julian-valencia-españa
P.D.: Como indica Rafa, se me olvidó citar Valencia pa lo del encuentro