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

📄 unit1.cpp

📁 可用于Excel、Access表间的相应字段的数据导入
💻 CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"

//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------


//------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
bool IsEmpty(AnsiString str)
{
 if(str=="")
        return true;
 else
        return false;
}
//----------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 int rec1,rec2;
 AnsiString val;
 AnsiString val1;
 AnsiString val2; //edit8

 Form1->ADOTable1->Open();
 Form1->ADOTable2->Open();
 //Form1->ADOTable1->Edit();
 //Form1->ADOTable2->Edit();
 if(!(Form1->Edit5->Text==""))
        rec1=StrToInt(Form1->Edit5->Text);
 if(!(Form1->Edit6->Text==""))
        rec2=StrToInt(Form1->Edit6->Text);

 Form1->ADOTable2->First();
 //Form1->ADOTable2->Edit();
 TProgressBar *pBar=new TProgressBar(this);
 pBar->Top=2;
 pBar->Left=100;
 pBar->Width=500;
 pBar->Height=15;
 pBar->Visible=true;
 pBar->Parent=this->StatusBar1;
 pBar->Min=0;
 pBar->Max=rec2;
 pBar->Step=1;
 for(int i=1;i<=rec2;i++)
       {
        Form1->ADOTable1->First();   //从表的第一条记录开始
        for(int j=1;j<=rec1;j++)
               {
                if(Form1->Edit3->Text!="")
                val=VarToStr(Form1->ADOTable2->FieldByName(Form1->Edit3->Text)->Value);
                if(Form1->Edit7->Text!="")
                val1=VarToStr(Form1->ADOTable2->FieldByName(Form1->Edit7->Text)->Value);
                if(Form1->Edit8->Text!="")
                val2=VarToStr(Form1->ADOTable2->FieldByName(Form1->Edit8->Text)->Value);
                if(!IsEmpty(val))
                 {
                  if(Form1->ADOTable1->FieldByName(Form1->Edit1->Text)->Value==Form1->ADOTable2->FieldByName(Form1->Edit3->Text)->Value
                     )
                        {
                         //try
                         //{
                                //Form1->ADOTable1->Edit();
                         Form1->ADOTable2->Edit();
                         //}
                         //catch(...)
                         //{
                          //ShowMessage("there is a error.");
                         //}
                         Form1->ADOTable2->FieldByName(Form1->Edit4->Text)->Value
                         =Form1->ADOTable1->FieldByName(Form1->Edit2->Text)->Value;
                         //Form1->ADOTable2->Post();
                         //Form1->ADOTable2->Refresh();
                        }
                  else if(val2/*Form1->ADOTable1->FieldByName(Form1->Edit1->Text)->Value*/==val1/*Form1->ADOTable2->FieldByName(Form1->Edit7->Text)->Value*/)
                        {
                         if(!IsEmpty(val1))
                         {
                          //try
                         //{
                                //Form1->ADOTable1->Edit();
                         Form1->ADOTable2->Edit();
                         //}
                         //catch(...)
                         //{
                          //ShowMessage("there is a error.");
                         //}
                         Form1->ADOTable2->FieldByName(Form1->Edit4->Text)->Value
                         =Form1->ADOTable1->FieldByName(Form1->Edit2->Text)->Value;
                         //Form1->ADOTable2->Post();
                         //Form1->ADOTable2->Refresh();
                         }

                        }
                  if(val2/*Form1->ADOTable1->FieldByName(Form1->Edit8->Text)->Value*/==val/*Form1->ADOTable2->FieldByName(Form1->Edit3->Text)->Value*/
                     )
                        {
                         //try
                         //{
                                //Form1->ADOTable1->Edit();
                         Form1->ADOTable2->Edit();
                         //}
                         //catch(...)
                         //{
                          //ShowMessage("there is a error.");
                         //}
                         Form1->ADOTable2->FieldByName(Form1->Edit4->Text)->Value
                         =Form1->ADOTable1->FieldByName(Form1->Edit2->Text)->Value;
                         //Form1->ADOTable2->Post();
                         //Form1->ADOTable2->Refresh();
                        }
                  else if(val2/*Form1->ADOTable1->FieldByName(Form1->Edit8->Text)->Value*/==val1/*Form1->ADOTable2->FieldByName(Form1->Edit7->Text)->Value*/)
                        {
                         if(!IsEmpty(val1))
                         {
                          //try
                         //{
                                //Form1->ADOTable1->Edit();
                         Form1->ADOTable2->Edit();
                         //}
                         //catch(...)
                         //{
                          //ShowMessage("there is a error.");
                         //}
                         Form1->ADOTable2->FieldByName(Form1->Edit4->Text)->Value
                         =Form1->ADOTable1->FieldByName(Form1->Edit2->Text)->Value;
                         //Form1->ADOTable2->Post();
                         //Form1->ADOTable2->Refresh();
                         }

                        }

                 }

                Form1->ADOTable1->Next();
               }
        Form1->ADOTable2->Next();
        pBar->StepIt();
        Sleep(5);
       }

 Form1->ADOTable2->Refresh();
 Form1->ADOTable1->Close();
 Form1->ADOTable2->Close();
 ShowMessage("数据导入完成!");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
 Form1->ADOTable1->Active=false;
 Form1->ADOTable1->Active=true;
 Form1->ADOTable2->Active=false;
 Form1->ADOTable2->Active=true;        
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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