Access - no permitir campos vacios

   
Vista:

no permitir campos vacios

Publicado por salva (36 intervenciones) el 20/01/2009 16:33:12
Haber si me podeis ayudar con esta.

Tengo un formulario con una ficha de control y aqui tengo un subformulario, el problema viene que algunas veces relleno los campos del formulario y al darle a intro pasa al siguiente registro sin haber rellenado los campos del subformulario, como podria hacer que si los campos del subformulario esta vacios no me deje pasar al siguiente registro.

gracias
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:no permitir campos vacios

Publicado por Marcos (236 intervenciones) el 20/01/2009 18:59:50
Hola lo puedes hacer de la siguiente forma:

Verificar en la tabla que se basa el subformulario, si el campo que vinculas el formulario principal con el subformulario existe ó no.
Ejemplo:
Tengo un Form. Principal que se vincula con el subformulario a través del campo ID.
Para esto, en el evento después de actualizar del campo del formulario pone lo sgte.:

If IsNull(DLookup("Id", "Tabladelsubformulario", "Id = " & Me!Id)) Then
MsgBox "EL SUBFORMULARIO NO HA SIDO LLENADO"
End If

Saludos
Marcos
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:no permitir campos vacios

Publicado por JMAN (96 intervenciones) el 20/01/2009 19:09:15
ademas, para evitar que te pase por accidente al siguiente registro, puedes hacer lo siguiente

vas a la hoja de propiedades del formulario y en la oreja "otras" donde dice "ciclo" selecciona REGISTRO ACTIVO

Al usar enter o tab en el último control no te va a cambiar el registro sino que se va a posicionar de vuelta en el primero
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:no permitir campos vacios

Publicado por salva (36 intervenciones) el 20/01/2009 20:14:20
Como siempre muchisimas gracias

Marcos estoy probando pero no me hace nada aqui te envio como lo estoy probando

Private Sub IDSALARIO_AfterUpdate()
If IsNull(DLookup("Idsalario", "consultadetalle", "Idsalario = " & Me!IDSALARIO)) Then
MsgBox "EL SUBFORMULARIO NO HA SIDO LLENADO"
End If
End Sub

donde me estoy equivocando? la tabla donde se basa el subformlario es una consulta llamada CONSULTADETALLE, y el campo vinculado es IDSALARIO

Tambien darle las gracias a jman
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:no permitir campos vacios

Publicado por Marcos (236 intervenciones) el 20/01/2009 20:39:48
El código está bien.
Verifica en el subformulario que las vinculaciones estén OK.

Nota: El código que te envié es cuando el campo Id es numérico. Para texto hay que agregar algunas cositas.

Si no encuentras el lío te envío un sencillo ejemplo a tu e-mail.
Nos avisas
Marcos
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:no permitir campos vacios

Publicado por salva (36 intervenciones) el 20/01/2009 20:44:02
Llevas razon el campo vinculado es texto no numerico que modificaciones tengo que hacer.
muchas gracias.
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:no permitir campos vacios

Publicado por Marcos (236 intervenciones) el 20/01/2009 20:54:43
Cambia la línea por lo sgte.:

IsNull(DLookup("[Idsalario]", "consultadetalle", "[Idsalario] ='" & Me!IdSalario & "'"))) Then
....
...

Marcos
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:no permitir campos vacios

Publicado por salva (36 intervenciones) el 20/01/2009 21:08:33
lo puesto tal cual y me de el siguiente error

se esperaba fin de a la instruccion

aqui te envio como lo he dejado

Private Sub IDSALARIO_AfterUpdate()
IsNull(DLookup("[Idsalario]", "consultadetalle", "[Idsalario] ='" & Me!IDSALARIO & "'"))) Then
MsgBox "EL SUBFORMULARIO NO HA SIDO LLENADO"
End Sub

gracias por la paciencia
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:no permitir campos vacios

Publicado por Marcos (236 intervenciones) el 20/01/2009 21:31:30
Le sobra un paréntisis al final. (fue mi error).
Debes quitarle uno.
Marcos
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:no permitir campos vacios

Publicado por salva (36 intervenciones) el 21/01/2009 08:37:34
que va sigue sin funcionar, el codigo lo tengo puesto en el campo IDSALARIO al evento depues de actualizar

Private Sub IDSALARIO_AfterUpdate()
If IsNull(DLookup("[Idsalario]", "consultadetalle", "[Idsalario] ='" & Me!IDSALARIO & "'")) Then
MsgBox "EL SUBFORMULARIO NO HA SIDO LLENADO"
End If
End Sub

lo tengo tal cual esta aqui, donde puede esta el problema.

gracias
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:no permitir campos vacios

Publicado por Marcos (236 intervenciones) el 21/01/2009 10:26:01
Problema de código no es. Debes tener otro problema en tu BD.
Te envié un sencillo ejemplo a tu e-mail.
Fíjate bien cómo funciona, mira los campos vinculados del subformulario con el form principal e inclusive héchale un vistazo cómo están relacionadas las tablas, etc, etc.
Nota: En el ejemplo que te envié, las nuevas tres líneas de código que aparecen son opcionales.
Saludos
Maecos
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

solucionado

Publicado por salva (36 intervenciones) el 21/01/2009 13:54:26
muchas gracias solucionado

gracias a todos por la paciencia que teneis con los que no sabemos.
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