Access - Urgente!!!

 
Vista:

Urgente!!!

Publicado por Claudia (56 intervenciones) el 14/07/2007 03:15:19
Hola a tod@s:

Para quien ,por casualidad, haya revisado la web de marta y específicamente el archivo GestionUsuarios02 tengo una consultita:

Bajé el archivo, he hice un menú con el subformulario cambiante según las opciones. Mi problema es si existe la posibilidad de que también se puedan abrir formularios de ingreso de datos, me explico:

de una misma tabla hice varios formularios, la idea es que ingrese una parte de los datos y luego presione siguiente y pase al formulario que sigue he ingrese los datos restantes (pero del mismo registro) y así sucesivamente; en realidad es completar la tabla por pasos. He intentado, pero no sé como exigirir que el formulario 2 tenga el mismo ID del formulario 1 ( y al mismo tiempo que se abra en el lugar del formulario anterior : ctlSubForm.SourceObject etc...)

Espero que alguien me pueda ayudar.

Sldos,

Claudia
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

RE:Urgente!!!

Publicado por Guifemo (3 intervenciones) el 15/07/2007 15:24:47
Con el primier formulario ingresas el registro nuevo. Los demás formularios (2, 3, etc...) deben tener el mismo origen de registros que el primero, luego hace que cuando presionas el botón siguiente, primero se oculte (el primero), al cargar el segundo, hacé que busque con el método Find o Seek (depende si las tablas están vinculadas o no) el registro en cuestión utilizando como parámetro de búsqueda el valor del control del ID del formulario oculto. Luego utiliza la propiedad NoMatch para verificar que el registro exista (puede que alguien haya presionado el botón siguiente sin primero agregar datos en el formulario 1). Si el registro existe, editalo y volvelo a guardar y si no existe mándale un mensaje para que complete primero los datos del formulario 1.
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

RE:Urgente!!!

Publicado por Claudia (56 intervenciones) el 15/07/2007 23:50:44
mi problema es, cómo hacer que el formulario 2 se enfoque en el mismo subformulario que el formulario 1:

(código form1):

Private Sub cmdNueva_Click()
If ctlSubForm.SourceObject <> "FormAud" Then
lblTitulo.Caption = "Nueva"
Me.Texto10.SetFocus
ctlSubForm.SourceObject = "FormAud"
Me.ctlSubForm.SetFocus
End If
End Sub

(código form2):

Private Sub cmdSiguiente_Click()
On Error GoTo Err_cmdSiguiente_Click
If IsNull([txtTipo]) Or IsNull([txtFech]) Or IsNull([txtOrgAud]) Or _
IsNull([txtEstAud]) Or IsNull([txtObj]) Or _
IsNull([txtAlc]) Or IsNull([txtCrit]) Then

MsgBox "Debe ingresar datos"
Else
Dim stDocName As String
Dim stLinkCriteria As String

stDocName = "FormInvol"

stLinkCriteria = "[Id_Aud]=" & Me![Id_Aud]
DoCmd.OpenForm stDocName, , , stLinkCriteria

End If
Exit_cmdSiguiente_Click:
Exit Sub

Err_cmdSiguiente_Click:

Resume Exit_cmdSiguiente_Click

End Sub

en que parte le digo que debe abrirse en el SubForm (así se llama el subformulario en que se posicionan los demas)???
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

RE:Urgente!!!

Publicado por mi menda (1111 intervenciones) el 17/07/2007 01:14:30
a ver sí ahora te he entendido bien:

Private Sub cmdSiguiente_Click()
On Error GoTo Err_cmdSiguiente_Click

If IsNull([txtTipo]) Or IsNull([txtFech]) Or IsNull([txtOrgAud]) Or _
IsNull([txtEstAud]) Or IsNull([txtObj]) Or _
IsNull([txtAlc]) Or IsNull([txtCrit]) Then

MsgBox "Debe ingresar datos"
Else
if ctlSubForm.SourceObject <> "FormInvol" Then
ctlSubForm.SourceObject = "FormInvol"

End If

End If

Exit Sub

Yo he entendido que quieres cargar el formulario "FormInvol" en el control subformulario, sí hay datos en él.
Porque la primera vez entendí, que no conseguias abrir el formulario por el mismo id.

A ver sí acertamos.
Un Saludo
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

RE:Urgente!!!

Publicado por Claudia (56 intervenciones) el 17/07/2007 19:34:25
Sí!!!!

eso es lo que necesito...en realidad necesito las dos cosas, por separado me resultan ... pero al juntarlas realiza las dos por separado (es decir, me abre en el subformulario...pero autonumérico) y en otra pantalla... pero con el mismo id...y en realidad necesito que se cumplan las dos (en el subformulario y con el mismo id)

:D
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

RE:Urgente!!!

Publicado por mi menda (1111 intervenciones) el 18/07/2007 12:34:10
Hola Claudia:
Como es la primera vez que hago algo parecido a lo que preguntas, pues estoy hasta las narices de ver la ventana de mensajes de error de Access.

Pero al final lo he conseguido de la siguiente manera:

-Primero : Hay que guardar el valor del CampoId

En el evento "Al activar registro " del formulario1, y en un campo obligatorio del mismo formulario, en el evento "después de actualizar" pon:

If Not IsNull(Me.CampoId) Then
Me.Parent.Tag = Me.CampoId
End if

Con formulario1, me refiero al formulario que cargas en el subformulario(Secundario).
El valor del CampoId queda almacenado en la propiedad "InformaciónAdicional" del formulario principal.

-Segundo: Establecer el origen de datos del formulario2.

En la ficha datos del formulario2, en la propiedad origen de los datos, pinchamos en los tres puntitos para accededer al diseño de la consulta. Arrastramos al diseño los campos que necesitemos, y en la fila criterios del CampoId ponemos:

Forms!NombreFormularioPrincipal.InformaciónAdicional
(no te olvides del acento).

Los eventos de los botones del formulario principal quedan igual:

If Me.Secundario.SourceObject <> "formulario2" Then
Me.Secundario:SourceObject = "formulario2"
End If

Parece que cuando se carga un subformulario de esta forma, no se puede acceder a sus campos, etc.., porque el origen del subformulario(Secundario) no es la Tabla o Consulta origen del formulario que cargamos, sino el propio objeto formulario.
Por lo menos eso me ha parecido a mí.(No se mucho de VBA).

En fín, creo que es sencillo y no tendrás problemas.

Un Saludo
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

RE:Urgente!!!

Publicado por Claudia (56 intervenciones) el 18/07/2007 18:46:52
Hola:

Ésta parte:

"Los eventos de los botones del formulario principal quedan igual:

If Me.Secundario.SourceObject <> "formulario2" Then
Me.Secundario:SourceObject = "formulario2"
End If "

me arroja error

quizás se me olvidó comentarte que el comando que abre el formulario2 se encuentra en el formulario1 y no en el principal.

el formulario principal llama al formulario1 y éste a su vez llama al formulario2

"todo ésto me tiene loca!!!"..jaja
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

RE:Urgente!!!

Publicado por mi menda (1111 intervenciones) el 19/07/2007 18:59:01
Hola de nuevo Claudia:

El botón de comando que llama al a formulario2 quedaria asi:

Private Sub cmdSiguienteForm2_Click()

If Me.Parent.Secundario.SourceObject <> "formulario2" Then
Me.Parent.Secundario.SourceObject = "formulario2"
End If
End Sub

Lo demás queda igual.

Un Saludo
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

RE:Urgente!!!

Publicado por mi menda (1111 intervenciones) el 16/07/2007 00:31:08
Aunque tengo la BD de Marta, todavia no la he revisado, pero para que se te abra el formulario2 por el mismo id del formulario1, tan solo tendrias que poner en la propiedad valor predeterminado del campo id del formulario2:
=Forms!NombreFormulario1!CampoID

Un Saludo
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

RE:Urgente!!!

Publicado por Jordi (226 intervenciones) el 16/07/2007 13:15:07
Tienes la solucion a tu problema SOLO 11 TEMAS MAS ABAJO, uno que pone problemas al introducir datos. Si es tan urgente hay que buscar un poquito más...
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

RE:Urgente!!!

Publicado por Claudia (56 intervenciones) el 16/07/2007 23:07:37
mi problema no es introducir datos.. lo que no logro hacer es que los formularios de ingreso se abran en el mismo subformulario del panel principal (de hecho lo expliqué anteriormente, incluyendo el código de cada uno)...y si , es urgente y he buscado en varias páginas y foros y no he encontrado la solución... de lo contrario no les preguntaría a ustedes..
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