Problemas al abrir un formulario

hola, tengo mi base de datos la cual guarda datos de personas, cada registro de personas tiene un un valor llamado expediente que es único......

en el formulario principal tengo un botón de comando que quiero que me abra otro formulario (no un subformulario) con otros datos relativos a este expediente, lo hice con un botón de comando el código inicial era este:

Private Sub Comando313_Click()
'Botón nuevo
On Error GoTo Err_Comando313_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "Fechas2"
DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_Comando313_Click:
Exit Sub
Err_Comando313_Click:
MsgBox Err.Description
Resume Exit_Comando313_Click
End Sub

como veis el nuevo formulario se llama Fechas2, pues bien, no me coge el expediente que tengo en el primer formulario, intente con este nuevo código que lo cogí de otra parte de esta misma base y que me sirve para abrir un informe con el expediente en concreto..... Esto no me abre el formulario de la forma correcta.....

Private Sub Comando313_Click()
On Error GoTo Err_Comando305_Click
Dim stDocName As String
stDocName = "Fechas2"
DoCmd.OpenReport "Fechas2", acViewPreview, , "expediente = " & Nz(Me.expediente, 0)
Exit_Comando313_Click:
Exit Sub
Err_Comando313_Click:
MsgBox Err.Description
Resume Exit_Comando313_Click
End Sub

¿que puedo hacer?

1 respuesta

Respuesta
1

El primer código no te funciona porque en ningún sitio le defines el filtro que quieres usar al abrir el formulario, y eso que defines la variable que usarás como filtro (Dim stLinkCriteria As String).

Si le añades esto justo antes del DoCmd. OpenForm, te debería funcionar:

stLinkCriteria= "[expediente]=" & Nz(Me.expediente, 0)

Quizás deberías añadirle un control por si no hay valor en el campo expediente, para que no te abra el formulario en blanco, algo así:

If Nz(Me.expediente, 0)=0 Then Goto Exit_Comando313_Click

Este linea se la pondrías también antes del DoCmd. OpenForm.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas