Cómo pasar datos de un formulario a otro en access

Tengo un formulario para definir una fecha inicial y otro final para usarlo como parámetro en una consulta. Tengo un botón de comando que me abre el form2 cuando tengo las fechas y este además tiene su origen en una consulta. Esto va bien el detalle es que quiero ubicar las fechas del primer form en el form2 y además hacer unas sumas de otra tabla en un cuadro independiente usando estas fechas como criterio.

Dsuma("[campo]","[tabla]","[fecha]between #" &[forms]![nombre del formulario]![txtFechaIni]& "# and igual la expresión para la fecha final.  Quizás sea conveniente usar Vba.

2 respuestas

Respuesta
2

Te aconsejaría usar código de VB. Por ejemplo, supongamos que tienes el formulario A con FInicial y Ffinal y quieres abrir el formulario B, que tiene los cuadros de texto FechaI y FechaF donde quieres que aparezcan los valores que hay en el formulario A. En el código del botón del formulario A puedes poner

Docmd. Openform"B",,,, acformadd, acdialog (también podías poner algún criterio9

Con lo cual se abrirá el formulario B encima de el A)

Y luego, en las propiedades del formulario A, en Eventos- Al activar el registro crea un procedimiento de evento y entre Private Sub y End Sub pon

If currentproject.allforms("A").isloaded thrn

FechaI=forms!a!finicial

fechaF=forms!a!ffinal

end if

Me explico. La instrucción le dice que

-Si está cargado el formulario A (que si lo está). Al control FechaI ponle el valor que figura en el control FInicial del formulario A. Lo mismo para Ffinal.

Y ya puedes usar esos valores para el campo calculado. Por ejemplo, en la línea siguiente puedes poner

TxtCantidad=dsum("cantidad","ventas","fechaventa between FechaI and FechaF")

Respuesta
1

¿Podría adjuntar algunas imágenes?.

No olvide que para las consultas SQL la sintaxis es #mm/dd/yyyy# y posiblemente el parámetro de la fecha debe ser algo como  "# & Fomat([forms]![nombre del formulario]![txtFechaIni],"mm/dd/yyyy") & "#" …….

Con base en la información que suministre se determina si es mejor hacerlo mediante VBA.

¡Gracias! Muy amable por su respuesta,

Cuando se abre el form2 en el cuadro de la función dsuma el resultado que aparece es #nombre?, Pienso que debe ser que no localiza los parámetros, no sé si será que el formulario para capturar las fechas se cierra y tiene de dónde buscar los datos.  No use SQL, la primera consulta es con access,el resulta de esa consulta y los datos que arroja al formulario están bien. También estoy tratando de insertar las fechas como información en el form2 y tampoco funciona.

Estoy aprendiendo a usar access por eso mis consultas.

Si no hay problema envíeme la base de datos a [email protected] así le puedo colaborar y ganamos tiempo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas