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

Copiar Datos de Subformulario

473 views
Skip to first unread message

emiliov

unread,
Aug 15, 2008, 7:14:12 PM8/15/08
to
Necesito copiar los datos de un cuadro de texto de un subformulario, puede
tener un renglón o varios, después le paso una función que me actualiza todo
el subformulario y volver a asignar los valores que tenia en ese cuadro de
texto, de antemano gracias

Patxi Sanz

unread,
Aug 16, 2008, 11:38:16 AM8/16/08
to
Hola Emiliov:

Puedes declarar una variable en el módulo del formulario, o colocar otro
cuadro de texto oculto. Luego sólo es una asignación de valores:

Cuadro de texto -> Variable -> Cuadro de texto

--
Un saludo,


Patxi Sanz
patxisanz[ARROBA]yahoo[PUNTO]es
http://es.geocities.com/patxisanz/index.html
Tudela (NA)

emiliov

unread,
Aug 16, 2008, 1:24:01 PM8/16/08
to
Patxi Sanz

Si coloco un cuadro de texto en el formulario o variable solo me trae el
texto del primer registro o del registro que yo seleccione en el
subformulario, y pueden ser varios registros, gracias

Conrrad

unread,
Aug 16, 2008, 7:45:37 PM8/16/08
to
emiliov escribió:

¿Cuando te refieres a un reglón o varios es que el subformulario es
continuo y necesitas rescatar datos de mas de un registro?
Una alternativa un poco chapú pero lo mismo te vale, es tener una tabla
temporal para volcar ahí esos registros que comentas con una consulta de
datos anexados y luego, cuando los necesites, los vuelves a copiar
otra vez y limpias la tabla.


--
Saludos,

Angel Gil
conrrad69arrobagmailpuntocom
Cartagena

emiliov

unread,
Aug 18, 2008, 12:27:01 PM8/18/08
to
Si necesito rescatar datos de mas de un registro, ya hice la consulta de
datos anexados y cree la tabla nueva y me copia los datos que quiero, no se
como pegarselos al subformulario ni limpiar la tabla creada, de antemano
gracias a ambos

Patxi Sanz

unread,
Aug 18, 2008, 12:58:30 PM8/18/08
to
Para volver a cargar esos datos en el subformulario, tendrás que volverlos a
grabar en la tabla que tienes como origen del subformulario, o cambiar la
propiedad Origen del registro del subformulario.

Para borrar los datos de la tabla temporal, puedes usar una consulta de
eliminación.

emiliov

unread,
Aug 18, 2008, 5:02:01 PM8/18/08
to
Me explico bien
Por ejemplo en el subformulario tengo Cantidad, idClave, Descripción y al
poner idClave me rellena Descripción pero son nombres genéricos y muchas
veces tengo que corregir o agregarle algo, solo me interesa Descripción, pero
puede tener varios registros para el id del formulario principal, después
tengo que pasarle una función que me actualiza los datos del subformulario y
lo que cambie en Descripción me lo vuelve a cambiar.
Ya pude borrar la tabla nueva con la consulta de eliminación
No se como grabar la tabla nueva en el subformulario

P. D. hace unos días estuve jugando con esta sql poniendo esto

Dim strSQL As String

strSQL = "INSERT INTO DetalleOrdenTrabajo1 ( IdOrdenTrabajo, [orden de
intercalado] )"
strSQL = strSQL & " SELECT IdOrdenTrabajo, [orden de intercalado] "
strSQL = strSQL & " FROM DetalleOrdenTrabajo1"
strSQL = strSQL & " WHERE IdOrdenTrabajo = " & Me.IdOrdenTrabajo
CurrentDb.Execute strSQL, dbFailOnError
Me.Requery


Pero me da dos errores:
Si lo pongo antes que la función, la función lo vuelve a limpiar y me lo
agrega después del último registro, ¿debería de agregarla a la tabla nueva?,
y luego devolverlo a su tabla, gracias por su ayuda

emiliov

unread,
Aug 19, 2008, 9:28:21 AM8/19/08
to
Así casi funciona
Paso los datos a la tabla nueva

Dim strSQL As String
Dim strSQL1 As String

strSQL = "INSERT INTO Tablanuva ( IdOrdenTrabajo, [orden de

intercalado] )"
strSQL = strSQL & " SELECT IdOrdenTrabajo, [orden de intercalado] "

strSQL = strSQL & " FROM Tabla subformulario"


strSQL = strSQL & " WHERE IdOrdenTrabajo = " & Me.IdOrdenTrabajo
CurrentDb.Execute strSQL, dbFailOnError

Aqui realiza la función


aqui paso los datos de la tabla nueva a la tabla del subformulario

strSQl1 = "INSERT INTO Tabla subformulario ( IdOrdenTrabajo, [orden de
intercalado] )"
strSQl1 = strSQl1 & " SELECT IdOrdenTrabajo, [orden de intercalado] "
strSQl1 = strSQl1 & " FROM tabla nueva"
strSQl1 = strSQl1 & " WHERE IdOrdenTrabajo = " & Me.idordentrabajo

' ejecuto la inserción de los detalles del pedido
CurrentDb.Execute strSQl1, dbFailOnError

'Limpio la tabla nueva
strSQl1 = strSQl1 & " DELETE * FROM tabla nueva"


me da un error al insertar los datos de nuevo en la tabla del subformulario,
si tengo tres datos me deja esos tres y me agrega otros tres como le digo que
me los pege encima de los que tengo, gracias por toda su ayuda

Patxi Sanz

unread,
Aug 19, 2008, 12:06:27 PM8/19/08
to
Si entiendo lo que quieres hacer, es tener en un cuadro de texto de un
formulario el valor "por defecto" de la descripción, y poder modificarlo si
así se desea para guardarlo junto con el resto de datos en otra tabla.

Para hacer esto no es necesario tener una tabla temporal, o ejecutar x
consultas. Si tienes el formulario basado en la tabla donde vas a guardar
los valores finales, puedes indicar en el cuadro de texto donde vas a
introducir la descripción, que su valor predeterminado es la búsqueda
(DBúsq) de la descripción del artículo introducido en la tabla principal,
pero tendrás en el origen del control de ese cuadro de texto el campo de la
tabla donde se va a almacenar finalmente la información, con lo que si el
dato ya ha sido rellenado, verás la descripción modificada. Y si no ha sido
rellenado, tendrás la descripción "original".

emiliov

unread,
Aug 20, 2008, 8:31:01 PM8/20/08
to
Patxi
Me parece muy lógico tu planteamiento, pero ya casi salía (muy enredado) el
otro, tengo dos problemas con tu idea
La función de búsqueda queda:

=DBúsq("[Color]","papel","[id papel] = " & [idpapel])

Si lo pongo en su origen de control funciona al seleccionar en el combo
idpapel uno me trae el color del papel por defecto
Si lo pongo en valor predeterminado si es nuevo el registro me marca un
error y si es un cambio me lo deja en blanco

Espero explicarme y gracias


emiliov

unread,
Aug 21, 2008, 11:02:02 AM8/21/08
to
Patxi
gracias resuelto usando un cuadro de texto independiente como me indicaste
la primera vez, hasta ahora comprendi lo que dijiste, que lento verdad.

Patxi Sanz

unread,
Aug 21, 2008, 2:44:38 PM8/21/08
to
De nada :-)

P.D.: el ser lento no es problema si al final se entiende (lo digo por
experiencia ;-)

0 new messages