Visual Basic - Ayuda en filtro de Ado a datagrid

Life is soft - evento anual de software empresarial
 
Vista:

Ayuda en filtro de Ado a datagrid

Publicado por Diego Jaramillo (8 intervenciones) el 08/11/2006 22:08:09
Hola a todos los del foro.

De antemano Gracias.

mi problema es el siguiente:

1.Tengo Unn control ado enlazado a una base de dato y debo hacer un filtro que me muestre el numero de registro que hay entre una fecha inicial y una final.
para lo demas estaba usando algo como esto:

adoingresos.Recordset.Filter = "Numero = '" & txtfiltro.Text & "'"

pero esto solo funciona para un registro especifico, y lo que necesito como lo dije anterior mente es que me muestre todos los que halla a partir de la fecha inicial hasta la fecha final.

2.Necesito imprimir el Datagrid con un titulo y un logo de la empresa, y no tengo ni idea de imprimir, encontre una funcion pero no se como aplicarla; el que me pueda ayudar como aplicar la fucnion o sepa una manera mejor ayudeme porfavor.
la funcion es la siguiente:

Public Function ImprimirDtg(ByVal Datos As DataGrid, ByVal RsDtg As Recordset, ByVal tit As String) As Long
Dim Filas, Columnas As Integer
Dim Texto As String
Dim Titulo As String
Dim Cabecera As String
Dim Lineas As Integer 'numero de lineas por pagina, aproximadamente 82 x pagina
Dim AnchoColumna(20) As Integer
Dim TituloColumnas As String
Datos.Enabled = False
Titulo = Space(40) & tit
Cabecera = " - Pagina: "
For Columnas = 1 To Datos.Columns.Count
RsDtg.MoveFirst
Do While RsDtg.EOF = False
If AnchoColumna(Columnas) < Len(Datos.Columns(Columnas - 1).Caption) Then AnchoColumna(Columnas) = Len(Datos.Columns(Columnas - 1).Caption)
If Len(RsDtg(Datos.Columns(Columnas - 1).DataField)) > AnchoColumna(Columnas) Then AnchoColumna(Columnas) = Len(RsDtg(Datos.Columns(Columnas - 1).DataField))
RsDtg.MoveNext

Loop
TituloColumnas = TituloColumnas + Datos.Columns(Columnas - 1).Caption + Space((AnchoColumna(Columnas)) - (Len(Datos.Columns(Columnas - 1).Caption))) + Space(3)
Next Columnas
Printer.Font.Size = 8
Printer.Font.Bold = True
Printer.Font.Name = "Courier New"
Printer.Orientation = vbPRORPortrait
Printer.Print Titulo
Printer.Print Cabecera; Printer.Page
Printer.Print Space(3) + TituloColumnas
Printer.Font.Bold = False
Filas = 1
RsDtg.MoveFirst
Do While RsDtg.EOF = False
For Columnas = 1 To Datos.Columns.Count
If IsNull(RsDtg(Datos.Columns(Columnas - 1).DataField)) Then

Texto = Texto + Space(AnchoColumna(Columnas)) + Space(3)
Else

Texto = Texto + RsDtg(Datos.Columns(Columnas - 1).DataField) + Space(AnchoColumna(Columnas) - Len(RsDtg(Datos.Columns(Columnas - 1).DataField))) + Space(3)
End If
Next Columnas
Printer.Print Space(3) + Texto
Texto = ""
Filas = Filas + 1
If Filas = 85 Then
Filas = 1
Printer.NewPage
Printer.Print Titulo
Printer.Print Cabecera; Printer.Page
Printer.Print Space(3); TituloColumnas
End If
RsDtg.MoveNext

Loop
Printer.Print " "
Printer.EndDoc
Datos.Enabled = True

End Function


Muchas gracia sy ojala me pueda ayudar

Bye

The evolucion
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda en filtro de Ado a datagrid

Publicado por julio (48 intervenciones) el 08/11/2006 23:40:51
Porque no lo haces con un Adodc1 no enlazado en tiempo de diseño.... y sobre este con codigo le haces un Select?
Y luego a ese adodc1 lo estableces en el DataGrid
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda en filtro de Ado a datagrid

Publicado por julio (48 intervenciones) el 09/11/2006 04:04:00
Que haga un Select
Adodc1.CommandType = adCmdText
'Adodc1.RecordSource = "Select * From Tabla Where campo = " & txtNumero
adodc1.refresh

set datagrid.recordsource = adodc1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda en filtro de Ado a datagrid

Publicado por Natalia Camino (88 intervenciones) el 09/11/2006 09:45:26
La consulta para filtrar datos entre fechas sería así:

SQL = "Select * From [LaTabla] where [CampoFecha] Between #" & _
Format(Text1, "mm/dd/yyyy") & "# AND #" & Format(Text2, "mm/dd/yyyy") & "#"

Adodc1.RecordSource = SQL
Adodc1.Refresh
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda en filtro de Ado a datagrid

Publicado por dfasdfsdf (7 intervenciones) el 15/12/2006 21:48:51
la respuesta es esta ok

abre un rs ejemplo

rs.open"select * from tabla where like ' "& txtbusqueda &" %' '"
haci se hace un filtro ok
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar