Поиск:

Ответ в темуСоздание новой темы Создание опроса
> не могу скопировать запись, копирование записей 
:(
    Опции темы
Neox_GeForce
Дата 31.5.2008, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 14.11.2007
Где: Украина

Репутация: нет
Всего: нет



использую ADO, БД Access
мне нужно скопировать запись с DBGrid в таблицу, на форуме смотрел есть SQL i какая то процедура но не получается у меня работать с ними.
вот скрин что я хочу 

Это сообщение отредактировал(а) Neox_GeForce - 31.5.2008, 12:46

Присоединённый файл ( Кол-во скачиваний: 14 )
Присоединённый файл  _______.JPG 80,78 Kb


--------------------
user posted image
Челябинские программисты настолько суровы, что обходятся без компиляторов.
Челябинские программисты настолько суровы, что считают ассемблер недопустительной роскошью - они вручную магнетизируют участки жесткого диска.
PM MAIL ICQ   Вверх
Данкинг
Дата 31.5.2008, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Недавно где-то обсуждалось вроде. Проходи циклом по первой таблице и копируй во вторую.
ЗЫ: "BusinessSkin" рулит. smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Neox_GeForce
Дата 31.5.2008, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 14.11.2007
Где: Украина

Репутация: нет
Всего: нет



я придумал как ето сделать но мне надо посчитать количество записей в таблице, я беру записи из ADOQuery, то есть мне надо посчитать количество записей поля IDTov запроса All. Вот вопрос: можно ли другое Query применять к етому, если можно то почему здесь в SQl выкидывает ошибка 
Код

SELECT count(IDTov)
FROM All

Ошибка синтаксиса в предложении FROM


--------------------
user posted image
Челябинские программисты настолько суровы, что обходятся без компиляторов.
Челябинские программисты настолько суровы, что считают ассемблер недопустительной роскошью - они вручную магнетизируют участки жесткого диска.
PM MAIL ICQ   Вверх
Данкинг
Дата 31.5.2008, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Цитата(Neox_GeForce @  31.5.2008,  15:35 Найти цитируемый пост)
Ошибка синтаксиса в предложении FROM 

Может быть, на слово ALL ругается. А вообще, насколько я знаю, запросом из запроса выбрать нельзя. Могу, конечно, ошибаться.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Neox_GeForce
Дата 31.5.2008, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 14.11.2007
Где: Украина

Репутация: нет
Всего: нет



я уже научился копировать записи, но мне надо сделать так чтоб уже скопирование записи нельзя было копировать
вот процедура копирования
Код

procedure TForm5.sButton1Click(Sender: TObject);
var k,i,i2:integer;
 s:variant;
begin
  i:=dbgrid1.Columns.Count;
  for k:=0 to i-1 do
  begin
  data.Checki.Edit;
  s:=DBGrid1.Fields[k].Value;
  DBgrid2.Fields[k].Value:=s;
  s:=0;
  end;
  DBNavigator1.BtnClick(nbPost);
  DBNavigator1.BtnClick(nbInsert);
end;

есть ли какие функций которые делают ряд DBGrida невидимим или еще что нибудь, помогите плиз


--------------------
user posted image
Челябинские программисты настолько суровы, что обходятся без компиляторов.
Челябинские программисты настолько суровы, что считают ассемблер недопустительной роскошью - они вручную магнетизируют участки жесткого диска.
PM MAIL ICQ   Вверх
Данкинг
Дата 31.5.2008, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



1. Копируй не в гриде,а в таблице, которая к нему привязана.
2. Тогда в самой таблице можно будет создать некое поле (к примеру, логическое), где отмечать те строки, которые уже копировались.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Neox_GeForce
Дата 31.5.2008, 18:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 14.11.2007
Где: Украина

Репутация: нет
Всего: нет



а есть какая то функция для таблиц на подобе DBGrid1.Fields[k].Value и как копируются lookup поля а то преждим методом в них ничего не копировалось
Наверное ето нерешимая проблема для меня новачка smile 

Это сообщение отредактировал(а) Neox_GeForce - 31.5.2008, 18:40


--------------------
user posted image
Челябинские программисты настолько суровы, что обходятся без компиляторов.
Челябинские программисты настолько суровы, что считают ассемблер недопустительной роскошью - они вручную магнетизируют участки жесткого диска.
PM MAIL ICQ   Вверх
Neox_GeForce
Дата 31.5.2008, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 14.11.2007
Где: Украина

Репутация: нет
Всего: нет



в таблице я не умею копировать потому придумал ето но викидивает страшную ошибку
Код

procedure TForm5.sButton1Click(Sender: TObject);
var k,i,i2:integer;
 s:variant;
begin
  i:=dbgrid1.Columns.Count;
  for k:=0 to i-3 do
  begin
  data.Checki.Edit;
  s:=DBGrid1.Fields[k].Value;
 DBgrid2.Fields[k].Value:=s;
  s:=0;
  end;
 data.tovary.Edit;
DBGrid1.Fields[i].Value:=true; {не работает}
  DBNavigator1.BtnClick(nbPost);
  DBNavigator1.BtnClick(nbInsert);
end;

ето i-тое поле есть логическое, правильно ли я вношу изменения, заранее спасибо


--------------------
user posted image
Челябинские программисты настолько суровы, что обходятся без компиляторов.
Челябинские программисты настолько суровы, что считают ассемблер недопустительной роскошью - они вручную магнетизируют участки жесткого диска.
PM MAIL ICQ   Вверх
Neox_GeForce
Дата 31.5.2008, 20:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 14.11.2007
Где: Украина

Репутация: нет
Всего: нет



немножко разбираюся уже в роботе но хочу спросить еще в аксесе поле логическое выбирать да/нет, истина/ложь
и тип ставить флажок или поле*


--------------------
user posted image
Челябинские программисты настолько суровы, что обходятся без компиляторов.
Челябинские программисты настолько суровы, что считают ассемблер недопустительной роскошью - они вручную магнетизируют участки жесткого диска.
PM MAIL ICQ   Вверх
Neox_GeForce
Дата 31.5.2008, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 14.11.2007
Где: Украина

Репутация: нет
Всего: нет



я додал логическое поле  но не знаю как сделать так чтобпри обнаружении true процедура клика не исполнялась дальше вообще
Код

procedure TForm5.sButton1Click(Sender: TObject);
var k,i,i2:integer;
 s:variant;
begin
  data.Checki.Edit;
  data.Checki.Insert;
  i:=dbgrid1.Columns.Count;
  if data.tovary.Fields.Fields[11].AsBoolean=true then
  begin
  ShowMessage('Це Поле уже додане!');
  // ЗДЕСЬ НАДО ВЫЙТИ ВООБЩЕ
  end;
  for k:=0 to i-2 do
  begin
  s:=data.tovary.Fields.Fields[k].AsVariant;
  data.tovary.Edit;
  data.tovary.Fields.Fields[11].AsBoolean:=true;
  data.tovary.Post;
  data.Checki.Fields.Fields[k].AsVariant:=s;
  end;
  data.Checki.Post;
end;



--------------------
user posted image
Челябинские программисты настолько суровы, что обходятся без компиляторов.
Челябинские программисты настолько суровы, что считают ассемблер недопустительной роскошью - они вручную магнетизируют участки жесткого диска.
PM MAIL ICQ   Вверх
Neox_GeForce
Дата 31.5.2008, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 14.11.2007
Где: Украина

Репутация: нет
Всего: нет



я вовсе забыл про goto, предидущу проблему решил
но вот другая надо чтоб при удалении из одной таблицы меня лося поле первой таблицы
Код

unit search;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, SkinCtrls, SkinData, DynamicSkinForm, StdCtrls, Mask,
  SkinBoxCtrls, spMessages, DBCtrls, SkinExCtrls, ExtCtrls, Grids, DBGrids,
  sEdit, sLabel, sButton, ImgList, ActnMan, ActnColorMaps, OleServer,
  WordXP, sComboBoxes, sCheckBox;

type
  TForm5 = class(TForm)
    spSkinData1: TspSkinData;
    spCompressedStoredSkin1: TspCompressedStoredSkin;
    spSkinButton1: TspSkinButton;
    spSkinCheckRadioBox1: TspSkinCheckRadioBox;
    spSkinCheckRadioBox2: TspSkinCheckRadioBox;
    DBLookupComboBox1: TDBLookupComboBox;
    DBLookupComboBox2: TDBLookupComboBox;
    polosa: TspSkinAnimateGauge;
    DBGrid1: TDBGrid;
    sEdit1: TsEdit;
    sLabelFX1: TsLabelFX;
    spSkinButton2: TspSkinButton;
    ImageList1: TImageList;
    Timer1: TTimer;
    spDynamicSkinForm1: TspDynamicSkinForm;
    DBGrid2: TDBGrid;
    sButton1: TsButton;
    DBNavigator1: TDBNavigator;
    sButton2: TsButton;
    sButton3: TsButton;
    procedure spSkinButton1Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure spSkinButton2Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure sEdit1Change(Sender: TObject);
    procedure DBLookupComboBox1Click(Sender: TObject);
    procedure DBLookupComboBox2Click(Sender: TObject);
    procedure spSkinCheckRadioBox1Click(Sender: TObject);
    procedure spSkinCheckRadioBox2Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure sButton1Click(Sender: TObject);
    procedure sLabel1Click(Sender: TObject);
    procedure sButton2Click(Sender: TObject);
    procedure sButton3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form5: TForm5;

implementation

uses DM, tovary2, Unit2, Unit3, Unit4, zastavka;

{$R *.dfm}



procedure TForm5.spSkinButton1Click(Sender: TObject);
begin
Form5.Visible:=false;
tovary.Visible:=true;
end;

procedure TForm5.FormShow(Sender: TObject);
var iconindex:integer;
begin
iconindex:=0;
form5.ImageList1.GetIcon(iconindex,Application.icon);
end;

procedure TForm5.spSkinButton2Click(Sender: TObject);
begin
{ADOQuery1.SQL.text:='Select * From MyTable Where MyField=:prm';
.Parameters.ParamByName('prm').Value:='чего-то там';  }
polosa.ProgressText:='ПОШУК...';
polosa.StartAnimation;
data.tovary.Filtered:=true;
end;

procedure TForm5.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Form5.Visible:=false;
tovary.Visible:=true;
end;

procedure TForm5.sEdit1Change(Sender: TObject);
begin
data.tovary.Filtered:=true;
data.tovary.Refresh;
end;



procedure TForm5.DBLookupComboBox1Click(Sender: TObject);
begin
data.tovary.Filtered:=true;
data.tovary.Refresh;
end;

procedure TForm5.DBLookupComboBox2Click(Sender: TObject);
begin
data.tovary.Filtered:=true;
data.tovary.Refresh;
end;

procedure TForm5.spSkinCheckRadioBox1Click(Sender: TObject);
begin
if spSkinCheckRadioBox1.Checked=true then   dblookupcombobox1.Visible:=true else dblookupcombobox1.Visible:=false;
data.tovary.Filtered:=true;
data.tovary.Refresh;
end;

procedure TForm5.spSkinCheckRadioBox2Click(Sender: TObject);
begin
if spSkinCheckRadioBox2.Checked=true then   dblookupcombobox2.Visible:=true else dblookupcombobox2.Visible:=false;
data.proia.Active:=true;
data.tovary.Filtered:=true;
data.tovary.Refresh;
end;

procedure TForm5.Timer1Timer(Sender: TObject);
var iconindex:integer;
begin

ImageList1.GetIcon(2,Application.icon);
iconindex:=iconindex+1;
if iconindex>4 then iconindex:=0;

end;

procedure TForm5.sButton1Click(Sender: TObject); //ТУТ КНОПКА ДОДАТИ
label exit;
var k,i,i2:integer;
 s:variant;
begin
  data.Checki.Edit;
  data.Checki.Insert;
  i:=dbgrid1.Columns.Count;
  if data.tovary.Fields.Fields[11].AsBoolean=true then
  begin
  ShowMessage('Це Поле уже додане!');
  goto exit;
  end;
  for k:=0 to i-2 do
  begin
  s:=data.tovary.Fields.Fields[k].AsVariant;
  data.tovary.Edit;
  data.tovary.Fields.Fields[11].AsBoolean:=true;
  data.tovary.Post;
  data.Checki.Fields.Fields[k].AsVariant:=s;
  data.Checki.FieldByName('date').AsDateTime:=Date();
  end;
  data.Checki.Post;
exit: data.Checki.Refresh;
 end;

procedure TForm5.sLabel1Click(Sender: TObject);
begin
//sCheckbox1.Checked:=data.tovary.Fields.Fields[11].AsBoolean;
end;

procedure TForm5.sButton2Click(Sender: TObject); //ТУТ КНОПКА ОЧИСТИТЬ
var i,k:integer;
begin
data.checki.Active:=false;
data.DELTEMPE.Execute;
data.Checki.Active:=true;
i:=dbgrid1.Columns.Count;

data.tovary.First;
for k:=0 to i do
begin
data.tovary.Edit;
data.tovarylogik.Value:=false;
data.tovary.Post;
data.tovary.Next;
end;
//data.Checki.Refresh;
end;

procedure TForm5.sButton3Click(Sender: TObject); //А ВОТ КНОПКА  ВИДАЛИТИ(УДАЛИТЬ)
begin
DBnavigator1.BtnClick(nbDelete);
data.tovary.Edit;
data.tovary.FieldByName('logik').AsBoolean:=false;
end;

end.


Это сообщение отредактировал(а) Neox_GeForce - 31.5.2008, 23:23

Присоединённый файл ( Кол-во скачиваний: 9 )
Присоединённый файл  ret.JPG 112,38 Kb


--------------------
user posted image
Челябинские программисты настолько суровы, что обходятся без компиляторов.
Челябинские программисты настолько суровы, что считают ассемблер недопустительной роскошью - они вручную магнетизируют участки жесткого диска.
PM MAIL ICQ   Вверх
Neox_GeForce
Дата 1.6.2008, 00:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 14.11.2007
Где: Украина

Репутация: нет
Всего: нет



ну кто нить помогите плиз


--------------------
user posted image
Челябинские программисты настолько суровы, что обходятся без компиляторов.
Челябинские программисты настолько суровы, что считают ассемблер недопустительной роскошью - они вручную магнетизируют участки жесткого диска.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0578 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.