Форум по программированию Delphi Sources

 



Вернуться   Форум по программированию Delphi Sources > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #16  
Старый 15.10.2012, 10:11
Andrej-zhe Andrej-zhe вне форума
Прохожий
 
Регистрация: 28.08.2012
Адрес: Курск
Сообщения: 49
Репутация: 10
По умолчанию

Вставил код, ругается на вот эту строчку.
Код:
RangeE: Excel2000.Range; 
а конкретно на Range, что делать?
Ответить с цитированием
  #17  
Старый 15.10.2012, 11:28
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от Andrej-zhe
Вставил код, ругается на вот эту строчку.
Код:
RangeE: Excel2000.Range; 
а конкретно на Range, что делать?
Добавь в uses Excel2000.
Или если ты вместо модуля Excel2000 используешь модуль ExcelXP, то обрати внимание, что в нём Range заменили на ExcelRange, видимо чтобы не было путаницы с другим Range из модуля Word2000/WordXP.
Ответить с цитированием
  #18  
Старый 15.10.2012, 11:36
Andrej-zhe Andrej-zhe вне форума
Прохожий
 
Регистрация: 28.08.2012
Адрес: Курск
Сообщения: 49
Репутация: 10
По умолчанию

в uses все добавлено. А если ворд 10?
Ответить с цитированием
  #19  
Старый 15.10.2012, 11:45
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от Andrej-zhe
в uses все добавлено. А если ворд 10?
Ворд тут не причём.
Всё равно попробуй заменить Range на ExcelRange.
Ответить с цитированием
  #20  
Старый 15.10.2012, 12:06
Andrej-zhe Andrej-zhe вне форума
Прохожий
 
Регистрация: 28.08.2012
Адрес: Курск
Сообщения: 49
Репутация: 10
По умолчанию

все ошибка пропала, но теперь тут ругается
Код:
RangeE.Value:=Query1.Fields[i].DisplayLabel;
если я правильно понял то неможет присвоить или с типами что то?
Прошу прощения за свое нубство я мало что понимаю пока в БД

Последний раз редактировалось Andrej-zhe, 15.10.2012 в 12:16.
Ответить с цитированием
  #21  
Старый 15.10.2012, 13:35
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от Andrej-zhe
все ошибка пропала, но теперь тут ругается
Код:
RangeE.Value:=Query1.Fields[i].DisplayLabel;
если я правильно понял то неможет присвоить или с типами что то?
Прошу прощения за свое нубство я мало что понимаю пока в БД
У меня никаких ошибок не выдаёт.
Ответить с цитированием
  #22  
Старый 15.10.2012, 14:21
Andrej-zhe Andrej-zhe вне форума
Прохожий
 
Регистрация: 28.08.2012
Адрес: Курск
Сообщения: 49
Репутация: 10
По умолчанию

ну вот что пишет
[DCC Error] Unit1.pas(55): E2029 '[' expected but ':=' found
[DCC Error] Unit1.pas(55): E2010 Incompatible types: 'Procedure' and 'string'
[DCC Error] Unit1.pas(61): E2010 Incompatible types: 'AnsiString' and 'TBytes'
Ответить с цитированием
  #23  
Старый 15.10.2012, 15:01
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от Andrej-zhe
ну вот что пишет
[DCC Error] Unit1.pas(55): E2029 '[' expected but ':=' found
[DCC Error] Unit1.pas(55): E2010 Incompatible types: 'Procedure' and 'string'
[DCC Error] Unit1.pas(61): E2010 Incompatible types: 'AnsiString' and 'TBytes'
Значит ты всётаки используешь модуль ExcelXP, а не Excel2000. В таком случае либо указывай после Value в квадратных скобках EmptyParam (подробнее тут), либо вместо Value используй Value2 или Formula.
Ответить с цитированием
Этот пользователь сказал Спасибо poli-smen за это полезное сообщение:
Andrej-zhe (15.10.2012)
  #24  
Старый 15.10.2012, 16:17
Andrej-zhe Andrej-zhe вне форума
Прохожий
 
Регистрация: 28.08.2012
Адрес: Курск
Сообщения: 49
Репутация: 10
По умолчанию

Использую Value2 роде все работает только пришлось закоментировать
Код:
//Bookmark := Query1.Bookmark;

так как не нашел как исправить то, что он ругается на нее.
И вот еще какой момент. Что сделать чтобы в некоторых полях впереди не обрезались 0.
Ответить с цитированием
  #25  
Старый 15.10.2012, 17:15
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от Andrej-zhe
Использую Value2 роде все работает только пришлось закоментировать
Код:
//Bookmark := Query1.Bookmark;

так как не нашел как исправить то, что он ругается на нее.
Не знаю. У меня не ругается.
Там в принципе можно вместо закладки сохранять номер текущей записи (aDataSet.RecNo), а в конце восстанавливать. А можно и ничего не сохранять и не восстанавливать, тогда после экспорта текущей записью окажется последняя запись, а не та которая была до экспорта.
Цитата:
Сообщение от Andrej-zhe
И вот еще какой момент. Что сделать чтобы в некоторых полях впереди не обрезались 0.
По умолчанию формат ячейки "Общий". Перед присвоением значения делай формат ячейки "Текст":
Код:
RangeE.NumberFormat := '@';
Ответить с цитированием
  #26  
Старый 18.10.2012, 11:12
Andrej-zhe Andrej-zhe вне форума
Прохожий
 
Регистрация: 28.08.2012
Адрес: Курск
Сообщения: 49
Репутация: 10
По умолчанию

Подскажите еще вот такой момент.
Удаляя все строки в файле в который выводится информация перед выходом из программы
Код:
tblSbor.Close;
tblSbor.EmptyTable;
tblSbor.Open;
в файле остается одна пустая строка. как делать удаление всех записей чтобы в файле остались только наименование сталбцов (пустой файл).

Последний раз редактировалось Andrej-zhe, 18.10.2012 в 11:16.
Ответить с цитированием
  #27  
Старый 18.10.2012, 11:17
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от Andrej-zhe
Подскажите еще вот такой момент.
Удаляя все строки в файле в который выводится информация перед выходом из программы котом
Код:
tblSbor.Close;
tblSbor.EmptyTable;
tblSbor.Open;
но в файле остается одна пустая строка. как делать удаление всех записей чтобы в файле остались только наименование сталбцов (пустой файл).
Ты уверен что остаётся одна пустая строка?
Попробуй после этого кода прочитать количество записей в таблице:
Код:
  ShowMessage('В таблице осталось записей: ' + IntToStr(tblSbor.RecordCount));
Ответить с цитированием
  #28  
Старый 18.10.2012, 11:29
Andrej-zhe Andrej-zhe вне форума
Прохожий
 
Регистрация: 28.08.2012
Адрес: Курск
Сообщения: 49
Репутация: 10
По умолчанию

да 0 записей, а как тогда поступить. Ситуация следующая.
когда я вывожу информацию в dbgrid то при завершении программы эти данные сохраняются в sbor.dbf. При повторном запуске программы и выборе какой либо информации, эта информация дописывается в sbor.dbf. Таким образом пользователь может получить через пол года файл БД размером в несколько Гб. Я делаю удаление всех записей после завершения программы. Но при запуске с очищенным файлом у меня вывод информации отказывается делаться.
Код:
Query1.Open;
if Query1.RecordCount>0 //отсюда перепрыгивает
  then
  begin
  tblSbor.TableName:='sbor.dbf';
  tblSbor.Open;
  while not Query1.Eof do
    begin
    tblSbor.Insert;
    tblSbor.FieldByName('nist').Value:=Query1.FieldByName('nist').Value;
    tblSbor.FieldByName('kodn').Value:=Query1.FieldByName('kodn').Value;
    tblSbor.FieldByName('name').Value:=Query1.FieldByName('name').Value;
    tblSbor.FieldByName('dpo').Value:=Query1.FieldByName('dpo').Value;
    tblSbor.FieldByName('otd').Value:=Query1.FieldByName('otd').Value;
    tblSbor.FieldByName('fio').Value:=Query1.FieldByName('fio').Value;
    tblSbor.FieldByName('date_wz').Value:=Query1.FieldByName('date_wz').Value;
    tblSbor.FieldByName('dp').Value:=Query1.FieldByName('dp').Value;
    tblSbor.FieldByName('dw').Value:=Query1.FieldByName('dw').Value;
    tblSbor.Post;
    Query1.Next;
    end;
  end
  else
ShowMessage('Укажите период, за который необходимо показать данные по операциям'); //сюда

условие не выполняется
Ответить с цитированием
  #29  
Старый 18.10.2012, 11:42
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от Andrej-zhe
да 0 записей, а как тогда поступить. Ситуация следующая.
когда я вывожу информацию в dbgrid то при завершении программы эти данные сохраняются в sbor.dbf. При повторном запуске программы и выборе какой либо информации, эта информация дописывается в sbor.dbf. Таким образом пользователь может получить через пол года файл БД размером в несколько Гб. Я делаю удаление всех записей после завершения программы. Но при запуске с очищенным файлом у меня вывод информации отказывается делаться.
Код:
Query1.Open;
if Query1.RecordCount>0 //отсюда перепрыгивает
  then
.....
  end
  else
ShowMessage('Укажите период, за который необходимо показать данные по операциям'); //сюда
Ну так перепрыгивает потому что Query1 пустой.

Цитата:
Сообщение от Andrej-zhe
условие не выполняется
Какое условие не выполняется?
Ответить с цитированием
  #30  
Старый 18.10.2012, 11:46
Andrej-zhe Andrej-zhe вне форума
Прохожий
 
Регистрация: 28.08.2012
Адрес: Курск
Сообщения: 49
Репутация: 10
По умолчанию

Так хорошо а что надо придпринять чтобы данные из файла sbor были удалены, а условие
Код:
if Query1.RecordCount>0 
выполнялось?
Ответить с цитированием
Ответ



Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 21:47.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources", 2004-2019

ВКонтакте   Facebook   Twitter