docs: public boolean seek(String strSeekSign) throws DBException
      {
          Record recMain = this.getRecord();
          BaseBuffer vector = new VectorBuffer(null);
          KeyArea keyMain = recMain.getKeyArea(recMain.getDefaultOrder());
          keyMain.setupKeyBuffer(vector, DBConstants.FILE_KEY_AREA);
          this.setCurrentTable(this.getNextTable());
          
          boolean bSuccess = super.seek(strSeekSign);
          if (!bSuccess)
          {   // Not found in the main table, try the other tables
              Iterator<BaseTable> iterator = this.getTables();
              while (iterator.hasNext())
              {
                  BaseTable table = iterator.next();
                  if ((table != null) && (table != this.getNextTable()))
                  {
                      Record recAlt = table.getRecord();
                      recAlt.setKeyArea(recMain.getDefaultOrder());
                      KeyArea keyAlt = recAlt.getKeyArea(recMain.getDefaultOrder());
                      vector.resetPosition();
                      keyAlt.reverseKeyBuffer(vector, DBConstants.FILE_KEY_AREA);     // Move these keys back to the record
  
                      bSuccess = recAlt.seek(strSeekSign);
                      if (bSuccess)
                      {
                          this.syncRecordToBase(recMain, recAlt, false);
                          this.setCurrentTable(table);
                          break;
                      }
                  }
              }
          }
          vector.free();
          return bSuccess;
      }