⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 printsendlist.cpp

📁 自已做的简单的库存管理软件。包含员工信息管理等
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// PrintSendList.cpp : 实现文件
//

#include "stdafx.h"
#include "PrintSendList.h"
#include "printrx.h"

extern _ConnectionPtr pMyConnect;
extern CString str_select_outcomecompany;
extern CString str_printsendlist_billno[PRINT_SEND_LIST];
extern int iPrintsendlist_number;

CString str_select_outcomecompanysn = _T("");
CString str_select_outcomecompanyaddr = _T("");
CString str_select_outcomecompanytel = _T("");

// CPrintSendList 对话框

IMPLEMENT_DYNAMIC(CPrintSendList, CDialog)

CPrintSendList::CPrintSendList(CWnd* pParent /*=NULL*/)
	: CDialog(CPrintSendList::IDD, pParent)
{

}

CPrintSendList::~CPrintSendList()
{
}

void CPrintSendList::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	DDX_Control(pDX, IDC_LIST_PRINTSENDLIST, m_list_printsendlist);
}


BEGIN_MESSAGE_MAP(CPrintSendList, CDialog)
	ON_CBN_SELCHANGE(IDC_COMBO_RXCONTACT, &CPrintSendList::OnCbnSelchangeComboRxcontact)
	ON_BN_CLICKED(IDOK, &CPrintSendList::OnBnClickedOk)
END_MESSAGE_MAP()


