|
|
|
Вс таблицы прилинкованы а файл клиента все равно растет ?!
|
|||
|---|---|---|---|
|
#18+
Здравствуйте Есть вопрос: access 2003 + Windows Xp Есть файл client.mdb в нем есть две формы (Ф1-2) (на одной из них стоит тамер каждые 15 секунд) Формы (Ф1-2) на основе таблиц - которые прилинкованы из server.mdb Никаких изменений не производится - только открыты обе формы Если форма с таймером запущена то файл client.mdb (содержащий Ф1-2) увеличивает свой размер постоянно на каждые 15 секунд + около 20 кб (УЖАС) Файл server.mdb реально содержащий таблицы НЕ увеличивается. Если форма отключена - то не увеличивает ... в чем дело ? Как с этим бороться ? СПАСИБО ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2004, 19:30:53 |
|
||
|
Вс таблицы прилинкованы а файл клиента все равно растет ?!
|
|||
|---|---|---|---|
|
#18+
видимо ты не уничтожаешь какой-то ресурс RecordSet или массив при каждом проходе таймера поставь в обработчик debug.print date и последи за RAM ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2004, 19:44:22 |
|
||
|
Вс таблицы прилинкованы а файл клиента все равно растет ?!
|
|||
|---|---|---|---|
|
#18+
Shuhardвидимо ты не уничтожаешь какой-то ресурс RecordSet или массив при каждом проходе таймера поставь в обработчик debug.print date и последи за RAM - А как это сделать ? - Вообще никаких рекордсетов нет ... только ОДИН запрос на UPDATE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2004, 19:48:40 |
|
||
|
Вс таблицы прилинкованы а файл клиента все равно растет ?!
|
|||
|---|---|---|---|
|
#18+
виноват - debug.print не годится поставь звучок - база у меня не растёт! Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2004, 19:49:20 |
|
||
|
Вс таблицы прилинкованы а файл клиента все равно растет ?!
|
|||
|---|---|---|---|
|
#18+
Shuhardвиноват - debug.print не годится поставь звучок - база у меня не растёт! Код: plaintext 1. А куда ставить и что это дает ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2004, 19:50:19 |
|
||
|
Вс таблицы прилинкованы а файл клиента все равно растет ?!
|
|||
|---|---|---|---|
|
#18+
код покажи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2004, 19:50:28 |
|
||
|
Вс таблицы прилинкованы а файл клиента все равно растет ?!
|
|||
|---|---|---|---|
|
#18+
Option Compare Database Option Explicit Private Sub Form_Open(Cancel As Integer) Dim strNull As String Me.TimerInterval = 7000 strNull = "UPDATE 17_ПланированиеЗаказов SET [17_ПланированиеЗаказов].Отпуск = 0;" CurrentDb.Execute (strNull) End Sub ' По этому таймеру (в форме зашито 5 секунд обновления) ' будет осуществляться обновление формы с перемещением наверх новых заказов Private Sub Form_Timer() DoCmd.MoveSize 0, 0 Сообщения = "Таймер запущен" СобытиеНаТаймере End Sub Function СобытиеНаТаймере() Me.OrderBy = "СтартЗаказа" Me.OrderByOn = True DoCmd.SetWarnings False ' Отключаю сообщения DoCmd.OpenQuery ("ОтпущеноЗаСменуДиспетчером2") DoCmd.OpenQuery ("ПланированияЗаказаОбновление") DoCmd.SetWarnings True Form.Refresh End Function Private Sub ЗакрытьФорму_Click() DoCmd.Close End Sub Private Sub Клиент_DblClick(Cancel As Integer) If CurrentProject.AllForms("20_ОтпускПродукции").IsLoaded Then ПроверкаПриходаВремениОтпуска End If End Sub Function ПроверкаПриходаВремениОтпуска() Dim Msg, Style, Title, Help, Ctxt, Response, MyString Msg = "Время отпуска для организации " & Клиент.Column(0) & " еще не подошло. Отпустить ?" Style = vbYesNo + vbCritical + vbDefaultButton2 Title = "Внимание" Ctxt = 1000 If (СтартЗаказа > Now()) Then Response = MsgBox(Msg, Style, Title, Help, Ctxt) If Response = vbYes Then ПроверкаНенулевыхОбщихЗаказов Else End If Else ПроверкаНенулевыхОбщихЗаказов End If End Function Function ПроверкаНенулевыхОбщихЗаказов() If (Заказано <> Отпуск) And (Заказано <> 0) Then ПроверкаЕслиФормаОтпускаНеПуста Else If (Заказано <> 0) And (Заказано = Отпуск) Then MsgBox ("Заказ выполнен") If Заказано = 0 Then MsgBox ("Сформируйте объем заказа для организации " & Клиент.Column(0)) End If End Function Function ПроверкаЕслиФормаОтпускаНеПуста() Dim Msg, Style, Title, Help, Ctxt, Response, MyString Msg = "Вы действительно хотите перезаписать данные в форме?" Style = vbYesNo + vbCritical + vbDefaultButton2 Title = "Внимание" Ctxt = 1000 If (Forms![20_ОтпускПродукции]![Наименование] <> "Null") Or (Forms![20_ОтпускПродукции]![Товары] <> "Null") Or (Forms![20_ОтпускПродукции]![ПунктНазначения] <> "Null") Then Response = MsgBox(Msg, Style, Title, Help, Ctxt) If Response = vbYes Then ЗаписьДанныхВФормуОтпуска Else End If Else ЗаписьДанныхВФормуОтпуска End If End Function Function ЗаписьДанныхВФормуОтпуска() СтартЗаказа = СтартЗаказа + ПериодОтпуска Forms![20_ОтпускПродукции]![Наименование] = Клиент.Column(0) Forms![20_ОтпускПродукции]![Товары] = МаркаПродукции.Column(0) Forms![20_ОтпускПродукции]![ПунктНазначения] = ПунктНазначения.Column(0) Forms![20_ОтпускПродукции].SetFocus Forms![20_ОтпускПродукции]![КодВодителя].SetFocus End Function Private Sub ПериодОтпуска_GotFocus() Me.TimerInterval = 0 Сообщения = "Таймер остановлен" End Sub Private Sub ПериодОтпуска_LostFocus() Me.TimerInterval = 7000 Сообщения = "Таймер запущен" End Sub Private Sub СтартЗаказа_GotFocus() Me.TimerInterval = 0 Сообщения = "Таймер остановлен" End Sub Private Sub СтартЗаказа_LostFocus() Me.TimerInterval = 7000 Сообщения = "Таймер запущен" End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2004, 19:51:49 |
|
||
|
Вс таблицы прилинкованы а файл клиента все равно растет ?!
|
|||
|---|---|---|---|
|
#18+
nukri Shuhardвиноват - debug.print не годится поставь звучок - база у меня не растёт! Код: plaintext 1. А куда ставить и что это дает ? написать ЭТО в обработчике таймера вместо всего остального даёт звук и пищу для ума! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2004, 19:51:51 |
|
||
|
Вс таблицы прилинкованы а файл клиента все равно растет ?!
|
|||
|---|---|---|---|
|
#18+
а на хрена мне что-либо кроме кода под таймером оставь только его(искать сам не буду) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2004, 19:54:14 |
|
||
|
Вс таблицы прилинкованы а файл клиента все равно растет ?!
|
|||
|---|---|---|---|
|
#18+
Увеличение размера происходит на какой-то конкретной строке. Строк кандидатов нашел три. Из того, что непосредственно видно в процедуре обработки таймера - кандидатов два либо Me.OrderByOn = True Либо Form.Refresh Еще есть вот это Private Sub ЗакрытьФорму_Click() DoCmd.Close End Sub Правда я не понял, как и где оно вызывается. Пройдись дебагером и посмотри на какой строке в точности происходит рост. Очень любобытно было бы увидеть результат. Похоже он (результат) универсальный характер имеет для всех версий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2004, 20:22:39 |
|
||
|
Вс таблицы прилинкованы а файл клиента все равно растет ?!
|
|||
|---|---|---|---|
|
#18+
Виктоша спасибо за ценную мысль поочередно все поотключать: Выключил "твоих" кандидатов ... но все было по-старому НО! при отключении вызова запроса ' DoCmd.OpenQuery ("ОтпущеноЗаСменуДиспетчером2") Тело запроса следующее: +++++++++++++++++++++++++++++++++ SELECT [20_ОтпускПродукции].Наименование, [20_ОтпускПродукции].Товары, Sum([20_ОтпускПродукции].Количество) AS ИтогоОтпущено INTO ОтпущеноДиспечтеромЗаСмену FROM 20_ОтпускПродукции, 992_НачалоРаботы WHERE ((([20_ОтпускПродукции].Счетчик)>=[ОткрытаяНакладная]) AND (([20_ОтпускПродукции].ВремяЗаказа)>=[992_НачалоРаботы]![НачалоСмены] Or ([20_ОтпускПродукции].ВремяЗаказа)=[992_НачалоРаботы]![НачалоСмены])) GROUP BY [20_ОтпускПродукции].Наименование, [20_ОтпускПродукции].Товары; +++++++++++++++++++++++++++++++++ Увеличения обьема клиентского фала не происходит ... кто поможет .. в чем "беда" моего запроса. Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2004, 21:50:56 |
|
||
|
Вс таблицы прилинкованы а файл клиента все равно растет ?!
|
|||
|---|---|---|---|
|
#18+
Причем сори я тут немного соврал ... Таблица "ОтпущеноДиспечтеромЗаСмену" локальная ... НО! количество записей в ней из-за этого запроса не меняется ... но база все равно растет.... ...то-есть если я прав она растет из-за "помеченных" на удаление ... что делать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2004, 22:00:21 |
|
||
|
Вс таблицы прилинкованы а файл клиента все равно растет ?!
|
|||
|---|---|---|---|
|
#18+
А поможет ... если сделать вместо SELECT INTO сделать UPDATE ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2004, 22:02:52 |
|
||
|
Вс таблицы прилинкованы а файл клиента все равно растет ?!
|
|||
|---|---|---|---|
|
#18+
В общем заменил Один запрос SELECT INTO на Два 1. DELITE + 2. Insert Размер файла больше не растет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2004, 23:05:12 |
|
||
|
Вс таблицы прилинкованы а файл клиента все равно растет ?!
|
|||
|---|---|---|---|
|
#18+
Блин все равно растет незаметно но на 500 байт на каждый Тайм интервал ... ) уже хорошо уменьшил в 40 раз ... но все равно ) ......... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2004, 23:09:01 |
|
||
|
Вс таблицы прилинкованы а файл клиента все равно растет ?!
|
|||
|---|---|---|---|
|
#18+
Дилетантство конечно, но nukri, а системные таблы тоже линкованные? Может растет из них? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2004, 01:07:02 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32640047&tid=1672636]: |
0ms |
get settings: |
5ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
64ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
1ms |
| others: | 191ms |
| total: | 369ms |

| 0 / 0 |
