Access código para copiar a tabla grupo de opciones

Tengo un formulario independiente con campos independientes. Uno de esos campos es un marco (grupo de opciones) que código podre utilizar para al dar click en el botón guardar me envíe los datos a la tabla específicamente lo que se escogió el el grupo de opciones.

El código que tengo es el siguiente:

Private Sub Btguardar_Click()
'valida si en campo esta vacio
If Me.txtvaloringreso = 0 Then
Beep
MsgBox "debe colocar un valor al ingreso", vbCritical, "Error"
'valida si escogio una opcion
ElseIf IsNull(Me.Marco37) Then
Beep
MsgBox "debe escoger una opcion", vbCritical, "Error opciones"

Else
CurrentDb.Execute "INSERT INTO tbingresos(fechaingreso,valoringreso,detalleingreso,tipoingreso) VALUES( now() ," & Me.txtvaloringreso & " ,'" & Me.txtdetalleingreso & "' ," & Me.Marco37 & ")"

'Dim MensajeIng As String
'MsgBox Mensajeing, vbOKOnly, "¡Gracias por su colaboracion!"

If Err.Number = 0 Then
MsgBox "Ingreso OK", vbInformation, "INGRESOS EFECTIVO"
flag = True
End If
'cierra el formulario
DoCmd.Close acForm, Me.Name
End If
End Sub

.

2 Respuestas

Respuesta
1

Le dejo este código con controlo de errores:

Private Sub Btguardar_Click()
    On Error GoTo ErrorHandler
    ' Valida si el campo de ingreso está vacío o es cero
    If Nz(Me.txtvaloringreso, 0) = 0 Then
        Beep
        MsgBox "Debe colocar un valor al ingreso", vbCritical, "Error"
    ' Valida si se ha escogido una opción en el grupo de opciones
    ElseIf IsNull(Me.Marco37) Then
        Beep
        MsgBox "Debe escoger una opción", vbCritical, "Error opciones"
    ' Si pasa las validaciones, ejecuta la inserción en la tabla
    Else
        CurrentDb.Execute "INSERT INTO tbingresos(fechaingreso, valoringreso, detalleingreso, tipoingreso) VALUES(now(), " & Me.txtvaloringreso & ", '" & Me.txtdetalleingreso & "', " & Me.Marco37 & ")"
        ' Muestra mensaje de confirmación si no hay errores
        MsgBox "Ingreso OK", vbInformation, "Ingresos Efectivo"
        DoCmd.Close acForm, Me.Name
    End If
    Exit Sub
ErrorHandler:
    MsgBox "Ocurrió un error al intentar guardar los datos: " & Err.Description, vbCritical, "Error"
    Err.Clear
End Sub
Respuesta
1

Pues lo tienes bien escrito, ya que los marcos de opciones lo que guardan es precisamente el número de la opción.

He reproducido textualmente tu instrucción en una tabla y ha guardado sin problemas la instrucción de ...Insert into...

Si lo que guardas en el campo FechaIngreso es solamente la fecha puedes sustituir Now() por Date()

Esta es la instrucción que he puesto

DoCmd.RunSQL "insert into tbingresos(fechaingreso,valoringreso,detalleingreso,tipoingreso)values" _
& "(Date()), " & Me.TxtValorIngreso & ",'" & Me.DetalleIngreso & "'," & Me.Marco37 & ")"

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas