none
No coindicen los tipos de datos en la expresion de criterios RRS feed

  • Pregunta

  • Aqui les dejo mi codigo

    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click

    Dim provider As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source ="

    Dim dataFile As String = "E:\Serna Impresos 2016\Serna Impresos 2016\Serna Impresos 2016\bin\Debug\SIDB.accdb"

    Dim connString As String = provider & dataFile

    Dim myConnection As OleDbConnection

    Dim cmd As OleDbCommand

    Dim qHrsTrab As String = "SELECT SUM(Horas_trabajadas) FROM Trabaja WHERE IdEmpleado = '" + TextBox2.Text + "' AND Fecha >= '" + consultaIniDTP.Value + "' AND Fecha <= '" + ConsultaFinDTP.Value + "'"

    myConnection = New OleDbConnection(connString)

    Try

    myConnection.Open()

    cmd = New OleDbCommand(qHrsTrab, myConnection)

    Dim reader As OleDbDataReader = cmd.ExecuteReader()

    While reader.Read

    hrsTrabajadastxt.Text = reader.Item(0)

    End While

    reader.Close()

    cmd.Dispose()

    myConnection.Close()

    Catch ex As Exception

    MessageBox.Show(ex.Message)

    End Try

    End Sub


    • Editado SernaT7 miércoles, 13 de julio de 2016 22:58
    miércoles, 13 de julio de 2016 22:56

Respuestas

  • Hola ,los apóstrofes (') no son necesarios

    Dim qHrsTrab As String = "SELECT SUM(Horas_trabajadas) FROM Trabaja WHERE IdEmpleado = " + TextBox2.Text
     + " AND Fecha >= " + consultaIniDTP.Value + " AND Fecha <= " + ConsultaFinDTP.Value 
     

    y no va a faltar en el foro quien te diga que los hagas con parámetros,por ser el motor OleDb los parámetros se toman en el orden que los pones , es decir el orden de las ?

    Dim cmd As OleDbCommand Dim qHrsTrab As String = "SELECT SUM(Horas_trabajadas) FROM Trabaja WHERE IdEmpleado = ? AND Fecha >= ? AND Fecha <= ?"

    myConnection = New OleDbConnection(connString)

    Try

    myConnection.Open()

    cmd = New OleDbCommand(qHrsTrab, myConnection)

    cmd.Parameters.AddWithValue("IdEmpleado", TextBox2.Text); cmd.Parameters.AddWithValue("FechaIni", consultaIniDTP.Value); cmd.Parameters.AddWithValue("FechaFin", ConsultaFinDTP.Value );



    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.






    miércoles, 13 de julio de 2016 23:25