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)
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
¿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
Para borrar los datos de la tabla temporal, puedes usar una consulta de
eliminación.
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
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
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".
=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
P.D.: el ser lento no es problema si al final se entiende (lo digo por
experiencia ;-)