| |||
Como obtener el rango entre 2 DateTimePicker? Hola, Necesito cargar en un DataGridView datos que voy a obtener de una base de access 2003, pero solo debera cargar los que esten comprendidos entre los dos DataTimePicker.Es decir mi formulario tiene un dtpDesde y un dtpHasta pongo esas dos fechas y le doy al boton generar y mi datagridview se debe cargar con datos comprendidos entre esas dos fechas. la base de access tien estas columnas(IdCompra,Fecha,Comprobante,IdSucursal y totad) ademas se debe mostrar ordenada por fecha, segun me han dicho endria que definir un indice.Como hago todo esto? |
| |||
Respuesta: Como obtener el rango entre 2 DateTimePicker? Pues sustituye 'SqlDataAdapter' por 'OleDbDataAdapter' y el espacio de nombres por 'System.Data.OleDb'. |
| |||
Respuesta: Como obtener el rango entre 2 DateTimePicker? No entiendo coño hacerlo todavia. Te dejo el procedimiento que tengo para que me lo modifiques. Private Sub cmdGenerar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdGenerar.Click Dim cnn As New OleDbConnection Dim dt As New DataTable Dim da As New OleDbDataAdapter Dim cmd As New OleDbCommand 'abro la conexion cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\base.mdb" cnn.Open() 'creo el comando y lleno la tabla cmd.Connection = cnn cmd.CommandText = "Compras" cmd.CommandType = CommandType.TableDirect da.SelectCommand = cmd da.Fill(dt) cnn.Close() dgvListado.DataSource = dt End Sub |
| |||
Respuesta: Como obtener el rango entre 2 DateTimePicker? Cita: Bueno, es que más facil no sé como ponerlo. Después de abrir la conexión, coloca el código que te puse en la primera respuesta con la adaptación a OleDb que pongo en la segunda respuesta.
Iniciado por dieama No entiendo coño hacerlo todavia. Te dejo el procedimiento que tengo para que me lo modifiques. Private Sub cmdGenerar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdGenerar.Click Dim cnn As New OleDbConnection Dim dt As New DataTable Dim da As New OleDbDataAdapter Dim cmd As New OleDbCommand 'abro la conexion cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\base.mdb" cnn.Open() 'creo el comando y lleno la tabla cmd.Connection = cnn cmd.CommandText = "Compras" cmd.CommandType = CommandType.TableDirect da.SelectCommand = cmd da.Fill(dt) cnn.Close() dgvListado.DataSource = dt End Sub Modifica las variables para ajustarlas a tu necesidad. p.e. LaTabla = Compras cn = cnn DataGridView1 = dvgListado y elimina las declaraciones de variables al principio (excepto cnn) |
| |||
Respuesta: Como obtener el rango entre 2 DateTimePicker? Aun no he logrado resolver con la informacion de Avellaneda. Por favor alguien que pueda resolverlo desde ya, Muchas gracias |
| |||
Respuesta: Como obtener el rango entre 2 DateTimePicker? Sustituye cmd.CommandText = "Compras" por cmd.CommandText= "Select * From LaTabla " & _ " Where Fecha between '" & dtpDesde.Value.ToString("MM/dd/yyyy") & _ "' And '" & dtpHasta.Value.ToString("MM/dd/yyyy") & "' Order By Fecha" Un saludo. |
| |||
Respuesta: Como obtener el rango entre 2 DateTimePicker? Escribi tal cual me dijiste: Public Class FrmListado Private Sub cmdGenerar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdGenerar.Click Dim cnn As New OleDbConnection Dim dt As New DataTable Dim da As New OleDbDataAdapter Dim cmd As New OleDbCommand 'abro la conexion cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\base.mdb" cnn.Open() 'creo el comando y lleno la tabla cmd.Connection = cnn cmd.CommandText = "Select * From Compras " & _ " Where Fecha between '" & dtpInicio.Value.ToString("MM/dd/yyyy") & _ "' And '" & dtpFinal.Value.ToString("MM/dd/yyyy") & "' Order By Fecha" cmd.CommandType = CommandType.TableDirect da.SelectCommand = cmd da.Fill(dt) cnn.Close() dgvListado.DataSource = dt End Sub y me salio este error sobre da.Fill(dt) No coinciden los tipos de datos en la expresión de criterios. |
| |||
Respuesta: Como obtener el rango entre 2 DateTimePicker? El error te da en tiempo de ejecucion, no? Si es asi lo mas seguro es que sea porr por la consulta SQL, yo no la escribiria asi. Yo pondria (es a lo que estoy acostumbrado): cmd.CommandText = "Select * From Compras " & _ " Where Fecha > '" & Format(dtpInicio,"dd/MM/yyyy") & _ "' And '" & Fecha< Fortmat(dtpFinal,"dd/MM/yyyy") & "' Order By Fecha" Fijate en que las fechas van entre comillas simples, en access creo que deben ir entre # y en Access las fechas las coge en formato europeo primero dia, luego mes y luego año. De todos modos prueba primero la sentencia sql en una consulta access para asegurarte de que funciona. El resto de codigo yo creo que esta bien, asi que lo mas seguro que sea problema de la consulta. Un saludo. |
| |||
Respuesta: Como obtener el rango entre 2 DateTimePicker? Cita: En Access el separador de campos tipo fecha es la almohadilla (#), copia este código tal cual está.
Código:
Espacio de nombres: Imports System.Data.OleDbPrivate Sub cmdGenerar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdGenerar.Click Dim cnn As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; " & _ "data source=" & CurDir() & "\base.mdb") Dim da As New OleDbDataAdapter("SELECT * FROM Compras " & _ " Where Fecha BETWEEN #" & dtpDesde.Value.ToString("MM/dd/yyyy") & _ "# AND #" & dtpHasta.Value.ToString("MM/dd/yyyy") & "# ORDER BY Fecha", cnn) Dim ds As New DataSet da.Fill(ds) dgvListado.DataSource = ds.Tables(0) End Sub |