Código erróneo para pasar datos a un histórico

En referencia la pregunta que hice ayer sobre la incidencia que tenia con un código de Visual Basic para pasar datos de una tabla Equipos a otra Equipos Histórico os pregunto para ver si podéis ayudarme

Tengo un botón de "eliminacion" creado que al hacer click tiene esta expresión:

Private Sub Imagen113_Click()
Dim respuesta As String
Dim cSql As String
Dim vFecha As Date
Dim vUser As String
respuesta = MsgBox("ELIMINARÁ EL REGISTRO ACTUAL,¿DESEA CONTINUAR?", vbYesNo, "CONFIRMAR")
If respuesta = 6 Then
vFecha = InputBox("Introduzca la fecha de Baja")
If StrPtr(vFecha) = 0 Then
Else
DoCmd.Close acForm, "Equipos"
End If
vUser = Me.cboUser.Value
'Aquí recogerías el usuario actual. No sé como lo tienes montado, por eso te lo dejo a ti
DoCmd.RunSQL "INSERT INTO EquiposBajas (Modelo, SerialNumber,Observaciones,FechaBaja,User) VALUES ('" & Modelo.Value & "', '" & EquipoSerialNumber.Value & "', '" & Observaciones.Value & "',#" & Format(vFecha, "mm/dd/yyyy") & "#,'" & vUser & "')"
MsgBox ("LA FICHA ELIMINADA PASARÁ AL REGISTRO HISTÓRICO"), vbInformation, "PASO DE DATOS A HISTÓRICO COMPLETADO"
DoCmd.RunCommand acCmdDeleteRecord
DoCmd.Close acForm, "Equipos", acSaveYes
DoCmd.OpenForm "EquiposBaja"
MsgBox ("REGISTRO ACTUAL ELIMINADO"), vbInformation, "REGISTRO ELIMINADO"
Else
MsgBox ("REGISTRO ACTUAL NO ELIMINADO"), vbInformation, "CANCELAR ELIMINACION"
End If
End Sub

Lo que quería con este código es pasar los datos seleccionados de la tabla principal Equipos a EquiposBaja, eliminar los datos de Equipos, y obligar al usuario a poner una Fecha de Baja y además que luego en la tabla EquiposBaja me marcase en el campo User el Usuario que le ha dado de baja

El codigo me da error en esa linea:  vUser = Me.cboUser.Value

Me dice ERROR DE COMPILACIÓN. No se encontró el método o dato miembro

El usuario que esta activo en cada momento viene de una Tabla TPass que esta hecha igual que la que ofrece Neckkito en su web en el apartado Contraseña

El registro de usuario se almacena en un Cuadro Combinado con el nombre cboUser

¿Sabéis cómo puedo afinar el código para que haga el procedimiento correcto?

2 Respuestas

Respuesta
1

Oscar: De acuerdo a lo que veo en:

vUser = Me.cboUser.Value

Te estás refiriendo a un combo de un Formulario cerrado.

Si quieres tener disponible el valor de vUser, has de hacer Pública la Variable.

En un Modulo Standar

Public vUser As String

En el Formulario Login, cuando el usuario esté validado, es cuando le has de adjudicar el valor a esa variable.

Si el Combo del Usuario en el Formulario de Login se llama CboUser, ahí es donde puedes poner

VUser = Me.CboUser.Value

Mis saludos >> Jacinto

Probare a ver Jacinto

Te pido otro favor, en ese mismo formulario EquiposBajas tengo un registro que no aparece en el código de arriba y que necesito que pordefecto siempre tenga como Valor Predeterminado "UNIDAD CENTRAL DE PROCESO"

Lo tengo así puesto en este registro y cuando apunto yo algo de forma manual me establece bien ese valor predeterminado pero cuando el código de arriba me pasa los datos de Modelo, NumeroSerie y demás el cuadro en cuestión de Tipo se me queda vacío y no muestra su valor predeterminado

¿Sabes por qué puede ser? ¿Habría que asignarlo de alguna maner en el código de arriba?

Muchas gracias de nuevo

Oscar: Cuando quieras asegurar el valor Predeterminado de un Control, y siempre que tenga un Origen de Datos en el Campo de una Tabla, lo mejor es que en la Propia Tabla, en vista de diseño le pongas ese valor Predeterminado.

Si quieres puedes repetirlo en el control del Formulario. Mis saludos >> Jacinto

Respuesta
1

Con esta linea vUser = Me.cboUser.Value estás diciendo que la variable vUser coja el valor de un cuadro combinado de tu formulario llamado cboUser.

Por otro lado, el error "No se encontró el método o dato miembro" te está diciendo que en el formulario donde ejecutas el código no tienes ningún objeto que se llame cboUser.

Como te decía en la otra respuesta, has de asignar el valor del usuario a la variable, pero de forma correcta... Neckkito en su web tiene varias formas de hacerlo. Yo te recomendaría que usases la del formulairo Chivato

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas