|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
редактирование Dbf файла
Добрый день!
Подскажите пожалуйста,как мне лучше сделать? К нам в организацию присылают файлы .dbf (dbase4),задача состоит в том,чтобы пользователь выбрал файл(который был прислан),затем ввел некоторое значение,например в Edit и автоматом проставились все значения в определенном столбце файла В принцепи никогда не работал с Dbase Щас реализовал следующее,выбираю нужный мне dbf файл,он спокойненько отображается в DBgridе,вот теперь встает вопрос как проставить значения быстрее и лучше? Есть мысля,использовать Query, и через update изменить нужный мне столбец,только синтаксис не очень понятен,т.е. понятно что синтакси UPDATE таблица SET столбец=новому значению WHERE <условие> но не пойму как правильно написать запрос с dbf файлом,что является таблицей здесь? |
#2
|
||||
|
||||
Сам DBF-файл это и есть таблица. А вот каталог в котором он располагается это типа БД. В вашем случае можно обойтись без SQL и сделать так:
Код:
DBGrid1.DataSource.DataSet.First; while not DBGrid1.DataSource.DataSet.Eof do begin DBGrid1.DataSource.DataSet.Edit; DBGrid1.DataSource.DataSet.FieldByName(DBGrid1.SelectedField.FieldName).Value := Edit1.Text; DBGrid1.DataSource.DataSet.Post; DBGrid1.DataSource.DataSet.Next; end; Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#3
|
|||
|
|||
Цитата:
ага,согласен с вами,но мне нужно менять определенный столбец dbf файла,а он получается меняет первый т.е если конечно поместить курсор на то поле которое необходимо править,тогда да,он всё изменяет корректно,о нужно чтобы пользователь по гриду не шарился,а ввел значение в эдит,нажал кнопку,а в нужном поле всё поменялось,как так сделатЬ? Последний раз редактировалось den_d.i., 27.12.2011 в 11:48. |
#4
|
||||
|
||||
Так укажи вместо DBGrid1.SelectedField.FieldName свое поле в чем проблема?
Код:
DBGrid1.DataSource.DataSet.FieldByName('MyField').Value := Edit1.Text; Google в помощь |
#5
|
|||
|
|||
Цитата:
блин....точно,мы же можем указывать конкретное поле,спасибо огромейшее |
#6
|
|||
|
|||
Может кто ещё подскажет в таком вопросе?
необходимо также вести лог-файл,например записывать все действия в текстовый документ Хотят чтобы было: Когда пользователь открыл прогу Когда нажал на кнопку(определенную) Какие изменения были сделаны(т.е. пользователь добавляет в некий столбец новые данные, эти данные должны попасть в лог,можно ли такое сделать или нет?) также когда закрыл прогу |
#7
|
|||
|
|||
Вопрос закрыт!)
|