就是说把原来的一个表的内容,分成几个表增加到access中?

解决方案 »

  1.   

    把.dbf中的某些字段,有选择的插入ACCESS,是随意的
    如:
      

  2.   

    这应该不难,你应该根据选择的DBF的字段在Access数据库中创建相应的表(当然是用程序创建),然后把记录搞过去就行了如:
    Source为源表
    Dest为目标表
    SelFieldList为选择的字段
    DestTableName 为要在Access中创建的表
    当然在调用该过程前还要用一个DataBase与Access数据库建立连接或者是建立别名
    然后把Dest的DataBaseName 设置上相应的DataBase。
    SelFieldList是选择要导入的字段,这也要准备好
    procedure DbfToAccess(Source, Dest: TTable; SelFieldList: TStirngList; destTableName: string);
    var
      I: Integer;
    begin
      with Dest do
      begin
        TableName := DestTableName;
        with FieldDefs do
        begin
          for I := 0 to SelFieldList.Count - 1 do
          Add(SelFieldList[I], Source.FieldByName(SelFieldList[I]).FieldName, Source.FieldByName(SelFieldList[I]).DataSize - 1);
        end;
        CreateTable;
        Active := True;
        Source.First;
        while not Source.Eof do
        begin
          Append;
          for I := 0 to SelFieldList.Count - 1 do
          case FieldByName(SelFieldList[I]).DataType of
          ftString: FieldByname(SelFieldList[I]).AsString := Source.FieldByName(SelFieldList[I]).AsString;
          ftFloat: FieldByName(SelFieldList[I]).AsFloat := Source.FieldByName(SelFieldList[I]).AsFloat;
          ftInteger: 
          ....
          end;
          Source.Next;
        end;
        Close;
      end;
    end;