![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 07.08.2014
Сообщений: 3
|
![]()
Всем доброго дня.
Несколько лет назад написал базу Access, сначала она работала на 97 потом перевел на 2000, а немного позже на 2003. Все прекрасно работало до недавнего времени. Перестало работать после покупки нового ПК и переходе на Win 7 (до этого крутилось на XP). Все работает на Access 2003 Немного о базе. База разделенная, таблицы прилинкованны. Не работает блок поиска записи с использованием метода seek. Код:
Подскажите пожалуйста хоть куда копать. Я не программист access, хотя несколько баз и написал (до 30 таблиц), одну даже прикрутил к mysql. Все работает, а тут на тебе... Всем спасибо за возможные ответы. Последний раз редактировалось Stilet; 07.08.2014 в 17:17. |
![]() |
![]() |
![]() |
#2 | |
Участник клуба
Регистрация: 12.08.2010
Сообщений: 1,079
|
![]() Цитата:
или введенная в предыдущем сеансе?
Имя-Галина== почта shanemac51@yandex.ru скайп shanemac51 c 8-15мск будни
Сфера интересов--word-excel-access-распознавание |
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 07.08.2014
Сообщений: 3
|
![]() |
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 12.08.2010
Сообщений: 1,079
|
![]()
Выложите полный код, а то у вас огрызок без объявлений и присвоения начальных значений
Код:
Имя-Галина== почта shanemac51@yandex.ru скайп shanemac51 c 8-15мск будни
Сфера интересов--word-excel-access-распознавание |
![]() |
![]() |
![]() |
#5 |
Участник клуба
Регистрация: 10.08.2009
Сообщений: 1,796
|
![]()
Здравствуйте zakat2.
Метод Seek не зависит от системы, он является инструментом DAO. Ваша конструкция не обрабатывает исключения, её стоит доработать хотя бы так: Код:
мнение : Поиск по индексу выполняется быстро (так объявляет документация), но выполнения других вариантов поиска вполне удовлетворяет большинству задач. Например такой: Код:
Код:
|
![]() |
![]() |
![]() |
#6 |
Регистрация: 07.08.2014
Сообщений: 3
|
![]()
Еще раз всем здравствуйте и спасибо за активность. Тему прошу закрыть проблему решил. Хотя так ничего и не понял...
Вариант с использованием NoMatch проверял, просто по коду мне он не нужен, запись которую я ищу "всегда" есть. То бишь проверка в этом куске не нужна. Пробовал явное указание переменной Current, результат тот же последняя запись не находится а предыдущая запросто. Самое обидное что ранее все нормально работало. Так как текущую установку и перенос баз выполнял не я, решил перенести еще на одну машинку с WIN 7, что бы снять все ошибки по переносу и установке самой OS. И тут выяснилось... Ранее(совсем давно) база(и база и рабочее место) располагалась на C:\Base , потом была перенесена на криптодиск(пусть будет U ![]() Просмотрел код, да, конечно много чего сейчас я бы сделал по другому, но переписывать сотню процедур и функций как то лень, да и работает все нормально уже 12 лет. Сама программа предназначена для обслуживания международной логистики , отслеживание топлива, расходов и тому подобное. При запуске позволяла экономить $400-$600 на каждом рейсе, ну а потом конечно водители поняли что ничего не поделаешь, все учтено и подзаработать не получится. На данный момент программкой пользуются две небольшие компании на 15-25 фур. Жалоб нет, все довольны. Еще раз всем спасибо, извините за беспокойство. P/S. Это типа извинения. При попытке клеить рабочее место к MySQL базе через ODBC многие получают ошибку "Данные изменены другим пользователем". Ошибка возникает после выполнения кода и обновления страницы формы. В свое время обрыл весь инет и ничего не нашел. У народа таких ошибок полно, а решения нет, некоторые от идеи отказались. Я нашел причину и хочу нею поделиться. Около года назад писал базу для обьединения логистики и OpenGTS("Open GPS Tracking System") и попался на указанную ошибку, потратил неделю но ошибку (а точнее причину) нашел. Как всегда все очень просто, хотя на базах access или MsSQL такая ошибка не возникает. Причина в следующем. Допустим Вы из кода переписываете несколько полей записи. Пусть это поля П1, П2 и П3 и их значения 1, 2 и 3. Вы находясь на форме через код меняете значения на 3, 2, 1 соответственно и выполняете рефреш формы - вот тут и получите "Данные изменены другим пользователем" Оказывается ошибка появляется в случае перезаписи поля тем же значением, в данном примере я 2 менял на 2, если выполнять проверку и в моем примере переписать только первое и третье поле, то ошибки не будет а результат тот же 3, 2 и 1. Странно но факт!!! А вообще база MySQL работает отлично, быстро (в некоторых таблицах уже более 5млн записей-тормозов нет) и надежно(более года - все чик). Весь интерфейс через Access 2003. Рекомендую. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Написать программу решения уравнения методом дихотомии, комбинированным методом секущих хорд, методом простых итераций (на C++) | Bloody_Mary | Помощь студентам | 0 | 14.05.2014 21:05 |
Поиск экстремумов методом линеаризации | Irina999 | Помощь студентам | 0 | 14.12.2013 19:04 |
seek & textfile | dukales | Помощь студентам | 3 | 06.09.2011 18:17 |
Pascal нахождение детерминанты методом гауса Программа не работает( | Студент13 | Помощь студентам | 1 | 19.04.2011 20:17 |
Реализация класса с методом поиска записи по файлу (используя компонент Memo) | Dem.IG | Общие вопросы Delphi | 2 | 05.11.2009 16:02 |