Yo tambien tenia problemas similares, pero se un poco mas especifico, ya que puedo estar erroeno en lo que intentaria eplicarte, yo realice lo siguiente.
Imagino que desas presentar un reporte en el cual esta siendo creado de un sql
y necesitas actualizarlos, pero los datos no se actualizan verdad?
si tienes algo asi
lo que yo planteo como solcion es crear una instancia de dicho formulario y si la consulta necesita ser "refrescada" la vuelvo a crear cada vez que se deseo
envio codigo:
Private Sub cmdAceptar_Click()
'aqui validar tambien que la fecha este en un rango determinado
'para establecer que el rpt de auxiliar se crea de nuevo
Dim frmAuxConsulta As fmaRPTConsultorio
'Dim fechIni As Variant
'Dim fechFin As Variant
' 0 cuando las fechas son iguales
' 1 cuando fechaini es mayor fechafin
'-1 cuando fechaini es menor fechafin
If mskeFechaInicial.ClipText = "" Or IsNull(mskeFechaInicial.ClipText) Then
MsgError ("Por favor, tecleé la fecha")
mskeFechaInicial.SetFocus
ElseIf Me.mskeFechaFinal.ClipText = "" Or IsNull(Me.mskeFechaFinal.ClipText) Then
MsgError ("Por favor, tecleé la fecha")
Me.mskeFechaFinal.SetFocus
Else
If IsDate(mskeFechaFinal) And IsDate(mskeFechaFinal) Then
'en este momento las fechas son validas pero seran dentro del periodo
If fecIni > Me.mskeFechaInicial Or fecFin < Me.mskeFechaFinal Then
MsgError ("Por favor, La fecha se encuentra fuera de rango")
Me.mskeFechaInicial.SetFocus
Else
Select Case cmpFechas(mskeFechaInicial, mskeFechaFinal)
Case -1, 0:
'implica que fo<=fa
If (cbUnidadMedica.BoundText <> "") And (cbRecurso.BoundText <> "") Then
'MsgBox cbUnidadMedica.BoundText
'MsgBox cbRecurso.BoundText
Set frmAuxConsulta = New fmaRPTConsultorio
frmAuxConsulta.dtFechIni = mskeFechaInicial
frmAuxConsulta.dtFechFin = mskeFechaFinal
frmAuxConsulta.Recurso = cbRecurso.BoundText
frmAuxConsulta.UnidadMedica = cbUnidadMedica.BoundText
'MsgBox "fechas correctamente capturadas, validas y en rango de fecha"
Unload Me
'tengo la informacion de la unidad medica, recurso, periodo de fechas
frmAuxConsulta.Show vbmoda, Me
Else
MsgBox "No selecciono la unidad medica y el recurso correspondiente"
End If
Case 1: ' implica periodo erroreo
MsgError ("Por favor, el periodo de fechas erroneo")
End Select
End If
Else
MsgError ("Por favor, La fecha no son validas.")
Me.mskeFechaInicial.SetFocus
End If
End If
End Sub
disculpa que te envie todo pero es para que te des una ideas como esta dentro de un todo, ok