Отчеты доступа MS - ключ поиска не был найден ни в какой записи - на сохранении

Лучшая практика когда-либо

Создать интерфейс с помощью PreferenceManager:

// Interface to save values in shared preferences and also for retrieve values from shared preferences
public interface PreferenceManager {

    SharedPreferences getPreferences();
    Editor editPreferences();

    void setString(String key, String value);
    String getString(String key);

    void setBoolean(String key, boolean value);
    boolean getBoolean(String key);

    void setInteger(String key, int value);
    int getInteger(String key);

    void setFloat(String key, float value);
    float getFloat(String key);

}

Как использовать с Activity / Fragment:

public class HomeActivity extends AppCompatActivity implements PreferenceManager{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout_activity_home);
    }

    @Override
    public SharedPreferences getPreferences(){
        return getSharedPreferences("SP_TITLE", Context.MODE_PRIVATE);
    }

    @Override
    public SharedPreferences.Editor editPreferences(){
        return getPreferences().edit();
    }

    @Override
    public void setString(String key, String value) {
        editPreferences().putString(key, value).commit();
    }

    @Override
    public String getString(String key) {
        return getPreferences().getString(key, "");
    }

    @Override
    public void setBoolean(String key, boolean value) {
        editPreferences().putBoolean(key, value).commit();
    }

    @Override
    public boolean getBoolean(String key) {
        return  getPreferences().getBoolean(key, false);
    }

    @Override
    public void setInteger(String key, int value) {
        editPreferences().putInt(key, value).commit();
    }

    @Override
    public int getInteger(String key) {
        return getPreferences().getInt(key, 0);
    }

    @Override
    public void setFloat(String key, float value) {
        editPreferences().putFloat(key, value).commit();
    }

    @Override
    public float getFloat(String key) {
        return getPreferences().getFloat(key, 0);
    }
}

Примечание: Заменить ваш ключ SharedPreference с SP_TITLE.

Примеры:

Сохранить строку в shareperence:

setString("my_key", "my_value");

Получить строку из shareperence:

String strValue = getString("my_key");

Надеюсь, это вам поможет.

17
задан GEOCHET 5 March 2009 в 19:41
поделиться

5 ответов

Вы не упоминаете версию Доступа, который Вы используете. Microsoft сообщает об ошибке в 2000:

ОШИБКА: Вы получаете "Ключ поиска, не был найден ни в каком рекордном" сообщении об ошибке, когда Вы уплотняете базу данных или сохраняете конструктивные изменения в Access 2000

http://support.microsoft.com/kb/301474

, Если это не Ваша проблема, вот довольно всесторонний FAQ Tony Toews, MVP Microsoft Access:

Поврежденный Microsoft Access MDBs FAQ

http://www.granite.ab.ca/access/corruptmdbs.htm

, Если проблема постоянно происходит, необходимо найти причину повреждения таблицы, и Вы найдете много предложений для отслеживания причины в ссылке сайта выше.

7
ответ дан 30 November 2019 в 12:27
поделиться

Другой возможной причиной этой ошибки является несогласованный файл рабочей группы. Таким образом, при попытке использовать защищенный (или частично защищенный) MDB с файлом рабочей группы кроме того, используемого для обеспечения его, можно инициировать ошибку (я видел его сам, несколько лет назад с Access 2000).

0
ответ дан 30 November 2019 в 12:27
поделиться

Я знаю, что это - очень старое сообщение, но поскольку я искал дополнительные решения этой той же ошибки при выполнении моей команды (я ранее встретился с пробелами в Excel wb заголовки и исправил его с VBA каждый раз, когда файл обновляется так, я знал, что это не было это). Я рассмотрел то, что xlsm файл и DB были на дисках отдельной сети, но не хотели исследовать перемещение того, если это не было мое последнее средство.

я попытался выполнить импорт сохранения вручную, и там это было правильно перед моей поверхностью. Папка, содержащая xlsm файл, была переименована.... Я возвратил имя для соответствия моему сохраненному импорту и.... smh, это было это все время.

0
ответ дан 30 November 2019 в 12:27
поделиться

Это шаги, которым я следую, может быть, это будет полезно для вас.

  1. Перейдите в меню-инструменты-база данных утилиты-сжатие и восстановите базу данных.

  2. при восстановлении базы данных удалите или обновите эту запись.

  3. она работает нормально.

0
ответ дан 30 November 2019 в 12:27
поделиться

В Access 2007 эта ошибка возникает при импорте файла Excel, в котором есть два поля с одинаковым заголовком столбца.

-1
ответ дан 30 November 2019 в 12:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: