Visual Basic - Ayuda al llenar grilla desde Sql

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

Ayuda al llenar grilla desde Sql

Publicado por matias (5 intervenciones) el 11/08/2017 23:31:39
Hola que tal gente espero estén excelente, necesito ayuda estoy realizando un pequeño programa que carga datos a una grilla desde una base de datos sql server 2008, funciona bien , ingreso el rut cliente y busca la info de dicho rut cliente pero necesito que solo me traiga ciertos datos solamente, no todos los vinculados a dicho rut de cliente.

Este es el codigo que llena de datos la grilla

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
Sub LLena_Planilla()
Dim StrQueryPlanilla   As String
Dim AdoRegPlanilla     As ADODB.Recordset
Dim StrRutCli          As String
Dim Fecha_Desde        As String
Dim Fecha_Hasta        As String
 
 
 
Call Datos_Planilla
 
 
      StrRutCli = Txt_Rut(0).Text
 
 
     If SSCheck_Fecha.Value = False Then
        Fecha_Desde = "19000101"
        Fecha_Hasta = "99990101"
 
     Else
 
        Fecha_Desde = DT_Fecha_Desde
        Fecha_Hasta = DT_Fecha_Hasta
 
    End If
 
    If Txt_Nro_OP.Text = "" Then
       StrNumOpe_1 = 0
       StrNumOpe_2 = 9999999999#
    Else
       StrNumOpe_1 = Txt_Nro_OP.Text
       StrNumOpe_2 = Txt_Nro_OP.Text
 
    End If
 
    StrQueryPlanilla = ""
    StrQueryPlanilla = StrQueryPlanilla & "EXEC OP_OPERACIONES_OTORGADAS " & StrRutCli & "," & StrNumOpe_1 & "," & StrNumOpe_2 & ",'" & Fecha_Desde & "','" & Fecha_Hasta & "'"
    Set AdoRegPlanilla = BaseDato.Execute(StrQueryPlanilla)
 
     If Not AdoRegPlanilla.EOF Then
         Do Until AdoRegPlanilla.EOF
            MS_Planilla.TextMatrix(MS_Planilla.Rows - 1, 0) = IIf(IsNull(AdoRegPlanilla!OPE_RUT_CLI), " ", AdoRegPlanilla!OPE_RUT_CLI) ' RUT CLI
            MS_Planilla.TextMatrix(MS_Planilla.Rows - 1, 1) = IIf(IsNull(AdoRegPlanilla!OPE_NUM_OPE), " ", AdoRegPlanilla!OPE_NUM_OPE) ' NUM OPE
            MS_Planilla.TextMatrix(MS_Planilla.Rows - 1, 2) = IIf(IsNull(AdoRegPlanilla!CLIENTE), " ", AdoRegPlanilla!CLIENTE) 'NOM CLIENTE
            MS_Planilla.TextMatrix(MS_Planilla.Rows - 1, 3) = IIf(IsNull(AdoRegPlanilla!OPE_FEC_OPE), " ", AdoRegPlanilla!OPE_FEC_OPE) 'FECHA OTOR
            MS_Planilla.TextMatrix(MS_Planilla.Rows - 1, 4) = IIf(IsNull(AdoRegPlanilla!TIPO_DOC), " ", AdoRegPlanilla!TIPO_DOC) 'TIP DOC
            MS_Planilla.TextMatrix(MS_Planilla.Rows - 1, 5) = IIf(IsNull(AdoRegPlanilla!Moneda), " ", AdoRegPlanilla!Moneda) 'MONEDA
            MS_Planilla.TextMatrix(MS_Planilla.Rows - 1, 6) = IIf(IsNull(AdoRegPlanilla!OPE_CAN_DOC), " ", AdoRegPlanilla!OPE_CAN_DOC) 'CANT DOC
            MS_Planilla.TextMatrix(MS_Planilla.Rows - 1, 7) = Format(IIf(IsNull(AdoRegPlanilla!OPE_MON_DOC), 0, AdoRegPlanilla!OPE_MON_DOC), F_PESO) 'MONTO OPE
            MS_Planilla.TextMatrix(MS_Planilla.Rows - 1, 8) = Format(IIf(IsNull(AdoRegPlanilla!MON_NO_FIN), 0, AdoRegPlanilla!MON_NO_FIN), F_PESO) 'MONTO NO FINAN
            MS_Planilla.TextMatrix(MS_Planilla.Rows - 1, 9) = Format(IIf(IsNull(AdoRegPlanilla!MON_ANT), 0, AdoRegPlanilla!MON_ANT), F_PESO) 'MONTO ANTICIPO
            MS_Planilla.TextMatrix(MS_Planilla.Rows - 1, 10) = Format(IIf(IsNull(AdoRegPlanilla!OPE_DIF_PRE), " ", AdoRegPlanilla!OPE_DIF_PRE), F_PESO) 'DIF PRECIO
            MS_Planilla.TextMatrix(MS_Planilla.Rows - 1, 11) = Format(IIf(IsNull(AdoRegPlanilla!OPE_MON_GAS), 0, AdoRegPlanilla!OPE_MON_GAS), F_PESO) 'GASTOS
            MS_Planilla.TextMatrix(MS_Planilla.Rows - 1, 12) = Format(IIf(IsNull(AdoRegPlanilla!IVA_GAS), 0, AdoRegPlanilla!IVA_GAS), F_PESO) 'IVA_GAS
            MS_Planilla.TextMatrix(MS_Planilla.Rows - 1, 13) = Format(IIf(IsNull(AdoRegPlanilla!OPE_MON_ADE), 0, AdoRegPlanilla!OPE_MON_ADE), F_PESO) 'DESC POR ADELANTO
            MS_Planilla.TextMatrix(MS_Planilla.Rows - 1, 14) = IIf(IsNull(AdoRegPlanilla!OPE_POR_ANT), " ", AdoRegPlanilla!OPE_POR_ANT) ' % POR ANTICIPO
            MS_Planilla.TextMatrix(MS_Planilla.Rows - 1, 15) = Format(IIf(IsNull(AdoRegPlanilla!OPE_COM_TOT), 0, AdoRegPlanilla!OPE_COM_TOT), F_PESO) ' COM.FIJA POR OP
            MS_Planilla.TextMatrix(MS_Planilla.Rows - 1, 16) = Format(IIf(IsNull(AdoRegPlanilla!OPE_IVA_COM), 0, AdoRegPlanilla!OPE_IVA_COM), F_PESO) 'iva comisiones
            MS_Planilla.TextMatrix(MS_Planilla.Rows - 1, 17) = Format(IIf(IsNull(AdoRegPlanilla!OPE_TOT_GIR), 0, AdoRegPlanilla!OPE_TOT_GIR), F_PESO) 'MONTO A GIRAR
 
 
 
            MS_Planilla.Rows = MS_Planilla.Rows + 1
 
            AdoRegPlanilla.MoveNext
        Loop
        MS_Planilla.Rows = MS_Planilla.Rows - 1
 
    End If
End Sub



y este es el procedimiento de sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@RUT_CLI AS NUMERIC(10),
@NUM_OPE_1 AS NUMERIC(10),
@NUM_OPE_2 AS NUMERIC(10),
@FEC_DESDE AS DATE,
@FEC_HASTA AS DATE
AS
BEGIN
SELECT *,
      T.par_des_par AS TIPO_DOC ,
      M.par_des_par AS MONEDA,
     OPE_MON_ANT AS MON_ANT
 
 
FROM OPE
INNER JOIN CLI ON CLI_RUT_CLI = OPE_RUT_CLI
 
 
 WHERE OPE_RUT_CLI  = @RUT_CLI
 AND OPE_NUM_OPE BETWEEN @NUM_OPE_1 AND @NUM_OPE_2
 AND OPE_FEC_OPE BETWEEN @FEC_DESDE AND @FEC_HASTA


espero me puedan orientar un poco ando perdido y eh dado muchas vueltas tratando de resolverlo desde ya muchas gracias
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
Imágen de perfil de Andres Leonardo
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Ayuda al llenar grilla desde Sql

Publicado por Andres Leonardo (1798 intervenciones) el 14/08/2017 15:43:36
no se si este procedimiento te sirve para otra parte de la aplicacion si no es ese el caso puedes hacer esto

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
@RUT_CLI AS NUMERIC(10),
@NUM_OPE_1 AS NUMERIC(10),
@NUM_OPE_2 AS NUMERIC(10),
@FEC_DESDE AS DATE,
@FEC_HASTA AS DATE
AS
BEGIN
SELECT *,    ' Aqui deberas indicar Cada uno de los campos de la tabla CLI que entiendo es la de cliente y no el * que muestra todos.....
      T.par_des_par AS TIPO_DOC ,
      M.par_des_par AS MONEDA,
     OPE_MON_ANT AS MON_ANT
 
FROM OPE
INNER JOIN CLI ON CLI_RUT_CLI = OPE_RUT_CLI
 
 
 WHERE OPE_RUT_CLI  = @RUT_CLI
 AND OPE_NUM_OPE BETWEEN @NUM_OPE_1 AND @NUM_OPE_2
 AND OPE_FEC_OPE BETWEEN @FEC_DESDE AND @FEC_HASTA
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Ayuda al llenar grilla desde Sql

Publicado por matias (5 intervenciones) el 14/08/2017 23:27:06
muchas gracias por darte el tiempo de responder ya pude solucionar el problema no era tan dificil ,solo no podia ver donde estaba nuevamente muchas gracias
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