Números consecutivos

Te cuento... Tengo un formulario "Remito", necesito por un lado que la numeración sea consecutiva, pero a la vez me permita ingresar otro numero manualmente en el mismo campo presionando un botón, una vez ingresado el numero manualmente que vuelva a la consecución anterior, es decir que no sea consecutivo del numero ingresado manualmente...
2

2 respuestas

Respuesta
1
Te paso el código de visual básic del formulario:
Option Compare Database
'Agregar un campo de tipo boolean a la tabla(Nombre="Manual"). En el formulario establece la propiedad como no visible.
'Campo número debe ser indexado sin duplicados no autonumerico.
'Agregar un Boton con nombre "bManual"

Dim EsManual As Boolean
Private Sub bManual_Click()
    If EsManual = False Then
        Me.Numero.Enabled = True
        Me.bManual.Caption = "Desactivar Ingreso Manual"
        EsManual = True
    Else
        EsManual = False
         Me.bManual.Caption = "Activar Ingreso Manual"
        Me.Numero.Enabled = False
    End If
End Sub
'Evento al activar registro
Private Sub Form_Current()
    If EsManual = False And IsNull(Me.Numero.Value) Then
        numeromax = DMax("Numero", "NombreTablaRemito", "Manual=0") + 1
        Dim Reco As DAO.Recordset
        Set Reco = Me.RecordsetClone
        Reco.FindFirst "Numero=" & numeromax
        Do While Reco.NoMatch = False
            numeromax = numeromax + 1
            Reco.FindFirst "Numero=" & numeromax
        Loop
        Me.Numero.Value = numeromax
    End If
End Sub
'Evento al cargar
Private Sub Form_Load()
    Me.Numero.Enabled = False
    EsManual = False
    Me.bManual.Caption = "Activar Ingreso Manual"
End Sub
'Evento despues de actualizar
Private Sub Numero_BeforeUpdate(Cancel As Integer)
    If IsNull(Me.Numero.Value) Then
        MsgBox "Ingrese un número"
    Else
        Me.Manual.Value = True
    End If
End Sub
Respuesta
1
Usa dmax("CAMPO","TABLA)
El valor que te traiga colocalo en tu campo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas