INSERT INTO - copia (multiple) de formulario (filtrado) a tabla

13/05/2012 - 02:14 por Victor | Informe spam
Hola.

Tengo un formulario en el cual le realizo unos filtros en los campos (así solo me enseña parte del contenido) y deseo copiar el contenido de una de las celdas a una tabla pensado para eso. Así estoy usando este código:


Private Sub Comando126_Click()

Dim dbs As String
dbs = "INSERT INTO emailsOut(email) Values('" & _
Forms.f_ListadoCursos.EMAIL & "')"
CurrentDb.Execute dbs

End Sub

Bueno, pues lo que me hace esto es que me copia el valor de dicha celda en la tabla, pero el primer valor, ignorando por completo el filtro realizado, y lo peor, es que yo necesito que me copie valor por cada celda. Es decir, en el formulario "f_ListadoCursos" tengo la celda "EMAIL" que contiene el email de cada paciente (o sea, unos cuantos emails y no solo uno, pues pacientes hay muchos) y necesito poder copiar aquellos que me muestre el formulario filtrado (o sin filtro, que en este caso serian todos).

¿no he escogido adecuadamente la técnica?¿O tal vez me falta algún parámetro?
¿Como lo podría solucionar?

Gracias por vuestra ayuda.

Víctor

Preguntas similare

Leer las respuestas

#6 José Mª Fueyo
18/05/2012 - 11:49 | Informe spam
Una cosa
Antes de ejecutar el código, ¿pones el foco en alguno de los campos del registro que quieres usar?

Salu2
José Mª Fueyo
[MS MVP Access]
Respuesta Responder a este mensaje
#7 Victor
18/05/2012 - 20:38 | Informe spam
Al ejecutar el código, si lo hago (que así es, pues es como lo tengo implementado ahora, y claro, si te entiendo bien) con un botón puesto en el formulario al lado del subform, el foco cambia al botón, ¿no?
Claro, si tu pregunta va mas dirigida a donde esta el foco justo antes de apretar el botón, te diré que esta en el subform y concretamente dependerá del tipo de filtro que se haya realizado como última opción, o a saber, si la persona pica en otro sitio antes de decidir pulsar el botón. Pero, creo que podríamos hacer alguna cosa apretando el botón, no? Como hacerlo saltar a otro sitio (aunque esto es una mera suposición).

No sé si pueda ayudar mi respuesta

Gracias
Respuesta Responder a este mensaje
#8 José Mª Fueyo
21/05/2012 - 11:12 | Informe spam
Hola de nuevo
A ver sí esto te sirve. He cogido el mdb de Neptuno (aquí tengo Access 2003, pero creo es igualmente implementable en versiones superiores).
He creado un dos formularios, uno con los datos de una consulta en modo hoja de datos. Su nombre es "_frmSubProductosYDescuentos2", pero obviamente puede ser cualquier nombre.
El otro es un formulario tiene un control subformulario llamado ctlSubDatos. Asímismo, he puesto un textbox llamado "txtFiltro", no enlazado, y dos botones, "cmbCargarDatos" y "cmbMSG".
El código de los eventos CLICK de ambos botones es como sigue


Private Sub cmbCargarDatos_Click()
Dim sSQL As String
sSQL = "SELECT * FROM _ProductoYDescuento WHERE NombreProducto LIKE '*" & Me.txtFiltro.Value & "*'"
Me.ctlSubDatos.SourceObject = "_frmSubProductosYDescuentos2"
Me.ctlSubDatos.Form.RecordSource = sSQL
Me.ctlSubDatos.Form.Refresh
End Sub

Private Sub cmbMSG_Click()
Dim sMSG As String
sMSG = "ID Pedido: " & Me.ctlSubDatos.Form.TXTIdPedido.Value
MsgBox sMSG, vbOKOnly + vbInformation, "ID Pedido"
End Sub

Espero que esto te sirva.

Salu2
José Mª Fueyo
[MS MVP Access]
Respuesta Responder a este mensaje
#9 Victor
31/05/2012 - 00:29 | Informe spam
Gracias Jose Mª

He probado al detalle tu ejemplo (para ver que tal) y me salta un error en ambos botones, se me queja justo en la palabra "ctlSubDatos" de ambos códigos.
Mas concretamente en el primero de ellos en la linea


Me.ctlSubDatos.SourceObject = "_frmSubProductosYDescuentos2"

Imagino que no debe existir esa tabla o consulta. ¿o hace referencia a otra cosa?

Gracias
Respuesta Responder a este mensaje
#10 Victor
31/05/2012 - 00:34 | Informe spam
error de compilación, me dice:

No se encontró el método o el dato miembro,
y me subraya en azul .ctlSubDatos. y al darle al ACEPTAR en la ventana me subraya en amarillo Private Sub cmbCargarDatos_Click() (en el caso del primer botón).
Y Private Sub cmbMSG_Click() en el segundo.

Gracias
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida