Foros del Web » Programación para mayores de 30 ;) » .NET »

Ayuda Consulta SQL

Estas en el tema de Ayuda Consulta SQL en el foro de .NET en Foros del Web. Hola, la idea es hacer un filtro para la consulta SQL, donde me traiga la suma de la todos los registros de la columna total ...
  #1 (permalink)  
Antiguo 13/01/2007, 10:05
 
Fecha de Ingreso: junio-2006
Mensajes: 61
Antigüedad: 17 años, 10 meses
Puntos: 2
Ayuda Consulta SQL

Hola,

la idea es hacer un filtro para la consulta SQL, donde me traiga la suma de la todos los registros de la columna total donde mes sea igual al seleccionado en un combobox. el código que tengo es el siguiente:

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim Conexion As OleDb.OleDbConnection
Dim comando As OleDb.OleDbCommand
Dim lector As OleDb.OleDbDataReader
Dim DateSelectedByIndex As Integer
DateSelectedByIndex = ComboBox2.SelectedIndex + 1
Conexion = New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLED B.4.0;Data Source=C:\Documents and Settings\Web Developer\Mis documentos\HMR\HMR Comunicaciones\HMR Comunicaciones\HMRBD.mdb")
comando = New OleDb.OleDbCommand("select sum(Total) from Llamadas_Local where Fecha Between 01/DateSelectedByIndex/2007 and 30/DateSelectedByIndex/2007", Conexion)
Conexion.Open()
lector = comando.ExecuteReader
If lector.Read() Then
TextBox1.Text = "$" & Convert.ToString(lector(0))
End If
Conexion.Close()
End Sub

si ven DateSelectedByIndex es una variable que contiene el numero del mes y lo sumo en uno porque no hay mes 0; creo que es claro. pero no me la reconoce como una variable, lo que nececito saber es como hago para que me la reconozca como una variable, he intentado con comillas dobles, simples, arroba, de todo, y nada. si coloco una fecha cualquiera si me trae los registros, es decir si coloco fecha between 01/01/2007 and 30/01/2007 me trae los de enero(el total), osea que funciona el codigo, pero nececito hacer el filtro.


Agradezco comentarios...


Camilo Ospina Molano
Bogotá - Colombia
  #2 (permalink)  
Antiguo 13/01/2007, 13:32
 
Fecha de Ingreso: mayo-2004
Ubicación: Guadalajara, Jalisco, México
Mensajes: 724
Antigüedad: 20 años
Puntos: 6
Re: Ayuda Consulta SQL

dejame veo..
  #3 (permalink)  
Antiguo 13/01/2007, 13:37
 
Fecha de Ingreso: mayo-2004
Ubicación: Guadalajara, Jalisco, México
Mensajes: 724
Antigüedad: 20 años
Puntos: 6
Re: Ayuda Consulta SQL

Dim SQL As String = ""
Dim IndexMex As Integer = 5
SQL = "select sum(Total) from Llamadas_Local where Fecha Between 01/{0}/2007 and 30/{0}/2007"
SQL = String.Format(SQL, IndexMex)
  #4 (permalink)  
Antiguo 13/01/2007, 13:47
Avatar de magosc  
Fecha de Ingreso: diciembre-2006
Mensajes: 72
Antigüedad: 17 años, 4 meses
Puntos: 0
Re: Ayuda Consulta SQL

Ya probaste de esta manera:

Código:
 comando = New OleDb.OleDbCommand("select sum(Total) from Llamadas_Local where Fecha Between 01/" & DateSelectedByIndex & "/2007 and 30/" & DateSelectedByIndex & "/2007", Conexion)
o talves con:

Código:
 comando = New OleDb.OleDbCommand("select sum(Total) from Llamadas_Local where Fecha Between 01/'" & DateSelectedByIndex & "'/2007 and 30/'" & DateSelectedByIndex & "'/2007", Conexion)
Espero te sirva.....
  #5 (permalink)  
Antiguo 30/01/2007, 11:01
 
Fecha de Ingreso: junio-2006
Mensajes: 61
Antigüedad: 17 años, 10 meses
Puntos: 2
Re: Ayuda Consulta SQL

Resolvi el problema, simplemente el error que tenia era que despues y antes del ampersan (&) tiene que ir espacio, si queda pegado con la variable, no funciona; que raro eh

comando = New OleDb.OleDbCommand("select sum(Total) from Llamadas_Local where Fecha Between 01/'" & DateSelectedByIndex & "'/2007 and 30/'" & DateSelectedByIndex & "'/2007", Conexion)

Un saludo

Camilo Ospina Molano
Bogotá - Colombia
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:09.