Control ActiveX

Hola Raul, de nuevo yo, gracias por tu anterior colaboración, la pregunta nueva es la siguiente:
Tengo en un formulario un control fecha Activex, de acuerdo a la fecha seleccionada, debo mostrar en un campo el valor del dolar correspondiente, pero no me ha funcionado, estoy haciendo la siguiente rutina en código Visual:
Private Sub Consulta()
Dim gSQL As String
gSQL = "SELECT MP_TasasdeCambio.Valor"
gSQL = gSQL & " FROM MP_TasasdeCambio "
gSQL = gSQL & " WHERE (((MP_TasasdeCambio.Fecha)=[Formularios]![FrmAdquisiciones]![FechaAdquisicion])) "
Tasa = gSQL
End Sub
Pero no me funciona, no se cuando debo actualizar, ni como debo asignar el valor de tasa al campo, o si debo generarla dentro de un procedimiento de evento, o si debo hacerlo como un generador de expresiones para que sea automático dentro del formulario. Agradezco de nuevo tu ayuda...
1

1 respuesta

Respuesta
1
El Código debería ser el Siguiente
Supongo que tasa es el control donde quieres mostrar el valor
SI quieres que se muestre al seleccionar la fecha, el mejor sitio es en el evento Afterupdate:
Private Sub FechaAdquisicion_afterupdate()
Dim Base as Database, Rs as recordset
Dim gSQL As String
' Abrimos Base de datos
Set Base=dbengine.workspaces(0).opendatabase("NOMBREBASEDATOS")
' Definimos la consulta
gSQL = "SELECT MP_TasasdeCambio.Valor"
gSQL = gSQL & " FROM MP_TasasdeCambio "
gSQL = gSQL & " WHERE MP_TasasdeCambio.Fecha='" & CamFec(FechaAdquisicion) & "'"
'Abrimos el Recorset
set Rs=base.openrecordset(qSQL)
if rs.recordcount>0 then
Tasa=Rs!valor
else
Tasa=0
endif
' Cerramos Recordset y base de datos
rs.close:set Rs=nothing
Base.close:set base=nothing
End Sub
Notas
La consulta es parecida a la tuya, pero fíjate, he puesto CamFec(FechaAdquisicion). CamFec es una función que pone la fecha en formato MM/DD/AA (creación propia) ya que Access (y MS-SQL en general) en las consultad de código toma las fechas en formato americano.
Después de Fecha= he puesto apostrofe(') y Comilla doble ("), el apostrofe es para indicar que lo que viene a continuación no es un valor numérico, y la doble comilla cierra la consulta, de esta forma toma el valor de FechaAdquisición y no el literal "FechaAdquisicion" después vuelvo a abrir la doble comilla y cierro el apostrofe (comilla simple) que había abierto, por último vuelvo a cerrar las comillas.
Si justo antes del Set Rs pones Debug. Print gSQL y te vas a la ventana de depuración entenderás mejor a qué me refiero.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas