powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Проблема с Requery
23 сообщений из 23, страница 1 из 1
Проблема с Requery
    #32034496
Фотография Zenia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня подключена MsAccess база!!!
MyDB = OpenDatabase(C:\....\aaa.mdb)
....
....
....Здесь я делаю с ней операции добавления и тд
....
....
Подформа должна обновляться по идее после команды
Me!AAASub.Form. Requery
Но ничего не помогает...
...
Рейтинг: 0 / 0
Проблема с Requery
    #32034505
Фотография Алексей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если Requery сделать секунд через 10 - 20 после внесения данных ?
...
Рейтинг: 0 / 0
Проблема с Requery
    #32034511
Фотография Zenia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как лучше задать этот интервал
...
Рейтинг: 0 / 0
Проблема с Requery
    #32034516
Фотография Алексей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я не стал выяснять этот вопрос , просто при таком обновлении вставил задержку...
...
Рейтинг: 0 / 0
Проблема с Requery
    #32034517
Фотография Zenia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасбо Алексей программа заработала, но я задал интервал FOR...NEXTтом те компьютер считает до 50000000. Это правильно?
...
Рейтинг: 0 / 0
Проблема с Requery
    #32034531
Фотография Алексей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если программа будет работать на компах с одинаковым быстродействием и загруженностью то можно и так
а если нужна фиксированная задержка то лучше запоминать значение timer() и ждать пока он дорастет до нужного значения

а вообще -то подход не совсем корректный. Правильнее было бы заставить аксес обновить данные в пилинкованных таблицах, я пока не знаю как
...
Рейтинг: 0 / 0
Проблема с Requery
    #32034559
sFx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще то, для завершения незавершенных команд в том числе внесений и выполнения других команд ОС используется DoEvents и DBEngine.idle, посмотрите хелп по этим словам
...
Рейтинг: 0 / 0
Проблема с Requery
    #32036701
Doc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо закомитить измененные данные (закрыть измененный рекордсет предварительно вызвав необходимые методы для коммитов) а потом requery.
...
Рейтинг: 0 / 0
Проблема с Requery
    #32036757
Фотография Zenia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что такое КОМИТЕТЬ и КОММИТЫ
...
Рейтинг: 0 / 0
Проблема с Requery
    #32036758
sFx_2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Commit - выполнение. используется например для транзакций. в данномслучае, я думаю, имеется ввиду принудительное сохранение изменений.
...
Рейтинг: 0 / 0
Проблема с Requery
    #32036814
Фотография Zenia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно обьяснить как пользоваться этим Commit'ом? ПОЖАЛУЙСТА. У меня англ. хелп я ничего там не понял
...
Рейтинг: 0 / 0
Проблема с Requery
    #32036846
sFx_2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот выжимки из хелпа :

Данные методы позволяют управлять выполнением транзакции во время сеанса, определяемого объектом Workspace:

· BeginTrans открывает новую транзакцию.
· CommitTrans завершает текущую транзакцию и сохраняет изменения.
· Rollback отменяет текущую транзакцию и восстанавливает базы данных, принадлежащие объекту Workspace, в том состоянии, в котором они находились перед началом текущей транзакции.

Синтаксис

рабочаяОбласть.BeginTrans | CommitTrans [dbFlushOSCacheWrites] | Rollback

Прототип рабочаяОбласть представляет объектную переменную, задающую объект Workspace, содержащий базы данных, которые используют транзакции.


Кстати, DoEvents и Idle не помогли?
...
Рейтинг: 0 / 0
Проблема с Requery
    #32036888
Фотография Zenia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нифига... DoEvents и Idle засовывал куда угодно, они работают сами посебе, а должного результата не дают...
Кароче коллеги, ТОВАРИЩИ я борюсь с этим обновлением записи уже 2 месяца и мне уже не смешно (...)
Если уже этот Commit не поможет, то (...)
СПАСИБО ВСЕМ ЗА HELP...
PS (...) - матюкальник
...
Рейтинг: 0 / 0
Проблема с Requery
    #32036986
sFx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если хочешь, пришли свою базу в урезанном виде, и я посмотрю, что можно сделать.
мыло realgraf@hotmail.com
...
Рейтинг: 0 / 0
Проблема с Requery
    #32037663
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если разберетесь дайте знать ...

мысль .. а если после обновления данных рекорсетом запустить локальное обновление в прилинкованную таблицу через docmd.runsql или DAO.recordset какого -нибудь temp - поля - может после этого аксесс поймет что надо перезапросить исходную таблицу?

я к сожалению грохнул проблемную базу и сейчас проверить не могу но вопрос остался...
...
Рейтинг: 0 / 0
Проблема с Requery
    #32037678
Toking
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обновить форму можно просто
RecordSource = RecordSource
...
Рейтинг: 0 / 0
Проблема с Requery
    #32037695
sFx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разобрались:
код который был
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
 Dim Mydb As Database, MyTable As Recordset

        Set Mydb = OpenDatabase( "C:\TEMP\aaa1.mdb" )
        Set MyTable = Mydb.OpenRecordset( "Table1" , dbOpenDynaset)
        
          With MyTable
   
            .AddNew
            !bbbb = Int(Timer)
            .Update
            .Bookmark = .LastModified
        End With
        me.list0.requery

        MyTable.Close
        Mydb.Close
    
End Sub 

вот решение:
при использовании методов Addnew и update, Jet не сразу заносит данные в таблицу, поэтому после закрытия рекордсета надо ставить DBEngine.Idle dbRefreshCache
в принципе этот параметр можно и не использовать, ноон принуждает запись из кэша данных в mdb.
И так вот результат:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Private Sub Command2_Click()

Dim Mydb As Database, MyTable As Recordset

        Set Mydb = OpenDatabase( "C:\TEMP\aaa1.mdb" )
        Set MyTable = Mydb.OpenRecordset( "Table1" , dbOpenDynaset)
        
        DBEngine.Idle
        With MyTable
   
            .AddNew
            !bbbb = Int(Timer)
            .Update
            .Bookmark = .LastModified
        End With
        
        MyTable.Close
        Mydb.Close
    DBEngine.Idle dbRefreshCache
    Me.Refresh
End Sub
...
Рейтинг: 0 / 0
Проблема с Requery
    #32038734
Фотография Zenia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НАЧНЕМ СНОВА!!!
Ситуация:
У меня есть форма "Оплата счетов" на ней три подформы "Счета не оплаченые", "Счета которые хочет оплатить бухгалтер" и "Оплаченые счета" те DoubleClick на не оплаченом счете он от туда пропадает и появляется во второй подформе нажав на "оплатить" счета попадают в третию подформу... КАРОЧЕ ОДНИ ОБНОВЛЕНИЯ
Система которая предьявлена через "Idle" работает, но когда в базе появляется много записей не хочет!!!
Решение:
Пока что база обновляется через таймер, время которого растет в математической прогрессии, но это порнография...
И что самое смешное менять систему нельзя, по другому они работать не умеют и не ХОТЯТ
Базу я уже много раз переделывал
...
Рейтинг: 0 / 0
Проблема с Requery
    #32038772
sFx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я уже писал, но повторюсь:
Добавлять записи в таблицу через рекордсет, это как автогеном через кое-что зубы лечить.. Надо использовать SQL запросы на обновление, добавление и т.д. работают быстро, добавляют и обновляют сразу много записей(если нужно конечно) и задержек с записью строк нет.
Попробуй использовать запросы:
currenDB.Execute("SQL-запрос на добавление")
...
Рейтинг: 0 / 0
Проблема с Requery
    #32039137
Фотография Zenia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А не могли бы подсказать где взять примерчик с SQL-запросом на добавление?
...
Рейтинг: 0 / 0
Проблема с Requery
    #32039210
sFx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дык эта..... делаем в конструкторе запрос на добавление, потом переходим в SQL выражение, копируем его и вставляем в CurrentDB.Execute("SQL")... и все.. получается, что мы выполняет просто запрос.
...
Рейтинг: 0 / 0
Проблема с Requery
    #32039211
Фотография Maxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну насколко мне известно типа -того(синтаксии лучше проверь в хелпе):)))
Код: plaintext
1.
insert into Table values(value1,value2....)
insert into Table(field1,field2.....) values(value1,value2....)

Good Luck
...
Рейтинг: 0 / 0
Проблема с Requery
    #32039215
Фотография Zenia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И так все просто решается?
А я лапух по балотам ходил и вам мозги пудрил!!!
Спасибо!!!
P.S. Гляжу, может настоящим програмером стану?
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Проблема с Requery
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]