** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - No entiendo bien que pasa
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoNo entiendo bien que pasa

 Responder Responder
Autor
Mensaje
JoseraGR Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 06/Octubre/2020
Localización: Granada
Estado: Sin conexión
Puntos: 20
Enlace directo a este mensaje Tema: No entiendo bien que pasa
    Enviado: 04/Noviembre/2020 a las 12:44
Buenas

Tengo un misterio en la BD que estoy realizando que no acabo de pillar. Formulario con botón de comandos para "Nuevo Modelo" y "Salir". Utilizo el siguiente código:

Private Sub cmdNuevoModelo_Click()
  'Llamamos al procedimiento MatriculaT_CV
  Call ReferenciaT_ModeloDigital
  'Situamos el formulario para introducir un nuevo registro
  DoCmd.RunCommand acCmdRecordsGoToNew
  'Situamos el foco del subformulario en el campo Longitud
  Forms!F_Modelo!SubFrmF_Modelo.Form!Longitud.SetFocus
  'Situamos el foco del formulario en el campo NombreModelo
  Me.NombreModelo.SetFocus
End Sub

Private Sub cmdSalirFormulario_Click()
  'Declaramos variables
  Dim Resp As Integer
  'Comprobamos que no tenemos valor nulo en el campo Categoria
  If IsNull(Me.Referencia.Value) Then
    'Se muestra mensaje de confirmación
    Resp = MsgBox("¿Quiere salir sin guardar el registro?", vbQuestion + vbYesNo + vbDefaultButton2, "SALIR")
    'Según seleccion elejida
    If Resp = vbNo Then
      'Respuesta es NO se situa el foco en el formulario
      Me.NombreModelo.SetFocus
    Else
      'Cerramos el formulario
      DoCmd.Close acForm, "F_Modelo"
    End If
  Else
    'Guardamos el registro
    DoCmd.RunCommand acCmdSaveRecord
    'Llamamos a la subrutina para comprobar la digitalizacion o no del modelo
    Call ReferenciaT_ModeloDigital
    'Cerramos el formulario
    DoCmd.Close acForm, "F_Modelo"
  End If
End Sub

Private Sub ReferenciaT_ModeloDigital()
  'Declaramos variables
  Dim vDigital As Boolean
  Dim vReferencia As String
  Dim miSql As String
  'Obtenemos el valor de la referencia del modelo
  vReferencia = Me.Referencia.Value
  'Obtener si esta digitalizado o no el material
  vDigital = Me!SubFrmF_Modelo.Form!Digital.Value
  'Segun el tipo de material
  If vDigital = True Then
    'Mostramos mensaje de indicacion obligatoria de relleno campos CV1 y DCC
    MsgBox "Al ser un modelo digitalizado es necesario rellenar los campos DECODER y CV1 en el formulario DIGITAL", vbOKOnly + vbExclamation, "MODELO DIGITALIZADO"
    'Construimos la en SQL para insertar Refenecia T_ModeloDigital
    miSql = "INSERT INTO T_ModeloDigital(Referencia) VALUES ('" & vReferencia & "')"
    'Ejecutamos la expresión de SQL
    DoCmd.RunSQL miSql
    'Abrimos el formulario F_Digital con la Referencia seleccionada
    DoCmd.OpenForm "F_Digital", acNormal, , "[Referencia] ='" & vReferencia & "'"
    'Desactivamos el boton de comando nuevo registro
    Forms!F_Digital.cmdNuevoModeloF_Digital.Enabled = False
    'Desactivamos el boton de comandos modifcar registro
    Forms!F_Digital.cmdModificarRegistroF_Digital.Enabled = False
    'Desactivamos el boton de comandos Buscar registro
    Forms!F_Digital.cmdBuscarRegistroF_Digital.Enabled = False
  End If
End Sub

Cuando pulso el botón "Salir" funciona correctamente. El Problema esta cuando pulso el botón "Nuevo Modelo", el cual hace una cosa muy pero que muy rara. Me abre el formulario F_Digital pero no me muestra la "Referencia" del modelo. y al rellenar todo menos ese campo y salir de ese formulario me da error 3314 pidiendo que lo rellene. Lo curioso es que si detengo la accion sin rellenarlo y miro la tabla T_ModeloDigital resulta que si tiene en su campo insertado la "Referencia" . Total que no atino a saber porque si funciona bien cuando pulso "Salir" mostrando la "Referencia" en el formulario, mientras que al pulsar "Nuevo Modelo" no lo hace de esa forma aunque si me inserta el campo de "referencia" en la tabla..........ConfusedConfusedConfusedConfusedConfused
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable