vc6的同一工程的两个函数在读写cpstest.mdb的“Parts表”和“Standard表”,编译过,为何运行时只能读写一个?该如何处理

vc6的同一工程的两个函数在读写cpstest.mdb的“Parts表”和“Standard表”,编译过,为何运行时只能读写一个?
void   btl1strdb(CString   btlstr)
{


int     bhno=0,   bzno=0;

                CString   btlstr1,stemp,   jhstr,jmstr,jsstr,clstr,xhstr,bhstr,bzstr;
                LPCTSTR   sortstr1;

    btlstr1=btlstr;


    jhstr=btlstr1.Mid(btlstr1.Find( "件号 ")+5,btlstr1.Find( "件数 ")-btlstr1.Find( "件号 ")-5-1);
    jmstr=btlstr1.Mid(btlstr1.Find( "件名 ")+5,btlstr1.Find( "件号 ")-btlstr1.Find( "件名 ")-5-1);
    jsstr=btlstr1.Mid(btlstr1.Find( "件数 ")+5,btlstr1.Find( "材料 ")-btlstr1.Find( "件数 ")-5-1);
    clstr=btlstr1.Mid(btlstr1.Find( "材料 ")+5,btlstr1.Find( "重量 ")-btlstr1.Find( "材料 ")-5-1);
    xhstr=btlstr1.Mid(btlstr1.Find( "型号 ")+5,btlstr1.Find( "部号 ")-btlstr1.Find( "型号 ")-5-1);
    bhstr=btlstr1.Mid(btlstr1.Find( "部号 ")+5,btlstr1.Find( "件名 ")-btlstr1.Find( "部号 ")-5-1);
    //bzstr=btlstr1.Mid(btlstr1.Find( "部号 ")+5,btlstr1.Find( "件名 ")-btlstr1.Find( "部号 ")-5-1);

    LPCTSTR   jhstr1(jhstr);
    LPCTSTR   jmstr1(jmstr);
    LPCTSTR   jsstr1(jsstr);
    LPCTSTR   clstr1(clstr);
    LPCTSTR   xhstr1(xhstr);
    LPCTSTR   bhstr1(bhstr);
      if(jhstr.Right(1)== "H "   ||   jhstr.Right(1)== "h ")
      {
      //jhstr=jhstr.Left(jhstr.GetLength()-1);
                      LPCTSTR   sortstr1(jhstr.Left(jhstr.GetLength()-1));
      }


    CDaoDatabase   db;
    db.Open(_T( "e:\\flq\\cpstest.mdb "));

      CDaoRecordset   rs(&db);
    rs.Open(dbOpenDynaset,
                  _T( "Select   *   FROM   Parts   "));
int   nFieldCount   =   rs.GetFieldCount();
try
{
// while   (!rs.IsEOF())   {
COleVariant   var;
rs.AddNew();
for   (int   i=0;   i   <=   nFieldCount;   i++)
{
        switch(i)  
{
case   0:
var   =   rs.GetFieldValue(i);
rs.SetFieldValue(i,jsstr1);
break;
case   1:
var   =   rs.GetFieldValue(i);
rs.SetFieldValue(i,jhstr1);

break;
case   2:
var   =   rs.GetFieldValue(i);
rs.SetFieldValue(i,clstr1);
break;
case   3:
var   =   rs.GetFieldValue(i);
rs.SetFieldValue(i,bhstr1);
break;
case   4:
var   =   rs.GetFieldValue(i);
rs.SetFieldValue(i,xhstr1);
break;
case   5:
var   =   rs.GetFieldValue(i);
//rs.SetFieldValue(i,xhstr1);
break;
case   6:
var   =   rs.GetFieldValue(i);
rs.SetFieldValue(i,jmstr1);
break;
case   8:
var   =   rs.GetFieldValue(i);
rs.SetFieldValue(i,sortstr1);
break;

default: