Access - Tomar datos de formulario mediante código

 
Vista:

Tomar datos de formulario mediante código

Publicado por Claudio (16 intervenciones) el 14/12/2014 19:33:15
Que tal amigos,
La consulta es la siguiente: tengo un formulario al que después de ejecutarle un filtro me devuelve los datos que necesito, ahora bien, lo que yo deseo es capturar la información de unos cuadros de texto y exportarlos a otra tabla, lo puedo hacer correctamente a través de una consulta de datos agregados y funciona, este es el código sql que me muestra:

INSERT INTO [Para agregar a HOJAMEDI] ( REPITE, NUMHISTO, MEDICO )
SELECT ENCABEZADO.REPITE, ENCABEZADO.NUMHISTO, ENCABEZADO.MEDICARG
FROM ENCABEZADO
WHERE (((ENCABEZADO.REPITE)=[Formularios]![Control de datos]![Texto81]) AND ((ENCABEZADO.NUMHISTO)=[Formularios]![Control de datos]![Texto0]) AND ((ENCABEZADO.MEDICARG)=[Formularios]![Control de datos]![Texto8]));

Ahora bien, yo desearía hacerlo mediante código, lo he intentado pero siempre me tira un error " Pocos parámetros, se esperaba 3"

Este es el código que hice:

Dim rst1 As Recordset
Dim strSQL1 As String

strSQL1 = "INSERT INTO [Para agregar a HOJAMEDI] (REPITE,NUMHISTO,MEDICARG )"
strSQL1 = strSQL1 & " SELECT ENCABEZADO.REPITE, ENCABEZADO.NUMHISTO, ENCABEZADO.MEDICARG"
strSQL1 = strSQL1 & " FROM ENCABEZADO"
strSQL1 = strSQL1 & " WHERE (((ENCABEZADO.REPITE)=[Formularios]![Control de datos]![Texto81]) AND ((ENCABEZADO.NUMHISTO)=[Formularios]![Control de datos]![Texto0]) AND ((ENCABEZADO.MEDICARG)=[Formularios]![Control de datos]![Texto8]));"

CurrentDb.Execute strSQL1, dbFailOnError

Que es lo que estoy haciendo mal????

Gracias!!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Tomar datos de formulario mediante código

Publicado por jose (830 intervenciones) el 15/12/2014 11:31:25
para traducirlo a código vb las variables que no correpondan a los campos de las tablas debes de tener en cuenta que

si es texto( [Formularios]![Control de datos]![Texto81] ) debe de ir entre comillas simples '

" WHERE (((ENCABEZADO.REPITE)= '" & [Formularios]![Control de datos]![Texto81] & "' ) AND (( ........"

'" esto es ' " pero tienen que estar juntos a la izquierda y a la derecna " ' tambien juntos



si es un numero ( [Formularios]![Control de datos]![Texto81])-- convertirlo a texto

" WHERE (((ENCABEZADO.REPITE)= " & str$( [Formularios]![Control de datos]![Texto81] ) & " ) AND (( ........"


si fuese una fecha

" WHERE (((ENCABEZADO.REPITE)= #" & format([Formularios]![Control de datos]![Texto81] ,"mm/dd/yyyy") & "# ) AND (( ........"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Tomar datos de formulario mediante código

Publicado por Claudio (16 intervenciones) el 15/12/2014 19:49:45
Que tal José,
Gracias por tu respuesta, he realizado la prueba que me sugeriste pero en el momento que agrego la comilla simple ' automáticamente lo interpreta como un comentario por lo que no ejecuta la acción. Evidentemente algo estoy haciendo mal....

Gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Tomar datos de formulario mediante código

Publicado por JOSE (830 intervenciones) el 17/12/2014 13:05:12
LA COMILLA SIMPLE SIMPRE ESTA CONTENIDA DENTRO DE COMILLAS DOBLES


EJEMPLO

" ALGO ' " & VARIABLE & " ' LÑKLDLÑDFDF " (PERO JUNTAS '" Y "'

" WHERE (((ENCABEZADO.REPITE)= '" & [Formularios]![Control de datos]![Texto81] & "' ) AND (( ........"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar