C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Лена, Как удалять записи из таблицы DBF?
Лена
Отправлено: 18.10.2005, 12:39


Мастер участка

Группа: Участник
Сообщений: 501



Подскажите, как удалять записи и колонки из таблицы DBF?
У меня есть таблица, я ее открыла, а меню удаления не доступно. Рисунок прилагаю. Как исправить?



Присоединить изображение

Присоединить изображение

olegenty
Отправлено: 18.10.2005, 13:23


Ветеран

Группа: Модератор
Сообщений: 2412



всё проще намного:


Присоединить изображение

Присоединить изображение

Лена
Отправлено: 18.10.2005, 14:04


Мастер участка

Группа: Участник
Сообщений: 501



Тут я была, но как удалять в нем записи и строки?
Может эта таблица типа read only? Как тип тогда поменять?

Присоединить изображение

Присоединить изображение

gvg
Отправлено: 18.10.2005, 15:27


Машинист паровоза

Группа: Участник
Сообщений: 222



Включить редактирование таблицы — все станет доступным
Лена
Отправлено: 18.10.2005, 15:34


Мастер участка

Группа: Участник
Сообщений: 501



Да, тормознула smile.gif
Записи теперь могу удалить, а как удалить целые колонки? В окне Restructure не пойму как удалить всю колонку.
gvg
Отправлено: 18.10.2005, 15:40


Машинист паровоза

Группа: Участник
Сообщений: 222



Там есть кнопочка Help
QUOTE

To delete a field from the Field Roster, select it and press Ctrl+Del. Database Desktop deletes the entire row.
Лена
Отправлено: 18.10.2005, 15:43


Мастер участка

Группа: Участник
Сообщений: 501



Спасибо.
Теперь другая напасть не могу сохранить модифицированную таблицу. Кнопки Save не доступны sad.gif см.рисунок

Присоединить изображение

Присоединить изображение

gvg
Отправлено: 18.10.2005, 15:48


Машинист паровоза

Группа: Участник
Сообщений: 222



Там свои кнопки Save и Save as на окне Restructure

Лена
Отправлено: 18.10.2005, 15:59


Мастер участка

Группа: Участник
Сообщений: 501



Да интересный интрефейс smile.gif
Спасибо за помощь!
Скажите, а как убрать сразу из всей колонки нули после запятой?
Колонка ID.

Присоединить изображение

Присоединить изображение

gvg
Отправлено: 18.10.2005, 16:07


Машинист паровоза

Группа: Участник
Сообщений: 222



smile.gif Если убрать из таблицы дробную часть, то сделать Dec=0 у нужного поля, тогда там будут целые числа с соответствующим отображением. Тормозим по полной программе? biggrin.gif
Лена
Отправлено: 18.10.2005, 16:17


Мастер участка

Группа: Участник
Сообщений: 501



>Тормозим по полной программе?

Да уж smile.gif
Благодоря вам освоила Database Desktop smile.gif
Лена
Отправлено: 18.10.2005, 16:20


Мастер участка

Группа: Участник
Сообщений: 501



Нет еще не освоила smile.gif
Не удается удалять несколько записей подряд, только по одной.
Пытаюсь выделить их при нажатом Shift — выделяет только одну запись.
Если я определила индекс по второй колонке сортирующий записи таблицы по алфавиту, то как увидеть его работу не в самом приложении, а не посредственно в Database Desktop?

Отредактировано Лена — 19/10/2005, 10:03
** Zoth
Отправлено: 19.10.2005, 19:46


Не зарегистрирован







Если бы такие вопросы задавал пользователь с мужским ником его бы отправили в хелп smile.gif

Guest
Отправлено: 01.11.2005, 20:17


Не зарегистрирован







QUOTE (gvg @ 18/10/2005, 16:07)
smile.gif Если убрать из таблицы дробную часть, то сделать Dec=0 у нужного поля, тогда там будут целые числа с соответствующим отображением. Тормозим по полной программе? biggrin.gif

По умолчанию, даже для DEC = 0 выводятся две дробные цифры. Учи матчасть студент.
Guest
Отправлено: 01.11.2005, 20:20


Не зарегистрирован







QUOTE (Лена @ 18/10/2005, 16:20)
Нет еще не освоила smile.gif
Не удается удалять несколько записей подряд, только по одной.
Пытаюсь выделить их при нажатом Shift — выделяет только одну запись.
Если я определила индекс по второй колонке сортирующий записи таблицы по алфавиту, то как увидеть его работу не в самом приложении, а не посредственно в Database Desktop?

DataBase Desktop — это для нищих.

Если приходится много работать с DBF файлами, тогда лучше установить FoxPro. Там удаление записи, один щелчок мыши и в отличие от dataBase Desktop, можно задать индекс, по которой выводятся записи.
Guest
Отправлено: 01.11.2005, 20:27


Не зарегистрирован







QUOTE (** Zoth @ 19/10/2005, 19:46)
Если бы такие вопросы задавал пользователь с мужским ником его бы отправили в хелп smile.gif

А по секрету, сможешь сказать где в хелпе написано, как выводить записи файлов DBF по индексу?

Или ты тоже как осталдьные? Только чтоб лапшу навешать?
AVC
Отправлено: 02.11.2005, 09:38


Ветеран

Группа: Модератор
Сообщений: 1583



QUOTE (Guest @ 01/11/2005, 19:17)

QUOTE (gvg @ 18/10/2005, 16:07)
smile.gif Если убрать из таблицы дробную часть, то сделать Dec=0 у нужного поля, тогда там будут целые числа с соответствующим отображением. Тормозим по полной программе?  biggrin.gif

По умолчанию, даже для DEC = 0 выводятся две дробные цифры. Учи матчасть студент.

2Guest (Ужгород?)
Вы наварное не в курсе, но dbf (по крайней мере до IV включительно) хранит данные во внешнем представлении, т.е. для таблицы со структурой "N1 N2 N2 N1 N3 N6.2" данные в файле выглядят так "1.8.00.61..5.00" (пробелы заменены точками).
А следовательно для N?.0 десятичным разрядам просто неоткуда взяться. А то что вы видете (где?) это скорее всего следствие применение формата "по-умолчанию" для обратного перевода из double к строке.

QUOTE

Если приходится много работать с DBF файлами, тогда лучше установить FoxPro.

Правильно.

QUOTE

где в хелпе написано, как выводить записи файлов DBF по индексу?

Зависит от "чем работать". Например для BDE в TTable, а еще в bde32.hlp можно посмотреть.
Guest
Отправлено: 02.11.2005, 12:30


Не зарегистрирован







2AVC(ФСБ? smile.gif)
QUOTE
Вы наверное не в курсе, но dbf (по крайней мере до IV включительно) хранит данные во внешнем представлении
я создаю своим кодом dbf-файлы, открываю и меняю как двоичные. Т.е. кое-что о строение Dbf файлов знаю.
QUOTE
А следовательно для N?.0 десятичным разрядам просто неоткуда взяться/  А то что вы видете (где?) это скорее всего следствие применение формата "по-умолчанию" для обратного перевода из double к строке.
Перед выводом на экран, числовые данные форматируются. Для данных Number типа Database Desktop использует
установку "Количество дробных знаков Чисел" операционной системы.
Если там установлено 1, тогда в DD в полях Number будет одна дес.цифра, независимо от реальных дес.цифр поля. Для N0 есть нюансы, в зависимости от того, DD создала таблицу или нет.
QUOTE
Зависит от "чем работать". Например для BDE в TTable, а еще в bde32.hlp можно посмотреть.
Вопрос, как вывести записи dbf файла согласно некоторому индексу? Ответ — Никак(макс. предварительная физ.сортировка).
avc*
Отправлено: 02.11.2005, 12:49


Не зарегистрирован







QUOTE
2AVC(ФСБ? )

Нет, надо же как-то отличать гостя от гостя. Просто можно было бы как то себя и назвать, если уж вы вступаете в дискуссию.

QUOTE

я создаю своим кодом dbf-файлы, открываю и меняю как двоичные. Т.е. кое-что о строение Dbf файлов знаю.

Я рад за вас.

QUOTE

Вопрос, как вывести записи dbf файла согласно некоторому индексу? Ответ — Никак(макс. предварительная физ.сортировка).

Лет пять не писал ничего серьезного с dbf, но затруднений не помню. Сейчас попытаюсь вспомнить.
avc*
Отправлено: 02.11.2005, 13:18


Не зарегистрирован







QUOTE

QUOTE

Вопрос, как вывести записи dbf файла согласно некоторому индексу? Ответ — Никак(макс. предварительная физ.сортировка).

Сейчас попытаюсь вспомнить.

Попробовал. Взял файл Лены (_road из другого топика) приделал ему два индекса (cdx), бросил на форму TTable, DataSource, TDBGrid. Связал и настроил.
Открыл tabl'у — записи в физическом порядке.
В комбо IndexFieldNames выбрал тег ID — записи в порядке возрастания ID
Выбрал тег NAM_STR — в порядке возростания nam_str.
Так что кому учить матчасть это еще вопрос.

В свое время писал компонент для работы с fox'овскими таблицами, но это было связано не с тем, что table не работает с индексами, а с тем, что индексы должны находиться в одном каталоге с dbf. Пришлось отучивать.
Guest
Отправлено: 02.11.2005, 16:23


Не зарегистрирован







QUOTE
Так что кому учить матчасть это еще вопрос.

Уважаемый AVC. Этот топик сугубо о Database Desktop. Я предполагал, что Вы кроме моих постов читали и остальные посты. Вот пост, в котором говорится об индексах.

QUOTE
Если я определила индекс по второй колонке сортирующий записи таблицы по алфавиту, то как увидеть его работу не в самом приложении, а не посредственно в Database Desktop?

На это последовал ответ, типа в хелпе написано.

На счет индексов, все что Database Desktop может, это выводить Paradox файлы по первичному ключу.

Чтоб Вы снова что-то поняли неправильно, добавлю, я говорю о Table View data и Edit Data, а не об утилите Restructure, и никакой речи о СBuilder и его компонентах не идет.

AVC
Отправлено: 02.11.2005, 17:01


Ветеран

Группа: Модератор
Сообщений: 1583



QUOTE

Уважаемый AVC. Этот топик сугубо о Database Desktop.

Да действительно, "тормозим по полной программе" (это я о себе).
К моменту, когда дошел до ваших постов я об этом как-то забыл, тем более, что читал не все сразу а по мере добавления. А ваших постах о DBD речи не было.
DBD одна из смых неудачных утилит для работы с базой которую я видел.

Отредактировано AVC — 02/11/2005, 16:04

Вернуться в Работа с базами данных в C++Builder