lo primero es que no tengo ni idea de visual basic (me enseñaron algo en clase para saber que eso existía y como que ya hasta se me ha olvidado). El caso es el siguiente, en una base de datos de access 2003, juego con 2 formularios, uno llamado numeros2 y otro hora3 (los númeritos vienen a cuenta de mis experimentos y esos son los que mejor me van >.<).
La cuestión es que en numeros2 tengo puesto un campo de texto y unos botones abajo. este formulario me permite introducir una contraseña y si es correcta me pasa al formulario hora3.
El caso es que cuando ya enseña el hora3, hay un campo llamado CodigoOperario que se me rellena automáticamente y lo que quiero es que se me rellene también el nombre automáticamente. Creo que se rellena cuando se le da a aceptar en el formulario numeros2, para que os hagáis una idea yo tengo puesto lo siguiente:
Código:
Private Sub CmdAceptar_Click()
Dim IdOperario As Long
IdOperario = Nz(DLookup("CodigoOperario", "operario2", "clave=" & Me.Txtclave), 0)
'Comprobamos si existe la clave introducida
If IdOperario <> 0 Then
'comprobamos si hay algun registro para este operario en la tabla Partes de tarbajo para
'La fecha actual, si existe abrimos el registro, si no abrimos uno nuevo
If DCount("*", "PartesDeTrabajo", "CodigoOperario=" & IdOperario & " AND Fecha=#" & Format(Date, "mm/dd/yyyy") & "#") > 0 Then
DoCmd.OpenForm "hora3", acNormal, , "CodigoOperario=" & IdOperario & " AND Fecha=#" & Format(Date, "mm/dd/yyyy") & "#"
'cerramos el form numeros
DoCmd.Close acForm, Me.Name
Else
DoCmd.OpenForm "hora3", acNormal, , , acFormAdd
Forms!hora3!CodigoOperario = IdOperario
'Forms!hora!fecha = Date'Esta no hace falta ya que tienes en la tabla Partes de trabajo
'El campo fecha con valor predeterminado la fecha actual
'cerramos el form numeros
DoCmd.Close acForm, Me.Name
End If
Else
MsgBox "La contraseña introducida no corresponde a ningun empleado", vbCritical, "CONTRASEÑA ERRONEA"
End If
End Sub
Eso por una parte. Ahora viene otra cosa más que no he conseguido hacer en el propio access y creo que si se puede hacer con Visual Basic (de ahí que postee en este foro).
En el formulario hora3 tengo varios campos para rellenar, el problema es el siguiente. Cuando yo abro el numeros2 y tecleo una contraseña correcta, mira a ver si hay un registro de ese día, si no lo hay me lo crea, si ya existe me lleva a ese registro. El caso es que necesito hacer varios registros al día pero no quiero cambiar lo que ya tengo puesto en el formulario numeros2. Lo que quiero es poner un botón eb hora3 que ponga por ejemplo Nuevo y que me abra el formulario hora3 en blanco peeeeero que me guarde el CodigoOperario y el nombre.
No se si me he explicado bien >.<