Ya he probado sencillamente un boton con addnew y otro con update y me va bien. El problema es que necesito un carro en medio y si lo hago me da error.
 
Aquí el cmdNuevo  
 Cita:      If btNuevoEvento.Caption = "&Nuevo" Then
        NuevoEvento
        btNuevoEvento.Caption = "&Guardar"
    ElseIf btNuevoEvento.Caption = "&Guardar" Then
        Guardar
        btNuevoEvento.Caption = "&Nuevo"
    End If
    Sencillo, ¿No? He pasado a NuevoEvento y Guardar el contenido que iria ahi en medio de forma que no estorbe y a mi entender debería ir mejor. 
Aquí la Private Sub NuevoEvento  
 Cita:  DataF1.Recordset.MoveLast
    DataF1.Recordset.AddNew
 
    Dim NuevoEvento As String
 
    NuevoEvento = InputBox("¿Carrera o Prueba?", "Seleccione", "Carrera")
 
    If NuevoEvento = "Carrera" Or NuevoEvento = "carrera" Then
        Carrera = 0
        DataF1.Recordset.MoveFirst
        Do While Not DataF1.Recordset.EOF
            If Val(txtCarrera.Text) > Carrera Then
                Carrera = Val(txtCarrera.Text)
            End If
            DataF1.Recordset.MoveNext
        Loop
        txtCarrera.Visible = True
        lblCarrera.Visible = True
        txtPrueba.Visible = False
        lblPrueba.Visible = False
        txtCarrera.Text = Carrera + 1
    ElseIf NuevoEvento = "Prueba" Or NuevoEvento = "prueba" Then
        Prueba = 0
        DataF1.Recordset.MoveFirst
        Do While Not DataF1.Recordset.EOF
            If Val(txtPrueba.Text) > Prueba Then
                    Prueba = Val(txtPrueba.Text)
            End If
            DataF1.Recordset.MoveNext
        Loop
        txtPrueba.Visible = True
        lblPrueba.Visible = True
        txtCarrera.Visible = False
        lblCarrera.Visible = False
        txtPrueba.Text = Prueba + 1
    Else
        MsgBox "Ha introducido un texto erróneo"
        DataF1.Recordset.CancelUpdate
        DataF1.Recordset.MoveLast
        Exit Sub
    End If
 
    btEstadisticas.Enabled = False
    'btGuardar.Visible = True
    'btNuevoEvento.Visible = False
    btOtrosFoto.Caption = "&Logo"
    btOtrosFoto.Enabled = False
    txtOtros.Visible = True
    Line7.Visible = True
    imgEquipo.Visible = False
    btSiguiente.Enabled = False
    btAnterior.Enabled = False
    btUltimo.Enabled = False
    btPrimero.Enabled = False
    btBorrar.Enabled = False
    btNuevoEvento.Enabled = False
    Desbloquear
    AñadirAComboBox
    VerCombos
    Puede ser que aquí esté el problema, pienso que alomejor se deba a que en los Do While Not uso movenext y todo eso, pero es que lo necesito usar. 
Aqui la Private Sub Guardar  
 Cita:      DataF1.Recordset.Update
    btOtrosFoto.Enabled = True
    btUltimo.Enabled = False
    btSiguiente.Enabled = False
    btAnterior.Enabled = True
    btPrimero.Enabled = True
    btBorrar.Enabled = True
    btNuevoEvento.Visible = True
    btGuardar.Visible = False
    btEstadisticas.Enabled = True
    Bloquear
    EsconderCombos
    DataF1.Recordset.Update
    cmbOrdinales.Clear
    cmbEquipo.Clear
    cmbCircuito.Clear
    cmbAsfalto.Clear
    cmbPrimerPiloto.Clear
    cmbSegundoPiloto.Clear
    cmbPilotoDePruebas.Clear
    A ver si encontramos el problema