code: def _GetRecordValue(self, record, value_entry):
      
      column_type = record.get_column_type(value_entry)
      long_value = None
  
      if record.is_long_value(value_entry):
        long_value = record.get_value_data_as_long_value(value_entry)
  
      if record.is_multi_value(value_entry):
        # TODO: implement
        raise ValueError('Multi value support not implemented yet.')
  
      if column_type == pyesedb.column_types.NULL:
        return None
  
      if column_type == pyesedb.column_types.BOOLEAN:
        # TODO: implement
        raise ValueError('Boolean value support not implemented yet.')
  
      if column_type in self.INTEGER_COLUMN_TYPES:
        if long_value:
          raise ValueError('Long integer value not supported.')
        return record.get_value_data_as_integer(value_entry)
  
      if column_type in self.FLOATING_POINT_COLUMN_TYPES:
        if long_value:
          raise ValueError('Long floating point value not supported.')
        return record.get_value_data_as_floating_point(value_entry)
  
      if column_type in self.STRING_COLUMN_TYPES:
        if long_value:
          return long_value.get_data_as_string()
        return record.get_value_data_as_string(value_entry)
  
      if column_type == pyesedb.column_types.GUID:
        # TODO: implement
        raise ValueError('GUID value support not implemented yet.')
  
      if long_value:
        return long_value.get_data()
      return record.get_value_data(value_entry)
docs: Retrieves a specific value from the record.
  
      Args:
        record (pyesedb.record): ESE record.
        value_entry (int): value entry.
  
      Returns:
        object: value.
  
      Raises:
        ValueError: if the value is not supported.