Access - Comparar cadenas alfanuméricas

   
Vista:

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.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Comparar cadenas alfanuméricas

Publicado por Chea (1015 intervenciones) el 09/06/2008 16:47:09
Si te fijas en la ayuda de strComp(), devuelve un tipo variant (integer), luego el resultado no puede caber en un campo tipo byte que es lo que tú has definido.

No entiendo bien la moda de usar variables tipo byte. En la inmensa mayoría de los casos no ganas nada y, encima, pueden darte problemas.

Saludos.
José Bengoechea Ibaceta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar