powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Grid с запросом не обновляиться
20 сообщений из 20, страница 1 из 1
Grid с запросом не обновляиться
    #33998650
Снифф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HI всем
пробелма в следущем.
на форме Grid1: RecordSourceType= 4 и RecordSource='SELECT aaa,bbb FROM table1 INNER JOIN ... INTO CURSOR ...'
нажимаим командуню кнопку где в клике пропсано:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
INSERT INTO table1 (.....) VALUES (....)
THISFORM.grid1.RecordSourceType=  4  
THISFORM.RecordSource='SELECT aaa,bbb FROM table1 INNER JOIN ... INTO CURSOR ...'
THISFORM.grid1.column1.ControlSource='aaa'
THISFORM.grid1.column2.ControlSource='bbb'
THISFORM.grid1.REFRESH
THISFORM.grid1.column1.REFRESH
THISFORM.grid1.column2.REFRESH
а в гриде так и остаються старые данные. новые появляться тока с повторным запуском формы.
какже нам его обновлять?
...
Рейтинг: 0 / 0
Grid с запросом не обновляиться
    #33998876
-=AlexiS=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
INSERT INTO table1 (.....) VALUES (....)

THISFORM.RecordSource=''

THISFORM.grid1.RecordSourceType= 4
THISFORM.RecordSource='SELECT aaa,bbb FROM table1 INNER JOIN ... INTO CURSOR ...'
THISFORM.grid1.column1.ControlSource='aaa'
THISFORM.grid1.column2.ControlSource='bbb'
THISFORM.grid1.REFRESH
THISFORM.grid1.column1.REFRESH
THISFORM.grid1.column2.REFRESH
...
Рейтинг: 0 / 0
Grid с запросом не обновляиться
    #33999454
Снифф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To -=AlexiS=-
вставили в код строку thisform.RecordSource='' и запустили программму
результат по нажатии коммандрной конпки: Property RECORDSOURCE is not found
...
Рейтинг: 0 / 0
Grid с запросом не обновляиться
    #33999494
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
THISFORM .GRD1. RecordSource=''
...
Рейтинг: 0 / 0
Grid с запросом не обновляиться
    #33999522
-=AlexiS=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пардон - скопировал из Вашего поста, недосмотрев

THISFORM .Grid1. RecordSource=''

Кстати как-же тогда работает Снифф
Код: plaintext
1.
THISFORM.RecordSource='SELECT aaa,bbb FROM table1 INNER JOIN ... INTO CURSOR ...'
???
...
Рейтинг: 0 / 0
Grid с запросом не обновляиться
    #33999668
Снифф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
за пропущеный объект в коде извените, я для топика код нарезал т.к. полностью он былбы таким
thisform.pageframe_books.page_razdel.grid_rus.RecordSource=.......
да тоже невыходит. Я про ненайеный property отписался на форум и потом начал таксяк эту строку переделыват. и сам грид в нее проставлял (о чем вы сейчас и посоветовали), щас еще раз попробвал:
insert ....
thisform.pageframe_books.page_razdel.grid_rus.RecordSource=''
потом остальной код
грид остаеться пустым
...
Рейтинг: 0 / 0
Grid с запросом не обновляиться
    #33999703
-=AlexiS=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а курсор-то создаеться ?
может ошибка в Select - поэтому нет курсора , и грид пустой
попробуйте типа такого

sSql='Ваш Select'
&sSql

что выйдет ?
...
Рейтинг: 0 / 0
Grid с запросом не обновляиться
    #33999849
Снифф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
щас будите ругаться, но мы пережевем.
проставить эти две строки в коде? и что это даст?
в комманном окне sSQL='....' и &sSQL создают нормальный запрос. Правельный
а что с ними делать в коде? не пойму
...
Рейтинг: 0 / 0
Grid с запросом не обновляиться
    #33999987
-=AlexiS=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так уточняемся :
1.
если Grid - просто "белый квадрат" - то скорее всего не создался курсор.
Почему не создался курсор просто так не определишь .
Дело в том что строка
THISFORM.Grid1.RecordSource='SELECT aaa,bbb FROM table1 INNER JOIN ... INTO CURSOR ...'
заново выполняет этот селект и если в нем есть ошибка - курсор просто не создается без всяких сообщений.
если перед этой строкой
добавить
sSql='Тот-же селек что и для грида'
&sSql
произойдет выполнение этого запроса , но при наличие синтаксической ошибки - выскочит соответствующее сообщение.
2.
А ежели у вас просто невидно новых записей - так может у вас таблица буферизирована ?
Select записи из буферов не берет ...
(ну правда в 9 есть хинт в селесте WITH (BUFFERING = .t.) )
тогда вам нужно или tableupdate делать или select с хинтом.
...
Рейтинг: 0 / 0
Grid с запросом не обновляиться
    #34000278
Снифф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нифига себе!!!!!
ни-че-го не понял
В LOAD этой формы прописана 5 буфрезация на таблицу Person.
INSERT в приведеном коде делается на таблицу Books и из Books делается SELECT для грида.
Для таблицы Books в проекте такая вот вещь = CURSORSETPROP('Buffering', 5, 'Books') отсутсвует. она и не предусматыривалась
значит таблица эта не должна быть буферезована? ведь так?
но я щас как вы посоветовали проставил в коде после INSERT строку (чисто от отчаинья)
TABLEUPDATE(.T.,.T.,"архив")
Грид стал обнавляться!!!!!!!!!!!!!!!!!!!!!!!!
ничего не пойму. Как табла оказалась буферезованной? CURSORSETPROP для нее не прописывался, проверено поиском во всех объектах формы
Во, щас Мумрик ко мне приковылял (мы с ним напару фокса грызем), воще обалдел
Ладно я балбес
а Мумрик светлая голова, хоть и с ДЦП родился.
Откуда взялась буферизация ну обьясните нам!!!!
И как проверить талицу на наличие буферезации
...
Рейтинг: 0 / 0
Grid с запросом не обновляиться
    #34000297
Снифф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не бейте сильно
описался
нада читать
TABLEUPDATE(.T.,.T.,"books")
остальное все в вопросе написано правильна
...
Рейтинг: 0 / 0
Grid с запросом не обновляиться
    #34000687
-=AlexiS=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если табличка в DE формы указывать буферизацию через CURSORSETPROP ненадо
1 - смотри свойство на таблице BufferModeOverride - это собственно то что устанавливается при открытии.
2 - что стоит в свойстве формы BufferMode - установка буферизации для формы

А проверить можно - CURSORGETPROP(('Buffering', 'Books')
...
Рейтинг: 0 / 0
Grid с запросом не обновляиться
    #34002778
Снифф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хочу разобраться как следует. Дело серьезное. С Help большая проблема, я учил французский, а английский только пытаюсь освоить.
BufferModeOverride таблицы Books выставлено по умолчанию 1, т.е. все зависит от формы. BufferMode формы выставлен Pessimistic. Означает ли это, что добавляя/изменяя данные в любой таблице в данном DE нужно делать каждый раз TABLEUPDATE( )?

За Сниффа
Снусмумрик
...
Рейтинг: 0 / 0
Grid с запросом не обновляиться
    #34002806
GoshaS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
SET SQLBUFFERING ON
Specifies if data in a SQL - SELECT statement is based on buffered data or data written to disk.

ON
Specifies that the SQL - SELECT statement uses local buffered data if available. If data is not buffered, then data from disk is used.

OFF
(Default) Specifies that the SQL - SELECT statement uses data from disk.
...
Рейтинг: 0 / 0
Grid с запросом не обновляиться
    #34002978
-=AlexiS=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если в таблице BufferModeOverride=1 - то все зависит от формы.
Для незнающих английского краткий пересказ хелпа :
BufferMode
0- никакой буферизации нет
1-Пессимистическая . Запись блокируется при начале редактирорвания и записывается когда сдвигается указатель записи.Для отката изменений текущей записи - можно использовать TABLEREVERT.
2-Оптимистическая.Для записи нужно использовать Tableupdate.

Чтобы не путаться -
Поставьте BufferMode формы в 0-None .
И рулите буферизацией по таблицам , либо выставляя BufferModeOverride таблицы в DE , либо через cursorsetproperty.
...
Рейтинг: 0 / 0
Grid с запросом не обновляиться
    #34003569
Снифф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отлично. Попробуем. Надо пересмотреть другие формы, переправить.
Спасибо

За Сниффа
Снусмумрик

P.S.
Код: plaintext
SET SQLBUFFERING ON
В 8 этого не нашел. Наверно 9 фокс?
...
Рейтинг: 0 / 0
Grid с запросом не обновляиться
    #34003870
-=AlexiS=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СниффP.S.
SET SQLBUFFERING ON
В 8 этого не нашел. Наверно 9 фокс?
ага - переходите на 9 и учите англицкий
...
Рейтинг: 0 / 0
Grid с запросом не обновляиться
    #34008860
Снифф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возник из всего этого вопрос. А считается ли недочетом программы, если в коде будет применяться строка типа TABLEUPDATE(.T.,.T.,"table3"), но получилось так, что в этой table3 никаких изменений не было?

За Сниффа
Снусмумрик
...
Рейтинг: 0 / 0
Grid с запросом не обновляиться
    #34008918
-=AlexiS=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если просто небыло , потому что их не сделал пользователь- то ничего "страшного".
А если просто их и быть не может - тоже как-бы не проблема - вот только зачем ?
...
Рейтинг: 0 / 0
Grid с запросом не обновляиться
    #34009432
Снифф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-=AlexiS=-если просто небыло , потому что их не сделал пользователь- то ничего "страшного".
А если просто их и быть не может - тоже как-бы не проблема - вот только зачем ?
Ну вы даете! ))))))))))
Конечно пользователь! Он на одной форме может работать с данными из 2 таблиц, первую он может изменить, а вторая может остаться неизменной. Просто мы эти TABLEUPDATE на одну кнопку повесили.

За Сниффа
Снусмумрик
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Grid с запросом не обновляиться
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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