// CPrintSendList 消息处理程序
BOOL CPrintSendList::OnInitDialog()
{
	CDialog::OnInitDialog();

	_RecordsetPtr m_pRs; 
	CString m_strSql; 

	int number = 0;
	CComboBox* pWnd;

	m_list_printsendlist.SetExtendedStyle( LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT );
	m_list_printsendlist.InsertColumn(0,_T("序号"));         //插入列
	m_list_printsendlist.InsertColumn(1,_T("品牌"));
	m_list_printsendlist.InsertColumn(2,_T("型号"));
	m_list_printsendlist.InsertColumn(3,_T("数量"));
	m_list_printsendlist.InsertColumn(4,_T("说明"));
	
	CRect rect4;
	m_list_printsendlist.GetClientRect(rect4);                    //获得当前客户区信息
	m_list_printsendlist.SetColumnWidth(0,rect4.Width()/10);       //设置列的宽度。
	m_list_printsendlist.SetColumnWidth(1,rect4.Width()/5);
	m_list_printsendlist.SetColumnWidth(2,rect4.Width()*2/5);
	m_list_printsendlist.SetColumnWidth(3,rect4.Width()/8);
	m_list_printsendlist.SetColumnWidth(4,rect4.Width()/5);


	CString strTemp;
	CString str_billno = _T("");
	m_list_printsendlist.DeleteAllItems();	
	

	for( int i = 0; i < iPrintsendlist_number;i++ )
	{
		str_billno = str_printsendlist_billno[i];
		m_strSql.Format(_T("select BRAND,MODE,NUMBER from INOUT_TABLE where ( BILL_NO='") +str_printsendlist_billno[i]+ _T("' and COMPANY='") +str_select_outcomecompany+ _T("')"));
		m_pRs.CreateInstance( __uuidof(Recordset) ); 
		m_pRs->Open( _bstr_t(m_strSql), _variant_t((IDispatch *)pMyConnect,true), adOpenKeyset, adLockOptimistic, adCmdText);  
			
		try
		{
			if ( m_pRs->GetRecordCount() > 0 )
			{
				_variant_t   TheValue;
				_bstr_t tmp;
		
				m_pRs->MoveFirst(); 
				while(m_pRs->adoEOF==VARIANT_FALSE)	
				{
					CString str111;
					CString str222;

					//Retrieve column's value: 
					strTemp.Format(_T("%d"),i+1);
					m_list_printsendlist.InsertItem(i,strTemp);      //插入第一个数据,即第0条数据。先插入,然后在修改其他的信息。

					TheValue = m_pRs->Fields->GetItem(_variant_t("BRAND"))->Value;
					if( TheValue.vt != VT_NULL )
					{
						tmp=(_bstr_t)TheValue; 			
						m_list_printsendlist.SetItemText(i,1,tmp);
						CString str1 = tmp;
						str111 = str1;
					}
				
					TheValue = m_pRs->Fields->GetItem(_variant_t("MODE"))->Value;
					if( TheValue.vt != VT_NULL )
					{
						tmp=(_bstr_t)TheValue; 			
						m_list_printsendlist.SetItemText(i,2,tmp);
						CString str2 = tmp;
						str222 = str2;
					}
				
					TheValue = m_pRs->Fields->GetItem(_variant_t("NUMBER"))->Value;
					if( TheValue.vt != VT_NULL )
					{
						tmp=(_bstr_t)TheValue; 			
						m_list_printsendlist.SetItemText(i,3,tmp);
					}

					CString tmp4 = GetBrandModeNote( str111, str222 );
					m_list_printsendlist.SetItemText(i,4,tmp4);

					//Do something what you want to do:	......
					m_pRs->MoveNext(); 
				}		
			}
		}
		catch (_com_error &e)
		{
			::MessageBox(NULL,e.Description(),(LPCTSTR)(_T("警告")),MB_OK);
			
		}
		m_pRs->Close(); 
	}



	number = 0;
	pWnd = (CComboBox*)GetDlgItem(IDC_COMBO_TXCOMPANY);
	pWnd->ResetContent();	
	
	m_strSql.Format(_T("select NAME from COMPANY_TABLE where ( SN > 0)") ); 
	m_pRs.CreateInstance( __uuidof(Recordset) ); 
	m_pRs->Open( _bstr_t(m_strSql), _variant_t((IDispatch *)pMyConnect,true), adOpenKeyset, adLockOptimistic, adCmdText);  
		
	
	try
	{	
		if ( m_pRs->GetRecordCount() > 0 )
		{
		
			_variant_t   TheValue;
			_bstr_t tmp;
		
			m_pRs->MoveFirst(); 
			while(m_pRs->adoEOF==VARIANT_FALSE)	
			{
				//Retrieve column's value: 	 									
			
				TheValue = m_pRs->Fields->GetItem(_variant_t("NAME"))->Value;
				if( TheValue.vt != VT_NULL )
				{
					tmp=(_bstr_t)TheValue; 			
					CString str_tmp1 = tmp;
					pWnd->InsertString(number,str_tmp1);

					number++;
				}

				//Do something what you want to do:	......
				m_pRs->MoveNext(); 
			}		
		}
	}
	catch (_com_error &e)
	{
		::MessageBox(NULL,e.Description(),(LPCTSTR)(_T("警告")),MB_OK);
		
	}
	m_pRs->Close(); 


    pWnd = (CComboBox*)GetDlgItem(IDC_EDIT_RXCOMPANY);
	pWnd->SetWindowTextW(str_select_outcomecompany);

	m_strSql.Format(_T("select SN,ADDR from CUSTOMER_TABLE where ( NAME ='") +str_select_outcomecompany+ _T("')") ); 
	m_pRs.CreateInstance( __uuidof(Recordset) ); 
	m_pRs->Open( _bstr_t(m_strSql), _variant_t((IDispatch *)pMyConnect,true), adOpenKeyset, adLockOptimistic, adCmdText);
	
	try
	{
		if ( m_pRs->GetRecordCount() > 0 )
		{
			_variant_t   TheValue;
			m_pRs->MoveFirst(); 
			while(m_pRs->adoEOF==VARIANT_FALSE)	
			{
				//Retrieve column's value: 	   
				TheValue = m_pRs->Fields->GetItem(_variant_t("SN"))->Value;				
				if( TheValue.vt != VT_NULL )
				{
					_bstr_t s1=(_bstr_t)TheValue; 
					CString str_temp1 = s1;
					str_select_outcomecompanysn = str_temp1;
				}

				TheValue = m_pRs->Fields->GetItem(_variant_t("ADDR"))->Value;				
				if( TheValue.vt != VT_NULL )
				{
					_bstr_t s2=(_bstr_t)TheValue; 
					CString str_temp2 = s2;
					str_select_outcomecompanyaddr = str_temp2;
				}
			
				//Do something what you want to do:	......
				m_pRs->MoveNext(); 
			}	
		}
	}
	catch (_com_error &e)
	{
		::MessageBox(NULL,e.Description(),(LPCTSTR)(_T("警告")),MB_OK);
	}
	m_pRs->Close(); 

	pWnd = (CComboBox*)GetDlgItem(IDC_EDIT_RXADDR);
	pWnd->SetWindowTextW(str_select_outcomecompanyaddr);


	number = 0;
	pWnd = (CComboBox*)GetDlgItem(IDC_COMBO_RXCONTACT);
	pWnd->ResetContent();	
	
	m_strSql.Format(_T("select CONTACT_NAME from CUSTOMER_CONTACT_TABLE where (  CUSTOMER_SN='") +str_select_outcomecompanysn+ _T("')") ); 
	m_pRs.CreateInstance( __uuidof(Recordset) ); 
	m_pRs->Open( _bstr_t(m_strSql), _variant_t((IDispatch *)pMyConnect,true), adOpenKeyset, adLockOptimistic, adCmdText);  
		
	
	try
	{	
		if ( m_pRs->GetRecordCount() > 0 )
		{
		
			_variant_t   TheValue;
			_bstr_t tmp;
			
			m_pRs->MoveFirst(); 
			while(m_pRs->adoEOF==VARIANT_FALSE)	
			{
				//Retrieve column's value: 	 									
				
				TheValue = m_pRs->Fields->GetItem(_variant_t("CONTACT_NAME"))->Value;
				if( TheValue.vt != VT_NULL )
				{
					tmp=(_bstr_t)TheValue; 			
					CString str_tmp1 = tmp;
					pWnd->InsertString(number,str_tmp1);

					number++;
				}
	
				//Do something what you want to do:	......
				m_pRs->MoveNext(); 
			}	
		}
	}
	catch (_com_error &e)
	{
		//::MessageBox(NULL,e.Description(),(LPCTSTR)(_T("警告")),MB_OK);
		
	}
	m_pRs->Close(); 



	number = 0;
	pWnd = (CComboBox*)GetDlgItem(IDC_COMBO_TRANSPORT);
	pWnd->ResetContent();	
	
	m_strSql.Format(_T("select NAME from TRANSPORT_TABLE where ( SN > 0 )") ); 
	m_pRs.CreateInstance( __uuidof(Recordset) ); 
	m_pRs->Open( _bstr_t(m_strSql), _variant_t((IDispatch *)pMyConnect,true), adOpenKeyset, adLockOptimistic, adCmdText);  
		
	
	try
	{	
		if ( m_pRs->GetRecordCount() > 0 )
		{
			_variant_t   TheValue;
			_bstr_t tmp;
			
			m_pRs->MoveFirst(); 
			while(m_pRs->adoEOF==VARIANT_FALSE)	
			{
				//Retrieve column's value: 	 									
			
				TheValue = m_pRs->Fields->GetItem(_variant_t("NAME"))->Value;
				if( TheValue.vt != VT_NULL )
				{
					tmp=(_bstr_t)TheValue; 			
					CString str_tmp1 = tmp;
					pWnd->InsertString(number,str_tmp1);
	
					number++;
				}

				//Do something what you want to do:	......
				m_pRs->MoveNext(); 
			}
		}
	}
	catch (_com_error &e)
	{
		::MessageBox(NULL,e.Description(),(LPCTSTR)(_T("警告")),MB_OK);
		
	}
	m_pRs->Close(); 

	return FALSE;// 将焦点设置到控件,否则返回 TRUE

}

