ADODC - AYUDA please!

r0y
30 de Enero del 2004
Hola, les comento como estoy trabajando, y despues el problema. Me
estoy
conectando a la base de datos con el ocx ADODC, y la represento en un
datagrid. Todo funciona bien, la interface funciona con filtros
(http://r0y.webcindario.com/ot.gif), pero lo que necesito es que le
asigne a
una variable cuando activo el boton filtrar la suma de toda la columna
"Horas trabajadas". Con sql seria facil si me hubiese conectado desde
codigo, pero lo hice desde el adocd, ese es el problema. Bueno, aca
incluyo
el código, si alguna alma apiadada decide ayudarme, (que estare muy
agradecido porque hace semanas que lo estoy buscando) que me mande un
mail y
le paso el proyecto entero.

---------------------------


Private Sub checkFecha_Click()
If checkFecha.Value = 0 Then
txtDesde.Enabled = False
txtHasta.Enabled = False
Label3.ForeColor = &H8000000C
Label4.ForeColor = &H8000000C
txtDesde.BackColor = &HC0C0C0
txtHasta.BackColor = &HC0C0C0

ElseIf checkFecha.Value = 1 Then
txtDesde.Enabled = True
txtHasta.Enabled = True
txtDesde = ""
txtHasta = ""
Label3.ForeColor = &H80000008
Label4.ForeColor = &H80000008
txtDesde.BackColor = &HFFFFFF
txtHasta.BackColor = &HFFFFFF
End If

End Sub

Private Sub cmdFiltrar_Click()
If txtOT <> "" And txtEmpleado = "" And checkFecha.Value = 0 Then
datos.Recordset.Filter = "OT LIKE '" + txtOT + "'"
End If

If txtEmpleado <> "" And txtOT = "" And checkFecha.Value = 0 Then
datos.Recordset.Filter = "Empleado LIKE '" + txtEmpleado + "'"
End If

If txtEmpleado <> "" And txtOT <> "" And checkFecha.Value = 0 Then
datos.Recordset.Filter = "Empleado LIKE '" + txtEmpleado + "' AND OT
LIKE '" + txtOT + "'"
End If

If txtOT <> "" And txtEmpleado = "" And checkFecha.Value = 1 Then
If txtDesde <> "" And txtHasta <> "" Then
datos.Recordset.Filter = "OT LIKE '" + txtOT + "' AND Día > '" +
txtDesde + "' AND Día < '" + txtHasta + "'"
Else
MsgBox "Llene los campos.", vbInformation
End If
End If

If txtEmpleado <> "" And txtOT = "" And checkFecha.Value = 1 Then
If txtDesde <> "" And txtHasta <> "" Then
datos.Recordset.Filter = "Empleado LIKE '" + txtEmpleado + "'
AND Día > '" + txtDesde + "' AND Día < '" + txtHasta + "'"
Else
MsgBox "Llene los campos.", vbInformation
End If
End If

If txtEmpleado <> "" And txtOT <> "" And checkFecha.Value = 1 Then
If txtDesde <> "" And txtHasta <> "" Then
datos.Recordset.Filter = "Empleado LIKE '" + txtEmpleado + "'
AND OT LIKE '" + txtOT + "' AND Día > '" + txtDesde + "' AND Día < '"
+
txtHasta + "'"
Else
MsgBox "Llene los campos.", vbInformation, "Falta Información"
txtDesde.SetFocus
End If
End If

If txtOT = "" And txtEmpleado = "" And checkFecha.Value = 1 Then
If txtDesde <> "" And txtHasta <> "" Then
datos.Recordset.Filter = "Día > '" + txtDesde + "' AND Día <
'" + txtHasta + "'"
Else
MsgBox "Llene los campos.", vbInformation, "Falta Información"
txtDesde.SetFocus
End If
End If

End Sub

Private Sub cmdsacarfiltro_Click()
datos.Recordset.Filter = ""
datos.Refresh
End Sub

Private Sub Datos_WillMove(ByVal adReason As ADODB.EventReasonEnum,
adStatus
As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
datos.Caption = "Registros totales: " & datos.Recordset.RecordCount
End Sub

Private Sub Form_Load()
txtDesde.Enabled = False
txtHasta.Enabled = False
Label3.ForeColor = &H8000000C
Label4.ForeColor = &H8000000C
txtDesde.BackColor = &HC0C0C0
txtHasta.BackColor = &HC0C0C0
End Sub

Private Sub salir_Click()
End
End Sub

Private Sub txtHasta_GotFocus()
cmdfiltrar.Default = True
End Sub

Private Sub txtHasta_LostFocus()
cmdfiltrar.Default = False
End Sub

Private Sub txtOT_GotFocus()
cmdfiltrar.Default = True
End Sub

Private Sub txtOT_LostFocus()
cmdfiltrar.Default = False
End Sub

Private Sub txtEmpleado_GotFocus()
cmdfiltrar.Default = True
End Sub

Private Sub txtEmpleado_LostFocus()
cmdfiltrar.Default = False
End Sub


------------------------


Gracias, nos vemos.

mena
30 de Enero del 2004
con el control ADO se puede hacer la consulta que quieres de la siguiente manera:

Adodc1.RecordSource="Select * from Alumno Where Edad>=15 And Edad<=20 ORDER BY Nombre"
Adodc1.Refresh

'Nota: ES IMPORTANTE QUE EL CONTROL ADO EN LA PROPIEDAD RECORDSOURE NO ESTE ESPECIFICADO COMO TABLA ESTO SE VE EN LA PROPIEDAD RECORDSOURCE DESPUES EN CUADRO QUE APARECE EXISTE UN COMBO QUE DICE TIPO DE COMANDO ESTE POR DEFAULT ES AdCmdUnKnow si aqui esta como
AdCmdTable no podras hacer estas consultas SQL