• Sábado 9 de Noviembre de 2024, 02:23

Autor Tema:  DATOS!!!! consulta a Access desde VB  (Leído 3218 veces)

julix94

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
DATOS!!!! consulta a Access desde VB
« en: Lunes 14 de Marzo de 2011, 19:37 »
0
Hola:

estoy desarrollando una aplicacion que permite ingresar ventas (ya habia hecho una pregunta por ese programa....) a una base de datos ACCESS con las columnas MES, MEDICO, PRODUCTO y CANTIDAD.... pero la segunda parte del proyecto consiste en poder consultar cual fue la venta mas alta pero condicionando la consulta con MES y PRODUCTO es decir elijo el mes y el producto y en dos textbox  o un datagridview me tiene ke aparecer cual fue el medico y la cantidad....

coloque este codigo que corresponde al boton "Consultar" pero me salta un error:

NOTA: CN es la referencia a la cadena OLEDB del archivo Access / y los DR son 2 y 4 porque en la base de datos la columna 2 es el medico y la 4 la cantidad...

ERROR: No se controló System.Data.OleDb.OleDbException

  ErrorCode=-2147217900

  Message=Error de sintaxis (coma) en la expresión de consulta 'Producto='Botusin',Mes='Abril''.

  Source=Microsoft Access Database Engine

CODIGO PARA CONSULTA:
 Dim CMD As New OleDb.OleDbCommand("SELECT MAX(Cantidad) AS variable FROM Ventas WHERE Producto='" & CbxProductoConsulta.Text & "',Mes='" & CbxMesConsulta.Text & "'", CN)
    Dim DR As OleDb.OleDbDataReader

    CN.Open()
    DR = CMD.ExecuteReader

    If DR.Read Then
      txtMedicoConsulta.Text = DR(2)
      txtCantidadConsulta.Text = DR(4)
    Else
      MsgBox("ERROR")
    End If
    CN.Close()
desde ya muchas gracias

diaz julian

Josselo

  • Miembro activo
  • **
  • Mensajes: 50
  • Nacionalidad: pe
    • Ver Perfil
    • iJS Recursos web ilimitados
Re: DATOS!!!! consulta a Access desde VB
« Respuesta #1 en: Martes 15 de Marzo de 2011, 18:48 »
0
Ese error es por la cadena de conexion...
revisa que este bien echo o sino ponlo aqui para verlo

julix94

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: DATOS!!!! consulta a Access desde VB
« Respuesta #2 en: Martes 15 de Marzo de 2011, 19:16 »
0
mira ese error se me soluciono con este código de consulta pero aun así me trae otro error: la situación es así:

1) El SELECT esta armado para traer los siguientes datos (así están ordenas las columnas en la bd...):
Posicion 0 = Mes.
Posicion 1 = Medico.
Posicion 2 = Producto.
Posicion 3 =Cantidad Máxima.

el Read que usaba era asi:

If DR.Read Then
txtMedicoConsulta.Text = DR(1) ----> Es el Medico
txtCantidadConsulta.Text = DR(3) ----> Es el producto.

Como yo necesito el medico y su cantidad, pero condicionados por quien fue el medico que mas vendió en cierto mes, el código seria asi:

Dim CMD As New OleDb.OleDbCommand("SELECT medico, MAX(Cantidad) AS variable FROM Ventas WHERE Producto = '" & CbxProductoConsulta.Text & "' AND Mes = '" & CbxMesConsulta.Text & "' GROUP BY 1 ORDER BY 2; ", CN)

 Dim DR As OleDb.OleDbDataReader

        CN.Open()
        DR = CMD.ExecuteReader

        If DR.Read Then
            txtCantidadConsulta.Text = DR(1)
            txtMedicoConsulta.Text = DR(0)
        Else
            MsgBox("ERROR")
        End If
        CN.Close()

...y me sigue tirando este maldito errror:

No se controló System.Data.OleDb.OleDbException
ErrorCode=-2147217887
Message=Ha intentado ejecutar una consulta que no incluye la expresión especificada 'Medico' como parte de una función de agregado.
Source=Microsoft Access Database Engine     :argh:  :argh:  :argh:

gracias