|
|
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
Начальство еще на работе не могу достать домашний ноутбук ! простите если заставил нервничать ! спасибо ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2008, 19:41 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
Начальство еще на работе не могу достать домашний ноутбук ! простите если заставил нервничать ! спасибо ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2008, 19:47 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
Для того, чтобы грид переотобразил данные используй ThisForm.Grid1.Refresh() А покавать таблицы при многопользовательском доступе в принципе невозможно (нужно заюзать таблицы эксклюзивно). В рабочих приложениях команда pakc выполняется как осмысленная упаковка таблиц и то только админом. PS Более чем за семь лет (учитывая период написания программы) так и не написал процедуру упаковки таблиц, т.к. иногда прибегают дикие пользователи и просят востановить некоторую запись, которую они удалили, скажем месяц назад. Мне проще сделать recall, чем доставать диски с бэкапами. Тем более, что в таблицах заполняются дополнительные поля: кто удалил, когда удалил - очень удобно при разборе полетов. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2008, 20:25 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
DO FORM formdd IF .NOT. USED ('dopden') USE dopden IN 0 ENDIF SELECT dopden ThisForm.Grid1.Refresh() в форме formdd вноситься запись в таблицу dopden, после перхода в форму с гридом, в гриде белое поле ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2008, 15:24 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
tipadub... USE dopden IN 0 ... Это зачем? Если таблица (источник грида) закрывается, то грид становится белым квадратом, после USE ... надо грид программно восстанавливать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2008, 22:11 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
> USE dopden IN 0 > ThisForm.Grid1.Refresh() И что он тебе должен переотобразить???? Ты лишил грид ИСТОЧНИКА данных. Кто тебе сказал, что он начнет использовать первые попавшиеся данные для отображения? USE dopden IN 0 ThisForm.Grid1.RecordSource = 'dopden' ThisForm.Grid1.Refresh() А перед тем как лишить грид источника правильнее сделать ThisForm.Grid1.RecordSource = '' USE in dopden USE dopden IN 0 ThisForm.Grid1.RecordSource = 'dopden' ThisForm.Grid1.Refresh() Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2008, 06:28 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
Aleksey-K1. "Отвязать" GRID от источника: RecordSource = '' Лучше так: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2008, 17:27 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
bodrox Aleksey-K1. "Отвязать" GRID от источника: RecordSource = '' Лучше так: Код: plaintext А в чем собственно разница? Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2008, 17:36 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
Dima T bodrox Aleksey-K1. "Отвязать" GRID от источника: RecordSource = '' Лучше так: Код: plaintext А в чем собственно разница? Код: plaintext Странно, но когда '' то настройки грида слетают... А когда space(0), то потом при RecordSource = OldSource настройки грида восстанавливаются. VFoxHelpUsing SPACE(0) might not preserve all the grid settings that you want. You might need to reset some settings in code after setting the RecordSource property. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2008, 17:43 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
Выше не то сцитировал :( -------------- Новичок в VFOX ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2008, 17:45 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
опять я. Существует форма с гридом grid1 на кнопке добавить: IF .NOT. USED ('dopden') USE dopden IN 0 ENDIF SELECT dopden SCATTER MEMVAR BLANK DO FORM formdd GO bottom thisform.Grid1.RecordSource = dopusk thisform.Grid1.Refresh() На кнопке удалить: lnMsgResult=MESSAGEBOX('Внимание! Запись будет удалена!'+'Подтвердите удаление!',52,'Удаление!') IF lnMsgResult=6 * Удаление в основной базе SELECT dopden DELETE thisform.grid1.RecordSource=.null. USE IN dopden select 0 USE dopden EXCLUSIVE PACK in dopden thisform.Grid1.RecordSource = dopusk thisform.Grid1.Refresh() ENDIF в форме formdd на кнопке сохранить: IF EMPTY(THISFORM.Text1.Value) DO ERORRFORM ELSE cText=ALLTRIM(thisform.Text1.Value) IF ! USED('dopden') USE dopden in 0 ENDIF SELECT dopden LOCATE FOR dopden.dopusk = cText IF !FOUND() APPEND BLANK GATHER memvar THISFORM.RELEASE MESSAGEBOX ('Запись добавлена!',0) ELSE DO ERORRZAP THISFORM.REFRESH ENDIF ENDIF Данные сохраняються, удаляються в таблицах, но не обновляються в гриде thisform.grid1.RecordSource=.null. thisform.Grid1.RecordSource = dopusk thisform.Grid1.Refresh() данный кусман я взял с форума но он не работает. Кто поможет разобраться. За ранее благодарен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2008, 08:34 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
После манипуляций с рекордсоурсом делаю так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. -------------- Новичок в VFOX ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2008, 12:11 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
А что такое dopusk в строке thisform.Grid1.RecordSource = dopusk ? Это переменная? А какое в ней значение???? И вообще, тебе вот этот кусок что дает? USE IN dopden select 0 USE dopden EXCLUSIVE PACK in dopden Исходя из этого куска могу сказать одно - прога не реальная. Т.е. использование ее не предполагается. Совсем. Вообще. Тогда следующий вопрос - если проге жить изначально не суждено, зачем такие заморочки? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2008, 13:14 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
dopusk это таблица из которой данные идут в грид (сделано по совету) USE IN dopden select 0 USE dopden EXCLUSIVE PACK in dopden так же совет, puck используеться для того чтобы данные были удалены из таблицы сразу P.S. Я не просил рецензии, я просил помощи. Это курсач. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2008, 20:27 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
Так то нибуть реально поможет или нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2008, 23:24 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
> Так то нибуть реально поможет или нет? Тебе ночью помогать чтоли??? Работающие люди (а знают в основном только они) по ночам спят, ну или занимаются более приятными вещами ;) Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2008, 05:56 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
> так же совет, puck используеться для того чтобы данные были удалены из > таблицы сразу > > P.S. Я не просил рецензии, я просил помощи. Это курсач. Ну так а почему ты прислушиваешься к одним советм и не прислушиваешься к другим? Я считаю - слушать надо всех, анализировать что тебе советуют, и принимать самостоятельные решения относительно ТВОЕЙ ситуации. PACK применяется реальных таблицах КРАЙНЕ редко и то только в тех случаях, когда кол-во удаленных записей превышает некоторые разумные пределы. > dopusk это таблица из которой данные идут в грид (сделано по совету) > USE IN dopden > select 0 > USE dopden EXCLUSIVE > PACK in dopden чего-то я непойму. dopusk - это то что надо, а тогда dopden здесь при чем? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2008, 05:59 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
И почему dopusk написано без кавычек? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2008, 06:50 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
авторТак то нибуть реально поможет или нет? редактировать можно и в отдельной форме, если это необходимо, то грид сделайте риадонли и допишите форму редактирования записи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2008, 16:46 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
dopden - это таблица dopusk - атрибут этого отношения (dopden) pack не производился, так как таблица dopden использовалась, по этому мне предложили данный текст USE IN dopden select 0 USE dopden EXCLUSIVE PACK in dopden хотя я так и не понял зачем её отключать и подключать снова Puck мне нужен для того что бы удалять записи безвозвратно, сразу. Зачем? ситуация: есть предмет А с кодом В, где В уникальный ключ при вводе данных был внесён неправильно код В, запись с этим предметом была помечена на удаление, но фактически осталась в таблице. вводиться предмет С, код которого как раз таки и являеться В. Но так как он до сих пор остался в таблице, происходит запрет записи. Вот в принципе и всё. Советами я пользуюсь. Некоторые не действуют. А некоторые мне непонятны: типа вставь это и всё ок. а куда вставить, фиг его знает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2008, 19:54 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
tipadub ситуация: есть предмет А с кодом В, где В уникальный ключ при вводе данных был внесён неправильно код В, запись с этим предметом была помечена на удаление, но фактически осталась в таблице. вводиться предмет С, код которого как раз таки и являеться В. Но так как он до сих пор остался в таблице, происходит запрет записи. Вот в принципе и всё. Код B для предмета А можно подменить фиктивным уникальным значением, а затем пометить на удаление. А паковать уже в отдельной процедуре по мере надобности. хотя я так и не понял зачем её отключать и подключать снова Команда Pack проходит только при монопольном открытии таблицы-для этого ее, открытую в разделяемом режиме нужно закрыть и заново открыть EXCLUSIVE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2008, 20:07 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
> Автор: tipadub > dopden - это таблица > dopusk - атрибут этого отношения (dopden) Какого отношения??? Какой атрибут??? dopusk - это символьная переменная??? Если нет, то почему без кавычек??? > pack не производился, так как таблица dopden использовалась, по этому > мне предложили данный текст Тебе его предложили именно потому, что не производится PACK, хотя надо. А вот теперь вопрос, а надо ли??? > хотя я так и не понял зачем её отключать и подключать снова Ну если это чисто курсовой, который гарантированно будет запущен всего один раз, можно сразу открыть таблицу exclusive и работать с ней, хотя при PACK все равно recordsource надо переопределить > есть предмет А с кодом В, где В уникальный ключ > при вводе данных был внесён неправильно код В, запись с этим > предметом была помечена на удаление, но фактически осталась в таблице. Если под фразой "уникальный ключ", подразумевается ПЕРВИЧНЫЙ ключ таблицы, то ввод таких ключей руками - это очень непраильно. Во первых негарантируется уникальность, во вторых это ВНУРЕННИЕ дела программы, про которые пользователю знать не нужно. Ну и в третьих, предположим, пришел человек в паспортный стол - прописываться. Его данные заносят в картотеку, номер паспорта. А тут бац, выясняется что паспорт такой уже есть (серия/номер паспорта уникальны) в базе, но с другой фамилией, и прочими реквизитами. Внимание вопрос, что делать? Отказать человеку в прописке? Удалить ту запись которая уже была в таблице или другое??? Этому отказать - неправильно. Удалить ту запись которая была - тоже не правильно, т.к. тогда потеряется инфа о том, чтотот человек был где-то прописан. И т.д. Иными словами, отдавать ПЕРВИЧНЫЙ КЛЮЧ на откуп пользователя - это обрекать систему на подобные непонятки. > вводиться предмет С, код которого как раз таки и являеться В. Но так > как он до сих пор остался в таблице, происходит запрет записи. Т.е. у тебя ругается на нарушения уникальности индекса??? Тогда поставь условие for !dele() для самого индека >А некоторые мне непонятны: типа вставь это и всё ок. а куда вставить, фиг >его знает Спрашивай, читай форумы, книжки. Выясняй. А иначе, пока не поймешь - нифига не научишься. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2008, 05:28 |
|
||
|
Обновление grid
|
|||
|---|---|---|---|
|
#18+
Dag Спасибо! Очень интересное предложение. В будущем попробую Сделал проще lnMsgResult=MESSAGEBOX('Внимание! Запись будет удалена!'+'Подтвердите удаление!',52,'Удаление!') IF lnMsgResult=6 * Удаление в основной базе SELECT dopden DELETE thisform.Grid1.Refresh() ENDIF в основной процедуре SET DELETED ON. обработка записей на удаление не происходит. Сам недоучил. пока решил оставить так. Т.е. без использования Pack. Вопрос обнавления грида при вводе новых записей остаёться открытым таблица dopden: примари ключ и атрибут dopusk/ оснавная форма содержит грид прога на кнопке добавить: IF .NOT. USED ('dopden') USE dopden IN 0 ENDIF SELECT dopden SCATTER MEMVAR BLANK DO FORM formdd GO bottom thisform.Grid1.RecordSource = 'dopden' thisform.Grid1.Refresh() переходит в форму formdd в которой вносяться вводимые данные, кнопка сохранить: IF EMPTY(THISFORM.Text1.Value) DO ERORRFORM ELSE cText=ALLTRIM(thisform.Text1.Value) IF ! USED('dopden') USE dopden in 0 ENDIF SELECT dopden LOCATE FOR dopden.dopusk = cText IF !FOUND() APPEND BLANK GATHER memvar THISFORM.RELEASE MESSAGEBOX ('Запись добавлена!',0) ELSE DO ERORRZAP THISFORM.REFRESH ENDIF ENDIF результат: закрываеться форма formdd запись в таблицу вноситься, в гриде вместо данных из столбца dopusk, данные из столбца с ключами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2008, 07:04 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=35363446&tid=1587682]: |
0ms |
get settings: |
10ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
87ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
87ms |
get tp. blocked users: |
2ms |
| others: | 234ms |
| total: | 463ms |

| 0 / 0 |
