|
alias in grid
|
|||
---|---|---|---|
#18+
Доброе время суток форумчане! Есть вопрос. на форме есть pgframe с несколькими вкладками, на одной из которох grid с дефолтными настройкамии, кроме RecordSource="" (Сделано для предотвращения потерь настроек оформления при обновлении источника данных). При активации вкладки выполняется следующее: если обнаружена открытая таблица-источник (в примере crop) данных и данные в ней обновлены,то: This.grdids.RecordSource="" USE in crop getoper(gnls) вызов хранимки , формирующей курсор SELECT crop This.grdids.RecordSource="crop" This.grdids.RecordSourceType= 2 This.grdids.Refresh ENDIF This.grdoperations.Refresh Если ее таблицы-источника нет: getoperationsbyloan(gnls) SELECT crop This.grdids.RecordSource="croperbyloan" This.grdids.RecordSourceType= 2 This.grdids.Refresh При такой схеме иногда вылетает системная ошибка потери источника данных в виде окна с предложением выбрать таблицу или алиас. При чем если закрыть появившееся окно без выполнения выбора, данные нормально отражаются на форме (обновленные или текущие - в зависимости от условия выше). Т.е., запрос отрабатывается корректно, проблема с потерей алиаса. Пробывал повторить ситуацию (делал откат базы из копии) - ошибки нет. Т.е., плавающего характера. Может быть кто-то сталкивался с похожей траблой? Буду признателен. Fox 9+sp2 Windows 7 базовая, 32 разрядная. На компьютере клиента установлены библиотечки из первого sp1 фоксы. Самой среды разработки нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2011, 08:19 |
|
alias in grid
|
|||
---|---|---|---|
#18+
внес изменения для ясности, чтобы ненароком еще один умник не умничал This.grdids.RecordSource="" USE in crop getoper(gnls) вызов хранимки , формирующей курсор SELECT crop This.grdids.RecordSource="crop" This.grdids.RecordSourceType= 2 This.grdids.Refresh ENDIF This.grdoperations.Refresh Если ее таблицы-источника нет: getoper(gnls) SELECT crop This.grdids.RecordSource="crop" This.grdids.RecordSourceType= 2 This.grdids.Refresh ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2011, 10:41 |
|
alias in grid
|
|||
---|---|---|---|
#18+
Проблема скорее всего в этом: StQFox... This.grdids.RecordSource=" crop " ... Если ее таблицы-источника нет: SELECT crop This.grdids.RecordSource=" croperbyloan " У тебя меняется имя курсора, а грид кроме RecordSource хранит его в ControlSource колонок. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2011, 10:41 |
|
alias in grid
|
|||
---|---|---|---|
#18+
Что была ясность, приведите код ф-ии getoper(gnls), а уже потом будем делать выводы ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2011, 10:46 |
|
alias in grid
|
|||
---|---|---|---|
#18+
StQFoxПри такой схеме иногда вылетает системная ошибка потери источника данных в виде окна с предложением выбрать таблицу или алиас. При чем если закрыть появившееся окно без выполнения выбора ... Обычно при таких действиях ошибка должна быть, если ее не было, то скорее всего какой-то обработчик ошибок ее перехватывает и игнорирует. Смотри обработку ошибок, добавь запись в лог таких случаев. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2011, 10:49 |
|
alias in grid
|
|||
---|---|---|---|
#18+
PaulWistЧто была ясность, приведите код ф-ии getoper(gnls), а уже потом будем делать выводы Function getoper Lparameters lnloanid Select f_dateod,; dt.f_accountname,kt.f_accountname,; f_summa,f_comment,o.f_operationid; From Database!t_op As o; inner Join Database!t_ac As dt On dt.f_accountid=o.f_debetid; inner Join Database!t_act As kt On kt.f_accountid=o.f_creditid; Where o.f_loanid=lnloanid; ORDER By f_dateod Desc, o.f_datefact Desc Into Cursor croper Return ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2011, 10:56 |
|
alias in grid
|
|||
---|---|---|---|
#18+
так замеждупрочим, может дойдет Код: plaintext 1. 2. 3. 4.
Код: plaintext 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2011, 11:06 |
|
alias in grid
|
|||
---|---|---|---|
#18+
StQFoxPaulWistЧто была ясность, приведите код ф-ии getoper(gnls), а уже потом будем делать выводы Function getoper Lparameters lnloanid Select f_dateod,; dt.f_accountname,kt.f_accountname,; f_summa,f_comment,o.f_operationid; From Database!t_op As o; inner Join Database!t_ac As dt On dt.f_accountid=o.f_debetid; inner Join Database!t_act As kt On kt.f_accountid=o.f_creditid; Where o.f_loanid=lnloanid; ORDER By f_dateod Desc, o.f_datefact Desc Into Cursor croper Return 1. Для начала, хорошо проверить на окрытые алиасы t_op, t_ac, t_a 2. Затем, надо проверить, что курсор croper получился. 3. Так же необходимо переопределить обработчик ошибок, что бы "выловить" строку на которой произошла ошибка. И только после этого можно говорить, что грид теряет алиас. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2011, 11:08 |
|
alias in grid
|
|||
---|---|---|---|
#18+
Модератор: Есть совет не переходить на личности а по возможности обсуждать заданный автором вопрос. Пока просто удалил оскорбления и "наезды"... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2011, 11:09 |
|
alias in grid
|
|||
---|---|---|---|
#18+
StQFoxНе заинтересован в ответе, пошел нах... Другие ответят.Сударь, да будет Вам известно, здесь в ответе можете быть заинтересованы только Вы и никто другой. Это Ваши проблемы. И если уж Вы пришли за решением Ваших проблем к нам, то уж потрудитесь прилаживаться к нам, а не устанавливать здесь свои правила. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2011, 11:09 |
|
alias in grid
|
|||
---|---|---|---|
#18+
Ну, если убрать "все лишнее", то имеем такую ситуацию Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
Для начала, вызывает недоумение тот факт, что в Grid используется алиас "crop", а формируется алиас "croper". Но, пусть это будет опечатка. Также не понятно, зачем используется RecordSourceType= 2? Почему не стандартное RecordSourceType= 1 ? Ну, и еще желательно убедится в том, что курсор создается в той же DataSession, в которой работает форма ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2011, 11:21 |
|
alias in grid
|
|||
---|---|---|---|
#18+
Sergey Sizov, Сергей, абсолютно с вами согласен. Но если вами установлены правила перехода на личности при обозначенной проблеме, в чем же красит такой подход форумчан... И если кто-то обладает познанием по вопросу, больше чем задавший вопрос - это не дает ему права пренебрежительно разговаривать с ним. Можно подумать с пелёнок парень владел лисой... Все с чего то начинали... Действия модератора - считаю доказательством своих слов. Если кого-то обидел, извините... За ответы всем большое спасибо, в том числе проходящемумимо - намек поняк. Буду копать дальше. p.s.видимо понедельник дал знать о себе ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2011, 12:32 |
|
alias in grid
|
|||
---|---|---|---|
#18+
StQFox, то есть простая констатация факта недостаточности умения оперировать областями - переход на личности? Теряется алиас -> плохое представление о результате своих действий с областями/таблицами/курсорами -> неумение работать с областями/таблицами/курсорами. Такакя цепочка рассуждений оскорбительна? А результат осмысления этой цепочки? Или была тайная надежда на наличие бага в фоксе, которая волшебным образом избавит от самокритики? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2011, 12:41 |
|
alias in grid
|
|||
---|---|---|---|
#18+
Sergey Sizov, только что пришел с работы, позже разбирусь - сообщу. полагаю, кому-то пригодится все что обсудили в этом топике. смущает другое - ошибки нет в поднятой копии... что касается наименований алиасов - тут малость упустил деталь: код я изменил для примера на форум. разбирусь с оригиналом, но повторюсь смущает что в копии б.д. по этой же записи ошибки нет, данные в и итоге возвращаются. позже отпишусь. спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2011, 12:53 |
|
alias in grid
|
|||
---|---|---|---|
#18+
StQFoxсмущает что в копии б.д. по этой же записи ошибки нет, данные в и итоге возвращаются.Вот и надо внимательнейшим образом с максимальными подробностиями изучить процесс переключения между областя и датасессиями, получением данных и что там у Вас еще с этим связано. Алиасы сами по себе не пропадают. Они исчезают или вследствие закрытия таблицы/курсора с этим алиасом, или вследствие ухода алиаса и соответствующей ему рабочей области из области видимости при переключении датасессии. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2011, 13:29 |
|
alias in grid
|
|||
---|---|---|---|
#18+
По порядку: 1.if getoperationsbyloan(gnls) SELECT crop - вай итиз??? Прошу прощения опечатка. >>2.1. Для начала, хорошо проверить на окрытые алиасы t_op, t_ac, t_a алиасы есть безусловно, проверил. >> 2. Затем, надо проверить, что курсор croper получился. есть. Момент такой в случае появления ошибки, если нажать на Esc, данные (именно те что и должны быть), я вижу в grid-е >>3. Так же необходимо переопределить обработчик ошибок, что бы "выловить" строку на которой произошла ошибка. вот в этом месте доработаю. ВладимирМ >>Для начала, вызывает недоумение тот факт, что в Grid используется алиас "crop", а >>формируется алиас "croper". Но, пусть это будет опечатка. опечатка... >>Также не понятно, зачем используется RecordSourceType= 2? Почему не стандартное >>RecordSourceType= 1 ? возможно в этом и была вся проблема. Во всяком случае, пока ошибки не наблюдаю Sergey Sizov >>то есть простая констатация факта недостаточности умения оперировать областями - >>переход на личности? Во-первых, не думаю, что не умею вообще. Написано несколько проектов и так же как у всех - движение вперед. Например, использование скл-ного подхода в контейнере б.д. (мелочь, может быть...) Сейчас в приложение реализована репликация данных через поднятый ftp- мелочь - ну может быть... Вопрос ведь в том, КАК тебе объясняют. >>Теряется алиас -> плохое представление о результате своих действий с областями/>>таблицами/курсорами -> неумение работать с областями/таблицами/курсорами. Такакя >>цепочка рассуждений оскорбительна? нет не оскорбительна, но думаю каждый спотыкался на простых вещах в силу разных обстоятельств. >>А результат осмысления этой цепочки? Или была тайная надежда на наличие бага в >>фоксе, которая волшебным образом избавит от самокритики? Вот что-что, а фокс я никогда не винил. Правильно - винить надо в первую очередь себя,замыленный глаз, пробел в познании. Спасибо всем! ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2011, 15:48 |
|
|
start [/forum/topic.php?fid=41&msg=37128600&tid=1584542]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
237ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 275ms |
total: | 612ms |
0 / 0 |