void CPrintSendList::OnCbnSelchangeComboRxcontact()
{
	// TODO: 在此添加控件通知处理程序代码
	CString str0;
	CComboBox* pTemp;
	pTemp = (CComboBox*)GetDlgItem(IDC_COMBO_RXCONTACT);
	int iPos=pTemp ->GetCurSel();//当前选中的行。	
	int n = pTemp->GetLBTextLen( iPos );
	pTemp->GetLBText( iPos, str0.GetBuffer(n) );
	str0.ReleaseBuffer();



	int number = 0;
	_RecordsetPtr m_pRs; 
	CString m_strSql; 

	CComboBox* pWnd;
	pWnd = (CComboBox*)GetDlgItem(IDC_EDIT_RXTEL);

	
	
	m_strSql.Format(_T("select TEL from CUSTOMER_CONTACT_TABLE where ( CONTACT_NAME ='") +str0+ _T("' and CUSTOMER_SN='") +str_select_outcomecompanysn+ _T("')") ); 
	m_pRs.CreateInstance( __uuidof(Recordset) ); 
	m_pRs->Open( _bstr_t(m_strSql), _variant_t((IDispatch *)pMyConnect,true), adOpenKeyset, adLockOptimistic, adCmdText);  
		
	
	try
	{	
		if ( m_pRs->GetRecordCount() > 0 )
		{
			_variant_t   TheValue;
			_bstr_t tmp;
		
			m_pRs->MoveFirst(); 
			while(m_pRs->adoEOF==VARIANT_FALSE)	
			{
				//Retrieve column's value: 	 									
				
				TheValue = m_pRs->Fields->GetItem(_variant_t("TEL"))->Value;
				if( TheValue.vt != VT_NULL )
				{
					tmp=(_bstr_t)TheValue; 			
					CString str_tmp0 = tmp;
					str_select_outcomecompanytel = str_tmp0;

					pWnd->SetWindowTextW(str_select_outcomecompanytel);
				}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -