Código que ejecute orden excepto si el campo ya está rellenado

Otra más ;-)

En un Formulario he creado un Boton de Comando con el siguiente procedimiento de evento "al hacer clic":

Private Sub ALTA_Click()
Dim Secuencia As Integer
Secuencia = (DCount("[NumeroOrden]", "T Altas", "[NumeroOrden] like '" & "*'")) + 1
Me.NumeroOrden = Format(Secuencia, "0000")
End Sub

Me funciona perfectamente. Cada vez que clicko en él me aumenta el número anterior en +1.

El problema es que si ya está relleno el campo y le hago un nuevo click, me cambia el número y ejecuta la orden de nuevo, eliminando completamente de la Tabla el número primero.

Quisiera saber si existe alguna línea de código para añadir en la que se diga que al hacer click, si el campo está vacío que ejecute la orden, pero si ya está relleno que no lo modifique.

A ver qué sale.

2 Respuestas

Respuesta
1

Basilio: Sin profundizar demasiado>>

Private Sub ALTA_Click()
Dim Secuencia As Integer

If Me.NewRecord Then
            Secuencia = (DCount("[NumeroOrden]", "T Altas", "[NumeroOrden] like '" & "*'")) + 1
             Me.NumeroOrden = Format(Secuencia, "0000")

End If
End Subç

Ya comentarás >> JTJ

¡Gracias! 

Muchas gracias.

Que facilidad para esto.

Funciona de maravillas

Es estupendo.

Me funciona de maravilla.

Además he aprovechado la fórmula y le he añadido un par de cosas más en otros dos campos.

Va perfecto.

Gracias de nuevo.

Basilio: Me alegra el que hayas podido solucionar el problema y además mejorar otros aspectos de tus otros códigos. Saludos >> JTJ

Respuesta
1

El NewRecord es la mejor opción si el formulario es dependiente, en caso contrario es conveniente cambiar por

If Isnull(Me.NumeroOrden Then....

¡Gracias! 

He usado la otra opción y ya lo tengo.

Me ha parecido más fácil para mis escaso saber.

Gracias 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas