UN CONTADOR MUY ESPECIAL

MMu?
26 de Noviembre del 2003
Tengo una base de datos, la cual agrego nº de planos.
ej. A4-105-1040-02 ... tanto A4, 105,1040 los tengo en combos porque son diferentes tipos de codificación interna. y solo tendria que agregar el 02.
El tope seria el 99.
Deseo que al elegir en los combos los diferentes codigos , me realice una pasada y me diga cual es el ultimo numero de plano metido con esos mismos codigos. ufff no se si me explico Gracias de todas Formas

MMu?
26 de Noviembre del 2003
sigo...
Guardo el nº de plano entero= "A4-105-1040-02" y a parte lo guardo por separado a4// 105// 1040// 02// en diferentes campos de la tabla.. yo realizo un if,, comparando si a4 es igual o diferente al recordset.(de la tabla ) y despues lo otro tienen que ser iguales a los recordset de los campos a comparar.
El unico q no comparo es el 02 ya que es el que quiero que me ponga el ultimo introducido +1 con lo cual guardare yo como el A4-105-1040-03.

sdemingo
26 de Noviembre del 2003
Hola,

imagina que tienes los números de plano en combo llamado cbPlano

Lo que debes hacer es ir guardando el númenro (que supongo que siempre será el último valor del código) en un array

Dim array() as String
Dim Numeros() as Integer
Dim i As Integer
Dim a As Integer
Dim b As Integer
Dim Copia As Integer


For i = 0 To cbPlano.ListCount - 1
Redim Preserve Numeros(i)
array = Split(cbPlano.List(i), "-", -1, vbBinaryCompare)
Numeros(i) = CInt(array(Ubound(array))
i = i +1
Next i

' Método de ordenación de burbuja
For a = 0 To UBound(Numeros)
For b = 0 To UBound(Numeros)
If Numeros(a) < Numeros(b) Then
Copia = Numeros(a)
Numeros(a) = Numeros(b)
Numeros(b) = Copia
End If
Next b
Next a

MsgBox "El número más alto es: " & Numeros(Ubound(Numeros))"


Suerte
sdemingo

andresguerrero
26 de Noviembre del 2003
Sdmingo me parece excelente tu respuesta y creeme me has sacado de muchos lios pero no se que tal si cuando llenas los combos que son obligatorios exepto el ultimo para que siga la sequencia haces un query para sacar el ultimo campo


select secuencia from tabla where c1 = valor and c 2 = valor and c3 = valor

esto te da un recorset haces un for por desde 0 hasta el numero de coincidencias del rs y validas cual es el mayor una vez que sale del for le sumas uno y listo tienes el numero de los planos con un contador mas uno

Saludos


Si no lo entiendes me avisas para ver si me explico mejor



sdemingo
26 de Noviembre del 2003
Muy buena opción, siempre y cuando los números de los planos sean consecutivos y no pueda haber omisiones, me explico, imaginemos estos planos:

P01
P02
P03
P04

Si se elimina el plano P03

P01
P02
P04

Al hacer tu método, saldrían 3 registros, + 1 = 4. Estaríamos dando de alta un registro duplicado en la Base de Datos.

Saludos
sdemingo