Ayuda con funciones condicionales de datos en tablas de base de datos implementada con access

Buenas noches, quisiera me ayudaces en este problema que tengo: Tengo una tabla con un campo numfactura este campo tiene predeterminado el 0 y en ocasiones lo remplazo por un numero.
Los registros quedan así:
numfactura
0
0
123
0
4564
0
1124
Lo que deseo es colocar una condición que vaya y me busque todos los registros y me avise por un mensaje que el numero ya existe y no me deje repetirlo, es decir si en un registro nuevo, escribo 4564 como ya esta registrado, me avise, pero no tenga en cuenta los ceros, por eso no le pude poner la restricción desde la tabla porque los ceros si los necesito porque en ocasiones el registro de numfactura queda 0 .
Gracias por tu apoyo. Trate de usar dmax("numfactura,"Mesas") pero solo sirve para buscar el máximo y yo quiero que busque en todos los registros de numfactura y si encuentra el que estoy escribiendo, me avise
Gracias de Nuevo

1 respuesta

Respuesta
1
Hazte una función tal que...
function yaExiste(lNumero as long) as boolean
dim mibase as dao.database
dim mirs as dao.recordset
dim bEncontrado as boolean
set mibas=currentdb
set mirs=base.openrecordset("select numfactura from facturas where numfactura<>0")
bEncontrado=false
mirs.movefirst
while not encontrado and not mirs.eof
if mirs.fields("numfactura")=lNumero then
bEncontrado=true
end if
mirs.movenext
wend
mirs.close
set mirs=nothing
set mibase=nothing
yaExiste=bEncontrado
end function
Le pasas como parámetro el número introducido y te devuelve si ya existe en la tabla.
Gracias por tu respuesta pero no me funciona, t eexplico mejor
En un formulario tengo un campo llamado numfactura que siempre predeterminado esta cero, bueno en ocasiones voy a ese campo y le coloco un numero de factura es decir 1313 pero lo que quiero es ponerle al campo numfactura después de actualizar que vaya a la tabla Mesas y busque en todos los registros si campo numfactura si ya existe 1313( ya se puede haber digitado con anterioridad) y que me avise con un msgbox que ya esta usado ese numero y no me lo deje repetir
Algo así
numfactura_AfterUpdate()
If numfactura = ???????? then
undo
msgbox " Ya esta digitado"
end if
numfactura.setfocus
end sub
Gracias
Pues utilizas la función de manera que...
numfactura_AfterUpdate()
If yaexiste(numfactura) then
msgbox " Ya esta digitado"
numfactura=""
numfactura.setfocus
end if
end sub
Entiendo que así debe funcionar bien, o no te he entendido.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas