Llenar numero

Hola estoy haciendo una aplicación en vb6, ahí se llena un formulario con información que se va a almacenar. Pero uno de los campos que se quiere llenar es el campo numero y me piden que no se llene manualmente sino que se genere automáticamente.
Para ser más clara, se tienen varias cosas: hay una tabla donde están almacenadas diferentes personas y cada persona tiene un numero asociasdo, por ejemplo 10, 20, 30, etc...
Y en otra tabla se van a guardar los diferentes objetos que tiene cada persona, entonces si la persona 10 tiene un objeto el numero de este objeto es el 10-01, si tiene otro objeto su numero seria el 10-02 y así sucesivamente.
Este numero de objeto es el que se quiere que se genere automáticamente al seleccionar la persona que lo va a tener, es decir si yo escojo la persona 10, que me diga que el numero del objeto es el 10-03. En caso de que se retire el objeto 10-02 cuando a la persona 10 se le agregue otro objeto este no va a tomar el numero 10-04, sino el 10-02 que quedo vacío.
Yo ya tengo la primera parte hecha (claro la más fácil) es decir tomo el numero de la persona y lo agrego a una variable que es donde voy a crear el numero nuevo. Pero a partir de aquí es que necesito su ayuda, ¿cómo hago para saber que valor le corresponde a la segunda parte de este numero?
NOTA: Estoy trabajando con todas las variables en string no en integer
Respuesta
1
Puedes mirar si en la segunda tabla tiene algún registro. EN caso de que no tenga, este sera el valor 1.
Para saber si te devuelce un registro miras en el recordset la propierad count si es cero, no tienes registro
Asi quie por ejemplo harias
cint(rsDatos.count) + 1
Y de este modo añades la segunda parte

2 respuestas más de otros expertos

Respuesta
1
Bien lo que tienes que hacer es almacenar los valores ya sea en varias variables o en una matriz y un procedimiento que genere el autostring con la función format(cadena,"##0")
Si me das tiempo hasta te mando el código pero no te prometo nada
Respuesta
1
Propongo lo siguiente
Trabaja con el Right de la cadena donde guardas los códigos consecutivamente y lo vas comparando con una variable que te indica cual es el valor esperado
eje
Dim I as integer
I=1
do
Objeto= Cint(Right(Cadena, len(Cadena)-instr(1, Cadena,"-"))) ' Esto te saca solamente el numero del Objeto
if I <> Objeto then
I= objeto
Exit do
else
i=i+1
end if
Tabla.recordset.movenext
Loop While not tabla.recordset.eof
Al salir del ciclo "I" contiene el numero del objeto que necesitas

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas