Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Drop column / 3 сообщений из 3, страница 1 из 1
11.11.2007, 13:13
    #34930576
Fillyjonk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Drop column
Необходимо по нажатию кнопки произвести удаление столбца из грида/таблицы, но caption столбцов не соответствуют названиям полей, то есть
CLOSE DATABASES all
thisform.grid1.RecordSource=""
new=alltRim(thisform.edit1.value)
*t=ALLTRIM(thisform.text2.value)
ALTER table table1 drop COLUMN &new

thisform.grid1.RecordSource='table1.dbf'

thisform.refresh
что надо поменять в этом коде, чтобы удалять по caption?
...
Рейтинг: 0 / 0
11.11.2007, 13:34
    #34930597
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Drop column
Мозги надо поменять

Извиняюсь, что грубовато получилось, но надо поменять стиль мышления.

1) Менять структуру баз данных в процессе работы приложения - это создавать себе кучу проблем. Приложение необходимо проектировать таким образом, чтобы в этом не возникало необходимости.

2) То, как данные хранятся, практически никогда не совпадает с тем, как данные отображаются. Поэтому, пытаться "выковырить" из штатных свойств объектов имена полей и таблиц - это путь "в никуда".

В общем случае, если в этом есть необходимость, формируют дополнительные свойства, в которые напрямую и записывают нужные имена. Для столбцов Grid для этой цели можно использовать свойства TAG и Column. Это просто символьные примечания, они никак, никоим образом не влияют на работу объектов.

3) Зачем надо физически удалять поле таблицы, когда можно просто удалить или спрятать столбец Grid? Т.е. подавить отображение столбца, но не удалять сам столбец. Например, настройкой SET FIELDS TO
...
Рейтинг: 0 / 0
11.11.2007, 14:27
    #34930649
fox_vik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Drop column
FillyjonkНеобходимо по нажатию кнопки произвести удаление столбца из грида/таблицы, но caption столбцов не соответствуют названиям полей, то есть
CLOSE DATABASES all
thisform.grid1.RecordSource=""
new=alltRim(thisform.edit1.value)
*t=ALLTRIM(thisform.text2.value)
ALTER table table1 drop COLUMN &new

thisform.grid1.RecordSource='table1.dbf'

thisform.refresh
что надо поменять в этом коде, чтобы удалять по caption?
Найти колонку по caption заголовка колонки грид можно перебрав в цикле все колонки грида.
Для найденной колонки в свойстве text1.controlsource прочитать имя таблицы и поля, связанного с этой колонкой.
Вопрос необходимости это делать – за пределами данной темы.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Drop column / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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