tengo un archivo en excel con una consulta sql en el editor de visual basic para extraer informacion de la base de datos de un programa de la empresa donde laboro.
SQL = SQL & "Group BY C.nom_cliente,O.Cod_Cliente,O.Cod_Obra,O.Estado,O.FAprob,P.NoOrden_Pprog,P.CodLote_pprog,L.nom_linea "
SQL = SQL & "Order BY O.FAprob,P.NoOrden_Pprog, P.CodLote_pprog"
Db.Open CONSTRING
Rs.Open SQL, Db
i = 10
While Not Rs.EOF
DoEvents
Hoja1.Cells(i, 20) = Rs("Nom_Linea")
Hoja1.Cells(i, 21) = Rs("descrip_tord")
Hoja1.Cells(i, 1) = Rs("Nom_Cliente")
el codigo resaltado con rojo me agrupa los campos, lo que quisiera aprender es como traigo los datos de forma individual y no agrupados, ya le quite el sum y el min, pero una orden tiene varios item con sus respectivas cantidades y solo me trae el primer item.
por favor ayúdenme a resolver esta duda.
gracias.
Featured Replies
Archivado
Este tema está ahora archivado y está cerrado a más respuestas.
cordial saludo
estimado,
tengo un archivo en excel con una consulta sql en el editor de visual basic para extraer informacion de la base de datos de un programa de la empresa donde laboro.
Hoja1.Range("A10:U20000").Clear
Hoja1.Range("A10:U20000").Interior.Color = &HF5F5F5
Hoja1.Range("A10:U20000").Font.Color = &H8000000D
Hoja1.Cells(4, 1) = "Intervalo:" & Me.cmb_Fini & "-" & Me.cmb_FFin
Hoja1.Cells(5, 1) = "Linea de Producción:" & Me.cmb_LProd
SQL = "Select C.nom_cliente,O.Cod_Cliente,O.Cod_Obra,O.Estado,O.FAprob,O.FDesp,P.NoOrden_Pprog,P.CodLote_pprog, L.nom_linea,min(P.Fecha_Pprog) Fecha_Pprog,Sum(P.Cantidad_Pprog) Cantidad, OT.descrip_tord "
SQL = SQL & "From cliente C, orden O, programacion_prod P, linea L, ordentipo OT "
SQL = SQL & "Where O.Cod_Cliente=P.CodCliente_Pprog AND "
SQL = SQL & "O.No_Orden=P.NoOrden_Pprog AND "
SQL = SQL & "P.CodLote_pprog<>-1 AND P.codlinea_pprog=L.cod_linea AND O.codtipoorden = OT.cod_tord AND C.cod_cliente not in (2478,2479) AND "
If Me.cmb_LProd.List(Me.cmb_LProd.ListIndex) <> "TODAS" Then
SQL = SQL & "P.CodLinea_Pprog=" & Me.List_LProd.List(Me.cmb_LProd.ListIndex) & " AND "
End If
SQL = SQL & "P.Fecha_pprog>='" & Me.cmb_Fini & "' AND "
SQL = SQL & "P.Fecha_pprog<='" & Me.cmb_FFin & "' AND "
SQL = SQL & "C.cod_cliente=O.cod_cliente "
SQL = SQL & "AND O.ESTADO='APROBADA' "
SQL = SQL & "Group BY C.nom_cliente,O.Cod_Cliente,O.Cod_Obra,O.Estado,O.FAprob,P.NoOrden_Pprog,P.CodLote_pprog,L.nom_linea "
SQL = SQL & "Order BY O.FAprob,P.NoOrden_Pprog, P.CodLote_pprog"
Db.Open CONSTRING
Rs.Open SQL, Db
i = 10
While Not Rs.EOF
DoEvents
Hoja1.Cells(i, 20) = Rs("Nom_Linea")
Hoja1.Cells(i, 21) = Rs("descrip_tord")
Hoja1.Cells(i, 1) = Rs("Nom_Cliente")
el codigo resaltado con rojo me agrupa los campos, lo que quisiera aprender es como traigo los datos de forma individual y no agrupados, ya le quite el sum y el min, pero una orden tiene varios item con sus respectivas cantidades y solo me trae el primer item.
por favor ayúdenme a resolver esta duda.
gracias.