SoloCodigo
Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: jhonilson en Martes 11 de Enero de 2005, 17:14
-
<_< Estoy accediendo a una tabla en access que yo mismo cree, y he descubierto que access me a modificado el orden de los registros en esta.
Yo introduje los datos de mayor a menor, y access me los revolvio todos. Para mi es muy importante que esten ordenados, ya que yo necesito encontrar los datos anterior y posterior al valor que estoy buscando. Por ejemplo si tengo la siguinte tabla:
1
2
3
4
5
Entonces mando al programa a que busque el valor de 2.5, como este valor no esta en tabla el debe mandarme los valores extremos, osea, 2 y 3. Aqui les pongo un pedazo del codigo que estoy utilizando para esto.
Private Sub Command2_Click()
Dim SearchCriteria
RAN = (Text7.Text + 273.15) * 1.8
SearchCriteria = RAN
menor = SearchCriteria
igual = SearchCriteria
If Trim$(SearchCriteria) <> "" Then
SearchCriteria = "TEMPERATURA> '" + SearchCriteria + "'"
menor = "TEMPERATURA< '" + menor + "'"
igual = "TEMPERATURA= '" + igual + "'"
Data1.Recordset.FindFirst SearchCriteria
Data3.Recordset.FindLast menor
Data4.Recordset.FindFirst igual
If Text5.Text <> SearchCriteria Then
Text5.Text = RAN
Text6.Text = ""
End If
t3 = Text2.Text
t1 = Text4.Text
h3 = Text1.Text
h1 = Text3.Text
t2 = Text5.Text
pr1 = Text8.Text
pr3 = Text10.Text
h2 = ((h3 - h1) / (t3 - t1)) * (t2 - t1) + h1
pr2 = ((pr3 - pr1) / (t3 - t1)) * (t2 - t1) + pr1
Label2.Caption = h2
Text6.Text = h2
Text9.Text = pr2
End If
-
Sin entrar en consideraciones de lo que hace el código que posteas (casi mejor que no) te diría que ordenes tu el recorset mediante la correspondiente cláusula ORDER BY.
RAN = (Text7.Text + 273.15) * 1.8
SearchCriteria = "TEMPERATURA> '" + SearchCriteria + "'"
Es que no pude aguantar... Este tipo de concatenaciones son la bomba. Te recomiendo usar + como operador y & como carácter para concatenar strings. Otra cosa, ¿el campo TEMPERATURA es un string? Esto me hace pensar otra cosa: ¿no dirás que los registros están desordenados porque te aparecen en una secuencia de este estilo?:
1
10
11
2
3
4
40
5
51
6
Adeus.
-
Dejame revisar lo que dices, el campo si es cierto que lo configure como texto, pero eso lo hice porque me daba problemas a la hora de buscar registros en campos configurados como numero.
De todas maneras dejame intentar de nuevo.
MUCHAS GRACIAS :)