Problemas con el Recordset.
    
		    Mi problema es el siguiente, tengo un form con un subform, el form me sirve para poner unos parametros de fechas y que el subform solo me saque un periodo de fechas (siempre cinco dias), en el subform hay tres campos 聯Trabajador聰, 聯Horas_Totales聰 y 聯Horas_Extras聰, luego un campo independiente que es la resta de las 聯Horas_Totales聰 menos las 聯Horas_Extras聰 que se llama 聯Base聰, que al parametrizarlo a cinco dias el valor tiene que ser 45.
Abro el Recorset, para que vea si todos los registros cumplen esa condici贸n y sino que me avise que trabajador no cumple la condici贸n.
La complicaci贸n (para mi) viene al tener que agrupar los registros por trabajador, ya que pueden tener varios registros en un mismo dia para el mismo trabajador... entonces es imprescindible agruparlo mediante una consulta (creo que hay es donde tengo el fallo) pongo el siguiente codigo al Cargar el subform.
Private Sub Form_Load()
Dim rs As ADODB.Recordset
Dim conn As ADODB.Connection
Dim strSQL As String
Dim stDocName As String
    
strSQL = Me.RecordSource
Set rs = New ADODB.Recordset
Set conn = CurrentProject.Connection
rs.Open strSQL, conn, adOpenDynamic, adLockOptimistic
    
rs.MoveFirst
Do While Not rs.EOF
If rs("Base") <> 45 Then
        
If MsgBox("No cuadran los Partes de Trabajo de:" & vbCrLf & "" & vbCrLf & rs("TRABAJADOR") & " " & rs("Base") & vbCrLf & "" & vbCrLf & "驴Desea Imprimir Justificante?", vbYesNo, "Vehiculos Mantenimiento I.T.V.") = vbYes Then
            
stDocName = "TRABAJADORES_FALTA_PARTE"
DoCmd.OpenReport stDocName, acNormal
End If
End If
rs.MoveNext
Loop
DoCmd.Close acForm, "TRABAJADORES_AVISO_FALTA_PARTE_FORM"
End Sub
Y en la siguiente linea me da error.
rs.Open strSQL, conn, adOpenDynamic, adLockOptimistic
El error me dice lo siguiente:
 
Se ha producido el error 聭-2147217900 (80040e14)聮 en el tiempo de ejecuci贸n:
Instrucci贸n SQL no valida; se esperaba 聭DELETE聮,聮INSERT聮,聮PROCEDURE聮,聮SELECT聮,聮UPDATE聮
El mismo codigo puesto en otros formularios donde los registros no estan agrupados funciona perfectamente.
Perdonad por el rollo, pero es que me tiene loca... agradeceria mucho que pudieran ayudarme.
Gracias.
	    
    Abro el Recorset, para que vea si todos los registros cumplen esa condici贸n y sino que me avise que trabajador no cumple la condici贸n.
La complicaci贸n (para mi) viene al tener que agrupar los registros por trabajador, ya que pueden tener varios registros en un mismo dia para el mismo trabajador... entonces es imprescindible agruparlo mediante una consulta (creo que hay es donde tengo el fallo) pongo el siguiente codigo al Cargar el subform.
Private Sub Form_Load()
Dim rs As ADODB.Recordset
Dim conn As ADODB.Connection
Dim strSQL As String
Dim stDocName As String
strSQL = Me.RecordSource
Set rs = New ADODB.Recordset
Set conn = CurrentProject.Connection
rs.Open strSQL, conn, adOpenDynamic, adLockOptimistic
rs.MoveFirst
Do While Not rs.EOF
If rs("Base") <> 45 Then
If MsgBox("No cuadran los Partes de Trabajo de:" & vbCrLf & "" & vbCrLf & rs("TRABAJADOR") & " " & rs("Base") & vbCrLf & "" & vbCrLf & "驴Desea Imprimir Justificante?", vbYesNo, "Vehiculos Mantenimiento I.T.V.") = vbYes Then
stDocName = "TRABAJADORES_FALTA_PARTE"
DoCmd.OpenReport stDocName, acNormal
End If
End If
rs.MoveNext
Loop
DoCmd.Close acForm, "TRABAJADORES_AVISO_FALTA_PARTE_FORM"
End Sub
Y en la siguiente linea me da error.
rs.Open strSQL, conn, adOpenDynamic, adLockOptimistic
El error me dice lo siguiente:
Se ha producido el error 聭-2147217900 (80040e14)聮 en el tiempo de ejecuci贸n:
Instrucci贸n SQL no valida; se esperaba 聭DELETE聮,聮INSERT聮,聮PROCEDURE聮,聮SELECT聮,聮UPDATE聮
El mismo codigo puesto en otros formularios donde los registros no estan agrupados funciona perfectamente.
Perdonad por el rollo, pero es que me tiene loca... agradeceria mucho que pudieran ayudarme.
Gracias.
