Introducir registros nuevos pero con algunos datos ya conocidos

Introducir registros nuevos pero con algunos datos

Cuando añadimos registros a una tabla, algunas veces, ocurre que ya hay campos que conocemos ya su valor. Por ejemplo, si un registro lleva la fecha del dia que se crea, cuando se crea ese registro ese dato ya es conocido.


Vamos a definir los pasos a realizar:
'1º creo un registro de datos
'2º pongo dato conocido
'3º añado un nuevo registro a la base de datos...
'4º voy al ultimo registro
'5º edito...
'6º compruebo que el usuario no cancelo el formulario de entrada de datos

Código de ejemplo:

Public Sub AgregarLabor_Click()

 
Dim idcategoriaActual As Integer
 
Dim tmpVO As New LaborVO
 
Dim ArrayTmpVo As New LaborVO[]
 
Dim hresult As Result
 
Dim realizado As Boolean
  'esta añadido es especial, ya que se van a incluir un dato ya predefinido.

  '1º creo un registro de datos
  '2º pongo dato conocido
 
idcategoriaActual = Val(Split(ComboBoxLaboresSubcategoria.Text, "|")[0])
 
tmpVO.idsubcategoria = idcategoriaActual
  '3º añado un nuevo registro a la base de datos...
 
manejadorLabores.registrar(tmpVO)
  '4º voy al ultimo registro
 
hresult = manejadorLabores.contenido()
 
hresult.MoveLast
 
ArrayTmpVo = manejadorLabores.ConvertirResult(hresult)

  '5º edito...
 
realizado = manejadorLabores.FormularioModificarRegistroIdlabor(ArrayTmpVo[0].idlabor, ArrayTmpVo[0], 1)
  '6º compruebo que el usuario no cancelo el formulario de entrada de datos
 
If realizado Then
    'mostrar datos
   
ComboBoxLaboresSubcategoria_click()

 
Else
    'el usuario cancelo el formulario , borrar el registro introducido temporalmente.
   
manejadorLabores.BorrarIdlabor(ArrayTmpVo[0].idlabor)
 
Endif
End



Nota:
Si queremos que este campo no sea modificable (osea que solo se muestra y no se pueda cambiar) cuando se crea el formulario automatizado, debemos de  modificar la función  GeneradorCodigoFormulario() que se encuentre en la clase DAO del manejador


Añadiremos un nuevo parámetro  ""|true;" al valuebox, para que se vuelva "de solo lectura", (se mostrará de color gris)

Código a sustituir
 'codigocampos &= "valuebox|idsubcategoria|" & ("idsubcategoria") & "|" & datosEditar.idsubcategoria & ";"

Código añadido:
  codigocampos &= "valuebox|idsubcategoria|" & ("idsubcategoria") & "|" & datosEditar.idsubcategoria & "|true;"

No hay comentarios:

Publicar un comentario