Компьютерный форум NoWa.cc Здесь может быть Ваша реклама
Правила Форума
редакция от 22.06.2020
Форум .::NoWa.cc::.
Вернуться   Компьютерный форум NoWa.cc > В помощь вебмастеру > Программирование > Delphi

Уважаемые пользователи nowa.cc. Мы работаем для вас более 20 лет и сейчас вынуждены просить о финансовой помощи по оплате за сервер.
Окажите посильную поддержку, мы очень надеемся на вас. Реквизиты для переводов ниже.
Webmoney Webmoney WMZ: 826074280762 Webmoney WME: 804621616710
Кошелёк для вашей помощи YooMoney 4100117770549562
YooMoney Спасибо за поддержку!
Ответ
 
Опции темы Опции просмотра Language
Старый 04.06.2007, 05:21   #1
Пользователь
 
Аватар для Skazi
 
Пол:Мужской
Регистрация: 06.02.2006
Сообщений: 93
Репутация: 156
Exclamation Delphi7(BDS непредлагать) VS Excel

unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Controls, Forms,
Dialogs, DB, DBTables, Grids, DBGrids, AdvMenus,
AdvMenuStylers, Menus;
type
TForm1 = class(TForm)
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Table1: TTable;
AdvPopupMenu1: TAdvPopupMenu;
AdvMenuOfficeStyler1: TAdvMenuOfficeStyler;
N11: TMenuItem;
N21: TMenuItem;
N22: TMenuItem;
UpdateSQL1: TUpdateSQL;
Table1BDEDesigner: TStringField;
Table1BDEDesigner2: TStringField;
Table1BDEDesigner3: TStringField;
Table1BDEDesigner4: TFloatField;
Table1BDEDesigner5: TFloatField;
Table1BDEDesigner6: TDateTimeField;
procedure N11Click(Sender: TObject);
procedure N21Click(Sender: TObject);
procedure N22Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.N11Click(Sender: TObject);
begin
If AdvPopupMenu1.PopupComponent=DbGrid1 Then
Begin
With Table1 do
Begin
If State=dsBrowse Then
Insert;
End;
End;
end;
procedure TForm1.N21Click(Sender: TObject);
begin
If AdvPopupMenu1.PopupComponent=DbGrid1 Then
Begin
With Table1 do
Begin
If State=dsBrowse Then
Post;
End;
End;
end;

procedure TForm1.N22Click(Sender: TObject);
begin
If AdvPopupMenu1.PopupComponent=DbGrid1 Then
Begin
With Table1 do
Begin
If State=dsBrowse Then
Delete;
End;
End;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.Table1.Active:=True;
Form1.DataSource1.AutoEdit:=True;
end;
end.

Процедура в выделенном тексте неработает. Выкидывает сообщение что таблица открыта не в режиме редактирования или просмотра кто сталкивался подскажите чего делать немогу сохранять изменения удаляет и добавляет строки нормально. Через UpdateSQL тоже работать нехочет при сохранении. (общий доступ к книге открыт) Единственная заморочка возможно в том что офис стоит 2003.
Skazi вне форума
 
Ответить с цитированием Вверх
Здесь может быть Ваша реклама
Здесь может быть Ваша реклама


Реклама: Интегрируй приложения вместе с Альбато: интеграция ozon с vk - синхронизация за 5 минут!какие фигуристы будут участвовать в шоу этери тутберидзе 10 апреляНакладные светильникиntc10k датчик температурыдетский уголок со столом


Старый 04.06.2007, 08:45   #2
AlnZ
Пользователь
 
Аватар для AlnZ
 
Пол:Мужской
Регистрация: 23.08.2006
Адрес: Тихвин
Сообщений: 184
Репутация: 52
По умолчанию Ответ: Delphi7(BDS непредлагать) VS Excel

Ну и в чем проблема? Ведь все просто!
State=dsBrowse, когда мы находимся в режиме просмотра, а не редактирования. Т.е. State<>dsBrowse после Edit или Post! А у тебя?

Т.е. меняешь "=" на "<>".
Или перед Post Edit ставишь! (шутка )
__________________
Самая короткая дорога - та, которую знаешь.
AlnZ вне форума
 
Ответить с цитированием Вверх
Старый 04.06.2007, 09:16   #3
Skazi
Пользователь
 
Аватар для Skazi
 
Пол:Мужской
Регистрация: 06.02.2006
Сообщений: 93
Репутация: 156
По умолчанию Ответ: Delphi7(BDS непредлагать) VS Excel

единственная проблема в том что кады я пытаюсь прописать
procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.Table1.Active:=True;
Form1.DataSource1.AutoEdit:=True;
Form1.Ttable1.State=dsBrowse;
end;
Почемуто возникает ошибка при компиляции F1 юзал непомогает
Skazi вне форума
 
Ответить с цитированием Вверх
Старый 04.06.2007, 09:52   #4
AlnZ
Пользователь
 
Аватар для AlnZ
 
Пол:Мужской
Регистрация: 23.08.2006
Адрес: Тихвин
Сообщений: 184
Репутация: 52
По умолчанию Ответ: Delphi7(BDS непредлагать) VS Excel

Так, блин, это свойство только для чтения. Оно отображает текущее состояние набора данных. Это свойство ReadOnly!

Добавлено через 1 минуту
А текст ошибки? Он же ясно пишет что не может писать в свойство ReadOnly! Поставь хоть переводчик себе какой...
Если помогло, жми спасибо!
__________________
Самая короткая дорога - та, которую знаешь.

Последний раз редактировалось AlnZ; 04.06.2007 в 09:54.. Причина: Добавлено сообщение
AlnZ вне форума
 
Ответить с цитированием Вверх
Старый 05.06.2007, 04:34   #5
Skazi
Пользователь
 
Аватар для Skazi
 
Пол:Мужской
Регистрация: 06.02.2006
Сообщений: 93
Репутация: 156
По умолчанию Ответ: Delphi7(BDS непредлагать) VS Excel

Я вроде написал что выдает ошибку DataState is not Edit or Isert mode.
А при добавления строки Form1.Ttable1.State=dsBrowse; [dsEdit,dsInsert]
ну некомпилит он хоть убей.
Skazi вне форума
 
Ответить с цитированием Вверх
Старый 05.06.2007, 08:36   #6
AlnZ
Пользователь
 
Аватар для AlnZ
 
Пол:Мужской
Регистрация: 23.08.2006
Адрес: Тихвин
Сообщений: 184
Репутация: 52
По умолчанию Ответ: Delphi7(BDS непредлагать) VS Excel

Так!!!

Form1.Ttable1.State = dsBrowse

или

Form1.Ttable1.State := dsBrowse

т.е. "=" или ":="

Зачем строку "Form1.Ttable1.State := dsBrowse" добавлять? Если это свойство отоброжает состояние данных и управляетьяс самим объектом?

А ошибка "DataState is not Edit or Isert mode." означает, что ты попытался сделать Post, до того, как набор данных был открыт на редактирование! Т.е. Post нужно делать, когда State НЕ РАВЕН dsBrowse!
И я это в своем первом ответе написал!
Надо в условии "=" поменять на "<>".
А строчку "Form1.Ttable1.State := dsBrowse" (если она есть) убрать нафиг!!!
__________________
Самая короткая дорога - та, которую знаешь.
AlnZ вне форума
 
Ответить с цитированием Вверх
Старый 06.06.2007, 06:26   #7
Skazi
Пользователь
 
Аватар для Skazi
 
Пол:Мужской
Регистрация: 06.02.2006
Сообщений: 93
Репутация: 156
По умолчанию Ответ: Delphi7(BDS непредлагать) VS Excel

проблема в том что я немогу Form1.Ttable1.State := dsBrowse или <> компилятор выдет ошибку. Убираю совсем строку всеравно недобавляет данные ругаеться на datastate mode.
Skazi вне форума
 
Ответить с цитированием Вверх
Старый 06.06.2007, 08:06   #8
Satman
Неактивный пользователь
 
Аватар для Satman
 
Регистрация: 13.04.2007
Адрес: Черкесск
Сообщений: 40
Репутация: 83
По умолчанию Ответ: Delphi7(BDS непредлагать) VS Excel

А если сделать Table1.Edit;
не поможет ?
Satman вне форума
 
Ответить с цитированием Вверх
Старый 07.06.2007, 11:41   #9
Skazi
Пользователь
 
Аватар для Skazi
 
Пол:Мужской
Регистрация: 06.02.2006
Сообщений: 93
Репутация: 156
По умолчанию Ответ: Delphi7(BDS непредлагать) VS Excel

попробую незнаю мож и поможет завтра отпишусь а вообще ктонибудь могет код небольшой выложить для редактирования таблицы excel через dbgrid. с использованием например popupmenu либо кнопок.
Skazi вне форума
 
Ответить с цитированием Вверх
Старый 07.06.2007, 13:31   #10
AlnZ
Пользователь
 
Аватар для AlnZ
 
Пол:Мужской
Регистрация: 23.08.2006
Адрес: Тихвин
Сообщений: 184
Репутация: 52
По умолчанию Ответ: Delphi7(BDS непредлагать) VS Excel

Form1.Ttable1.State=dsBrowse; - убираешь нафиг! ОНА НЕ НУЖНА!

а вместо:
If State=dsBrowse Then

пишеш:
If State<>dsBrowse Then

в чем проблема?
__________________
Самая короткая дорога - та, которую знаешь.
AlnZ вне форума
 
Ответить с цитированием Вверх
Ответ


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Установка odac + mydac в Delphi7 evgen_vas55 Delphi 8 31.01.2013 16:40
Установка odac + mydac в Delphi7 evgen_vas55 Компоненты 5 16.12.2010 00:53
Delphi7 - Символ продолжения строки ch_vas Delphi 13 16.01.2010 03:43
delphi7 +xml 100мб Mutabor182 Delphi 2 08.03.2009 11:52
Запрос Access2007 в Delphi7 dimarix Delphi 6 07.04.2008 09:08

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 14:35. Часовой пояс GMT +3.


Copyright ©2004 - 2025 NoWa.cc

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
Время генерации страницы 0.16043 секунды с 11 запросами