Comparar cadenas alfanuméricas
Publicado por yf3193cu (5 intervenciones) el 09/06/2008 12:08:43
Hola a todos.
Tengo que comparar dos cadenas alfanuméricas, pero no encuentro la forma de hacerlo, si utilizo StrComp(Cadena1, Cadena2, Método) indistintamente del método que ponga (binary o Text) siempre obtengo el error "Desbordamiento".
Estoy comparando AF2562 con Z8467.
Si realizo la comparación directa If Cadena1 > Cadena1, no lo detecta.
Lo que hago es buscar el año de matriculación en este bucle.
V_Matricula_Serie tiene Z8467 y en V_Matricula están las diferentes matriculas a 31-12 de cada año
Dim V_Resul_Anno As Byte
V_Resul_Anno = 9
Do While .EOF = False
V_Prov = .Fields("PROV")
V_Matricula = .Fields("MATRICULA")
V_Anno = .Fields("ANNO")
'If V_Matricula > V_Matricula_Serie Or V_Matricula = V_Matricula_Serie Then
V_Resul_Anno = Strings.StrComp(V_Matricula, V_Matricula_Serie, vbBinaryCompare)
If V_Resul_Anno = 1 Then
'If V_Matricula > V_Matricula_Serie Then
V_AnnoG = V_Anno
Exit Do
End If
If V_Resul_Anno = 0 Then
'If V_Matricula = V_Matricula_Serie Then
V_AnnoG = V_Anno
Exit Do
End If
Rst.MoveNext
Loop
¿Alguien me puede indicar como realizar la comparación?
Gracias.
Tengo que comparar dos cadenas alfanuméricas, pero no encuentro la forma de hacerlo, si utilizo StrComp(Cadena1, Cadena2, Método) indistintamente del método que ponga (binary o Text) siempre obtengo el error "Desbordamiento".
Estoy comparando AF2562 con Z8467.
Si realizo la comparación directa If Cadena1 > Cadena1, no lo detecta.
Lo que hago es buscar el año de matriculación en este bucle.
V_Matricula_Serie tiene Z8467 y en V_Matricula están las diferentes matriculas a 31-12 de cada año
Dim V_Resul_Anno As Byte
V_Resul_Anno = 9
Do While .EOF = False
V_Prov = .Fields("PROV")
V_Matricula = .Fields("MATRICULA")
V_Anno = .Fields("ANNO")
'If V_Matricula > V_Matricula_Serie Or V_Matricula = V_Matricula_Serie Then
V_Resul_Anno = Strings.StrComp(V_Matricula, V_Matricula_Serie, vbBinaryCompare)
If V_Resul_Anno = 1 Then
'If V_Matricula > V_Matricula_Serie Then
V_AnnoG = V_Anno
Exit Do
End If
If V_Resul_Anno = 0 Then
'If V_Matricula = V_Matricula_Serie Then
V_AnnoG = V_Anno
Exit Do
End If
Rst.MoveNext
Loop
¿Alguien me puede indicar como realizar la comparación?
Gracias.
Valora esta pregunta


0