Consulta ACCESS mediante Formulario

Junto con saludarte y agradecer desde ya tu tiempo, mi consulta es la siguiente:
Tengo una tabla que tiene dos campos (sencillo), la primera es la trama, trancha, intervalo (como se le quiera llamar) y la segunda es tasa, rate, etc
trancha | tasa, el criterio de mi consulta apunta al campo trancha, es decir, los datos de trancha son, por ejemplo 1, 10, 20, el parámetro que yo le daré es 8, por lo que debería de entregarme los dos registros entre los que se encuentra el parámetro enviado, vale decir,
1 y 10.
Y la segunda parte de la consulta es... Como desde un formulario le envío el numero 8 para que lo asuma como parámetro del criterio dentro de la consulta.
Como te dije anteriormente, Muchas Gracias por tu tiempo.
Saludos.
Carlos Alberto

1 respuesta

Respuesta
1
El campo intervalo de la tabla debe ser de tipo numérico, indexado sin duplicados, y requerido.
Luego cualquier consulta que realices dará los resultados, por defecto, ordenados ascendentemente (es requisito para que funcione el código)
Creas un módulo nuevo cuyo código es:
Option Compare Database
Global INICIO, FIN
Function busca(parametro As Integer)
Dim rs As New ADODB.Recordset
 rs.Open "tabla1", CurrentProject.AccessConnection, adOpenDynamic, adLockOptimistic
 FIN = 0
 INICIO = 0
 While Not rs.EOF
   reg = rs.Fields("intervalo")
   If reg = parametro And FIN = 0 Then
      FIN = reg
   End If
   rs.MoveNext
 Wend
 rs.Close
Forms.Item("formulario1").Texto3 = INICIO
Forms.Item("formulario1").Texto5 = FIN
End Function
Nota: Formulario1 es el nombre del formulario donde colocas el texto a buscar. Debes insertar 2 textbox, en uno de ellos irá el intervalo anterior (inicio) y en el otro el siguiente (fin). Asimismo un botón de comando con el siguiente código:
Private Sub Comando2_Click()
If Not IsNull(Texto0) Or Texto0 "" Then
    busca Texto0
End If
End Sub
Saludos. Jorge
PD. Creo una función porque queda la posibilidad de que la invoques desde cualquier formulario/consulta de la base. Si te parece mas claro, puedes reemplazar el comando "busca texto0" del botón por las líneas de código entre function ... end function .-
Pd2.
Texto0 es un textbox donde coloco el valor a buscar
texto3 es un textbox donde aparece el intervalo anterior al valor buscado
texto5 es un textbox donde aparece el intervalo siguiente al valor buscado

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas