Access - consultas con parametros en acces desde basic

 
Vista:

consultas con parametros en acces desde basic

Publicado por Jorge Vazquez (1 intervención) el 21/06/2006 20:07:51
Nesecito saber como puedo mandarle parametros a una consulta almacenada en acces a traves de codigo de Visual Basic 2005

Se que si creas una consulta en acces y le agregas un parametro te sale una pequeña ventana donde la consulta te pide el parametro:

ejemplo:

SELECT DatosGenerales.id, DatosGenerales.Nombre, DatosGenerales.direccion, DatosGenerales.telefono
FROM DatosGenerales
where DatosGenerales.id=@Id

en SQL puedes almacenar procedimientos con parametros y despues desde el codigo de la aplicacion mandas los valores para esos parametros

Habra una forma de hacer algo parecido en Acces...para que no te aparesca la ventana donde la consulta te pide el valor del parametro...
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
Imágen de perfil de Alejandro

Enviar parámetros a una consulta almacenada desde Visual Basic 2005

Publicado por Alejandro (4142 intervenciones) el 19/07/2023 22:37:33
En Access, puedes enviar parámetros a consultas almacenadas utilizando código en Visual Basic 2005. Para evitar que aparezca la ventana emergente solicitando el valor del parámetro, puedes utilizar el método `Parameters` del objeto `QueryDef` en Access. A continuación, te proporciono un ejemplo de cómo enviar parámetros a una consulta almacenada en Access utilizando Visual Basic 2005:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Dim db As New OleDb.OleDbConnection
Dim cmd As New OleDb.OleDbCommand
Dim param As OleDb.OleDbParameter
 
' Establecer la cadena de conexión a tu base de datos de Access
db.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Ruta\Hacia\Tu\BaseDeDatos.mdb"
db.Open()
 
' Crear el comando y asignar la conexión
cmd.Connection = db
cmd.CommandText = "NombreDeTuConsultaAlmacenada"
cmd.CommandType = CommandType.StoredProcedure
 
' Crear y agregar el parámetro a la consulta almacenada
param = New OleDb.OleDbParameter("@Id", OleDbType.Integer) ' Ajusta el tipo de datos según sea necesario
param.Value = 1 ' Asigna el valor del parámetro
cmd.Parameters.Add(param)
 
' Ejecutar la consulta
Dim reader As OleDb.OleDbDataReader = cmd.ExecuteReader()
 
' Recorrer los resultados
While reader.Read()
    ' Realizar las operaciones necesarias con los datos recuperados
    Dim id As Integer = reader.GetInt32(0)
    Dim nombre As String = reader.GetString(1)
    Dim direccion As String = reader.GetString(2)
    Dim telefono As String = reader.GetString(3)
    Console.WriteLine($"ID: {id}, Nombre: {nombre}, Dirección: {direccion}, Teléfono: {telefono}")
End While
 
' Cerrar el DataReader y liberar recursos
reader.Close()
 
' Cerrar la conexión
db.Close()

En este ejemplo, debes ajustar la cadena de conexión (`ConnectionString`) para que apunte a tu base de datos de Access. Luego, establece el nombre de tu consulta almacenada en `cmd.CommandText`.

Después, crea un objeto `OleDbParameter` (`param`) y asigna el nombre del parámetro (`@Id` en este caso) y el valor que deseas pasar. Finalmente, agrega el parámetro a la colección de parámetros de la consulta (`cmd.Parameters.Add(param)`).

Al ejecutar la consulta con `cmd.ExecuteReader()`, podrás recorrer los resultados y realizar las operaciones necesarias con los datos obtenidos.

Recuerda ajustar los tipos de datos y los índices (`GetInt32`, `GetString`, etc.) en función de los tipos de datos y la estructura de tus resultados.

Espero que esta solución te sea útil. ¡Buena suerte con tu proyecto!
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