Private Sub CV_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PicLogo.Click 'Cursor.Current = System.Windows.Forms.Cursors.WaitCursor 'cursor reloj modRep = 8 mtipRep = 6 ' strCdx = "SELECT '-' AS aPer, 0.00 AS aAnt, 0.00 AS aAct, 0.00 AS aDif, 0.00 AS aPor" Call Exhibe_Ctas() Call Cargar_DavCdx() Call Cargar_CompVta() '----------------------------------------------- modDataView = davCdx 'asigna vista Dim frmImp As New frmPdv_ImpReportes 'frmImp.WindowState = FormWindowState.Minimized frmImp.ShowDialog() frmImp.Dispose() '----------------------------------------------- 'Cursor.Current = System.Windows.Forms.Cursors.Default 'cursor default End Sub Private Sub Cargar_DavCdx() decAnt = 0 decAct = 0 decDif = 0 decPor = 0 For Me.intI = 0 To 3 Select Case intI Case 0 'Dia strPer = "Dia" Case 1 'Semana strPer = "Sem" Case 2 'Mes strPer = "Mes" Case 3 'Año strPer = "Año" End Select Call Registrar_Cdx() Next Try davCdx.Delete(0) Catch ex As Exception ' End Try End Sub Private Sub Registrar_Cdx() Try Dim rowCardex2 As DataRowView = davCdx.AddNew rowCardex2.BeginEdit() rowCardex2("aPer") = strPer rowCardex2("aAnt") = decAnt rowCardex2("aAct") = decAct rowCardex2("aDif") = decDif rowCardex2("aPor") = decPor Catch ex As Exception ' End Try End Sub Private Sub Cargar_CompVta() cnnBDSum.ConnectionString = modstrcnnBDPdv cnnBDSum.Open() cnnBDSumA.ConnectionString = modstrcnnBDAnv cnnBDSumA.Open() For Me.intI = 0 To 3 Try strPer = davCdx(intI)("aPer") Catch ex As Exception strPer = "" End Try Select Case intI Case 0 'dia '--------------------------------------------- 'AYER intDia = mdatFecVta.Day If intDia > 1 Then strFechaG = Format(mdatFecVta, "yyyyMMdd").ToString strSum = "SELECT SUM(avtImp) FROM vwAnvVtaTot " & _ "WHERE avtFecha = " & PreparaStr(strFechaG) cmdSum = New SqlCommand(strSum, cnnBDSumA) Try decDiaA = cmdSum.ExecuteScalar Catch ex As Exception decDiaA = 0 End Try Else decDiaA = mdecVtaUltDia End If '--------------------------------------------- 'HOY strSum = "SELECT SUM(PdvCdx_Sub) AS aSub, PdvCdx_Fwd, PdvCdx_Vod " & _ "FROM PdvCdx " & _ "GROUP BY PdvCdx_Fwd, PdvCdx_Vod " & _ "HAVING (NOT (PdvCdx_Vod = 'V')) AND (NOT (PdvCdx_Fwd = 'f'))" cmdSum = New SqlCommand(strSum, cnnBDSum) Try decDia = cmdSum.ExecuteScalar Catch ex As Exception decDia = 0 End Try '--------------------------------------------- 'DIF decDif = decDia - decDiaA Try decPor = (decDif / decDiaA) * 100 Catch ex As Exception decPor = 0 End Try '----------------------------- davCdx(intI)("aAnt") = decDiaA davCdx(intI)("aAct") = decDia davCdx(intI)("aDif") = decDif davCdx(intI)("aPor") = decPor '----------------------------- Case 1 'sem '--------------------------------------------- 'SEM ANT strSum = "SET DATEFIRST 1; SELECT AnvVtaTot_Fecha AS avtFecha, AnvVtaTot_Importe AS avtImp, { fn WEEK(AnvVtaTot_Fecha) } AS avtDia FROM AnvVtaTot" Call Exhibe_Vtas() '--------------------------------------------- intSem = DatePart(DateInterval.WeekOfYear, mdatFecVta, FirstDayOfWeek.Monday, FirstWeekOfYear.Jan1) If intSem > 1 Then intSem = intSem - 1 decSemA = 0 For Me.intJ = 0 To davSum.Count - 1 If davSum(intJ)("avtDia") = intSem Then decSemA = decSemA + davSum(intJ)("avtImp") End If Next Else decSemA = mdecVtaUltSem End If '--------------------------------------------- 'SEM intSem = DatePart(DateInterval.WeekOfYear, mdatFecVta, FirstDayOfWeek.Monday, FirstWeekOfYear.Jan1) decSem = 0 For Me.intJ = 0 To davSum.Count - 1 If davSum(intJ)("avtDia") = intSem Then decSem = decSem + davSum(intJ)("avtImp") End If Next decSem = decSem + decDia '--------------------------------------------- 'DIF decDif = decSem - decSemA Try decPor = (decDif / decSemA) * 100 Catch ex As Exception decPor = 0 End Try '----------------------------- davCdx(intI)("aAnt") = decSemA davCdx(intI)("aAct") = decSem davCdx(intI)("aDif") = decDif davCdx(intI)("aPor") = decPor '----------------------------- Case 2 'mes '--------------------------------------------- 'MES ANT intMes = mdatFecVta.Month If intMes > 1 Then intMes = intMes - 1 strSum = "SELECT SUM(AnvVtaTot_Importe) AS avtImp FROM AnvVtaTot WHERE MONTH(AnvVtaTot_Fecha) = " & PreparaStr(intMes) cmdSum = New SqlCommand(strSum, cnnBDSumA) Try decMesA = cmdSum.ExecuteScalar Catch ex As Exception decMesA = 0 End Try Else decMesA = mdecVtaUltMes End If '--------------------------------------------- 'MES intMes = mdatFecVta.Month strSum = "SELECT SUM(AnvVtaTot_Importe) AS avtImp FROM AnvVtaTot WHERE MONTH(AnvVtaTot_Fecha) = " & PreparaStr(intMes) cmdSum = New SqlCommand(strSum, cnnBDSumA) Try decMes = cmdSum.ExecuteScalar Catch ex As Exception decMes = 0 End Try decMes = decMes + decDia '--------------------------------------------- 'DIF decDif = decMes - decMesA Try decPor = (decDif / decMesA) * 100 Catch ex As Exception decPor = 0 End Try '----------------------------- davCdx(intI)("aAnt") = decMesA davCdx(intI)("aAct") = decMes davCdx(intI)("aDif") = decDif davCdx(intI)("aPor") = decPor '----------------------------- Case 3 'año '--------------------------------------------- 'ANU ANT decAnuA = mdecVtaUltAno '--------------------------------------------- 'ANU strSum = "SELECT SUM(AnvVtaTot_Importe) AS avtImp FROM AnvVtaTot" cmdSum = New SqlCommand(strSum, cnnBDSumA) Try decAnu = cmdSum.ExecuteScalar Catch ex As Exception decAnu = 0 End Try decAnu = decAnu + decDia '--------------------------------------------- 'DIF decDif = decAnu - decAnuA Try decPor = (decDif / decAnuA) * 100 Catch ex As Exception decPor = 0 End Try '----------------------------- davCdx(intI)("aAnt") = decAnuA davCdx(intI)("aAct") = decAnu davCdx(intI)("aDif") = decDif davCdx(intI)("aPor") = decPor '----------------------------- End Select Next cnnBDSum.Close() cnnBDSum.Dispose() cnnBDSumA.Close() cnnBDSumA.Dispose() End Sub Private Sub Exhibe_Vtas() Try 'cnnBDCdx.ConnectionString = modstrcnnBDAnv 'cnnBDCdx.Open() 'strCdx = "SELECT * FROM vwCta " & _ ' "WHERE aAbr = " & PreparaStr(mEmp) & _ ' " AND aStaCta = " & PreparaStr("1") dapSum.SelectCommand = New SqlCommand(strSum, cnnBDSumA) 'data adapter dasSum = New DataSet 'data set dapSum.Fill(dasSum, "tabSum") 'carga DataSet dasGpo en tabla CntGpo datSum = dasSum.Tables("tabSum") If Not dasSum Is Nothing Then davSum = New DataView davSum = dasSum.Tables("tabSum").DefaultView 'exhibe grid en DataView 'grdSum.DataSource = davSum 'carga grid con tabla CntGpo 'If Not grdSum.CurrentRowIndex() = -1 Then 'grid vacio=-1 ' grdSum.Select(0) 'sombre primer renglon en grid 'End If End If Catch ex As Exception MessageBox.Show(ex.Message.ToString, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) Finally dapSum.Dispose() dasSum.Dispose() 'davSum.Dispose() 'datSum.Dispose() 'cnnBDSum.Close() 'cnnBDSum.Dispose() End Try 'lblReg.Text = davSum.Count.ToString End Sub Private Sub Exhibe_Ctas() Try cnnBDCdx.ConnectionString = modstrcnnBDPdv cnnBDCdx.Open() 'strCdx = "SELECT * FROM vwCta " & _ ' "WHERE aAbr = " & PreparaStr(mEmp) & _ ' " AND aStaCta = " & PreparaStr("1") dapCdx.SelectCommand = New SqlCommand(strCdx, cnnBDCdx) 'data adapter dasCdx = New DataSet 'data set dapCdx.Fill(dasCdx, "tabCdx") 'carga DataSet dasGpo en tabla CntGpo datCdx = dasCdx.Tables("tabCdx") If Not dasCdx Is Nothing Then davCdx = New DataView davCdx = dasCdx.Tables("tabCdx").DefaultView 'exhibe grid en DataView 'grdCdx.DataSource = davCdx 'carga grid con tabla CntGpo 'If Not grdCdx.CurrentRowIndex() = -1 Then 'grid vacio=-1 ' grdCdx.Select(0) 'sombre primer renglon en grid 'End If End If Catch ex As Exception MessageBox.Show(ex.Message.ToString, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) Finally dapCdx.Dispose() dasCdx.Dispose() 'davCdx.Dispose() 'datCdx.Dispose() cnnBDCdx.Close() cnnBDCdx.Dispose() End Try 'lblReg.Text = davCdx.Count.ToString End Sub