• Sábado 4 de Mayo de 2024, 10:14

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - julix94

Páginas: [1]
1
VB .NET / TRABANDO CON ACCESS
« en: Sábado 30 de Abril de 2011, 19:34 »
mira alfinal decidi dejar eso de lado mi anterior problema, defino la base y listo pero ahome me surgio otra duda: yo tengo un codigo que me permite ingresar nuevos nombres de medicos a una base de datos, pero ahora la aplicacion trabaja con 4 bases de datos de medicos, entonces necesito adaptar mi codigo para que el usuario previamente elija alguna de las 4 y luego ingrese el codigo....

Código: vb.net
  1. Dim query As String = "INSERT INTO Nombres (Nombre) VALUES(@Nombre)"
  2.         Dim CMD As New OleDb.OleDbCommand(query, CN2)
  3.         CMD.Parameters.AddWithValue("@Nombre", txtNuevoMedico.Text)
  4.  
  5.         CN2.Open()
  6.  
  7.         CMD.ExecuteNonQuery()
  8.  
  9.         CN2.Close()
  10.         MsgBox("Nuevo medico:'" & txtNuevoMedico.Text & "' ha sido ingresado")
  11.  
Gracias

2
ASP .NET / Re: DATOS!!!! consulta a Access desde VB
« en: Martes 15 de Marzo de 2011, 19:16 »
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

3
ASP .NET / DATOS!!!! consulta a Access desde VB
« en: Lunes 14 de Marzo de 2011, 19:37 »
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

Páginas: [1]