📄 dujt.cpp
字号:
// DUjt.cpp : implementation file
//
#include "stdafx.h"
#include "gdzc.h"
#include "DUjt.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDUjt dialog
CDUjt::CDUjt(CWnd* pParent /*=NULL*/)
: CDialog(CDUjt::IDD, pParent)
{
//{{AFX_DATA_INIT(CDUjt)
//}}AFX_DATA_INIT
}
void CDUjt::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDUjt)
DDX_Control(pDX, IDC_LIST1, m_Grid);
DDX_Control(pDX, IDC_COMBO2, m_ComFH);
DDX_Control(pDX, IDC_EDIT1, m_EdtJT);
DDX_Control(pDX, IDC_COMBO1, m_ComZD);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDUjt, CDialog)
//{{AFX_MSG_MAP(CDUjt)
ON_CBN_KILLFOCUS(IDC_COMBO1, OnKillfocusCombo1)
ON_BN_CLICKED(IDC_BUTFIND, OnButfind)
ON_BN_CLICKED(IDC_BUTJT, OnButjt)
ON_BN_CLICKED(IDC_BUTEXIT, OnButexit)
ON_NOTIFY(NM_DBLCLK, IDC_LIST1, OnDblclkList1)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDUjt message handlers
void CDUjt::OnOK()
{
// TODO: Add extra validation here
//CDialog::OnOK();
}
BOOL CDUjt::OnInitDialog()
{
CDialog::OnInitDialog();
CString sSQL;
sSQL.Format("SELECT * FROM 计提表 WHERE 资产编号='1'");
m_Grid.SetDataBase(sSQL,adCmdText);
rst.Open("计提表");
m_ComZD.SetFieldset(rst);
this->m_ComZD.SetCurSel(0);
this->m_ComFH.SetCurSel(0);
m_ComZD.SetFocus();
this->m_Grid.ReadOnly(true);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CDUjt::OnKillfocusCombo1()
{
m_LX=rst.GetFieldType(m_ComZD.GetCurSel());
}
void CDUjt::OnButfind()
{
CString sSQL,sZD,sFH,sTJ;
this->m_ComZD.GetWindowText(sZD);
this->m_ComFH.GetWindowText(sFH);
this->m_EdtJT.GetWindowText(sTJ);
if(m_LX=="字符型")
if(sFH=="LIKE")
sSQL.Format("SELECT * FROM 计提表 WHERE %s %s '%s%%'",sZD,sFH,sTJ);
else
sSQL.Format("SELECT * FROM 计提表 WHERE %s %s '%s'",sZD,sFH,sTJ);
if(m_LX=="日期型")
sSQL.Format("SELECT * FROM 计提表 WHERE %s %s '%s'",sZD,sFH,sTJ);
if(m_LX=="数值型")
sSQL.Format("SELECT * FROM 计提表 WHERE %s %s %s",sZD,sFH,sTJ);
rst.Open(sSQL,adCmdText);
m_Grid.DeleteAllItems();
m_Grid.AddCellValue(rst);
}
void CDUjt::OnButjt()
{
CString sDate,sMsg;
RxRecordset brst;
if(MessageBox("确定要执行反计提吗?","系统提示",MB_OKCANCEL|MB_ICONQUESTION)!=1)
return;
sDate=m_Grid.GetItemText(m_Grid.GetRow(),7);
if(sDate.IsEmpty())
{
MessageBox("请选择一条计提记录!","系统提示",MB_OK|MB_ICONSTOP);
return;
}
sMsg.Format("您选择的反计提记录是 %s 的,反计提后,所有%s以后计提的记录都将被删除!继续吗?",sDate,sDate);
if(MessageBox(sMsg,"系统提示",MB_OKCANCEL|MB_ICONQUESTION)!=1)
return;
CString sSQL,sID,sDepreciation,sNetValue,sUseTime,sMeans,sDepreciationRate,sDepreciationMoney;
sID=m_Grid.GetItemText(m_Grid.GetRow(),0);
sDepreciation=m_Grid.GetItemText(m_Grid.GetRow(),1);
sNetValue=m_Grid.GetItemText(m_Grid.GetRow(),2);
sUseTime=m_Grid.GetItemText(m_Grid.GetRow(),3);
sMeans=m_Grid.GetItemText(m_Grid.GetRow(),4);
sDepreciationRate=m_Grid.GetItemText(m_Grid.GetRow(),5);
sDepreciationMoney=m_Grid.GetItemText(m_Grid.GetRow(),6);
sSQL.Format("UPDATE 固定资产信息表 SET 累计折旧=%s,净值=%s,已计提月份=%s,折旧方法=%s,月折旧率=%s,月折旧额=%s WHERE 编号='%s'",sDepreciation,sNetValue,sUseTime,sMeans,sDepreciationRate,sDepreciationMoney,sID);
brst.Open(sSQL,adCmdText);
sSQL.Format("DELETE FROM 计提表 WHERE 资产编号='%s' AND 计提日期>='%s'",sID,sDate);
rst.Open(sSQL,adCmdText);
// MessageBox("反计提成功!","系统提示",MB_OK|MB_ICONINFORMATION);
OnButfind();
}
void CDUjt::OnButexit()
{
this->OnCancel();
}
void CDUjt::OnDblclkList1(NMHDR* pNMHDR, LRESULT* pResult)
{
if(this->m_Grid.GetHotItem()<0)
return;
else
OnButjt();
*pResult = 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -