Hola rishart, no creo que sea por Sql Server, sino por la propia consulta de selección.
De todas formas el objeto DataEnvirontment dá demasiados problemas a la hora de seleccionar registros. Lo que podrías hacer es prescindir de él y cargar los datos en tiempo de ejecución.
Supongamos que quieres mostrar en el DataReport 3 campos cuyos registros estén entre dos fechas (las fechas están en dos TextBox).
En el diseño del DataReport hemos dejado los RptTextBox en blanco (no enlazados)
Código:
Dim Fecha1 As String, Fecha2 As String
Dim sql As String
Dim rs As New ADODB.Recordset
Fecha1 = Format(Text1, "yyyymmdd")
Fecha2 = Format(Text2, "yyyymmdd")
sql = "Select * FROM Leche WHERE Periodo Between '" & _
Fecha1 & "' And '" & Fecha2 & "' Order By Periodo"
With rs
.ActiveConnection = conex ' tu conexión a la BD
.CursorType = adOpenStatic
.CursorLocation = adUseClient
.Open sql
End With
With DataReport1
With .Sections("Sección1").Controls
.Item("Texto1").DataField = rs("Periodo").Name
.Item("Texto2").DataField = rs("NombreCampo1").Name
.Item("Texto3").DataField = rs("NombreCampo2").Name
End With
Set .DataSource = rs
.Show
End With
Un saludo