|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Help!!! Диплом горит! Отчеты в Ecxel
Привет Всем!
Оч нужна помощь! Возможно вопрос глуповат, но обшарила всю литературу и ответ на него не нашла, хотя уверена на 100 %, что сделать это можно. Вообщем ситуация такая: Есть БД с числовыми полями ( мне надо, чтобы они так числовыми и оставались), из нее вывожу отчет в Ecxel, но в этой базе присутствую большие, длинные числа и конечно же Ecxel (зараза такая ) берет и сокращает эти числа. Естесственно нормальному человеку сразу приходит на ум сделать формат ячеек Ecxelя текстовым, но вот как это сделать из Delphi заранее??? Нашла как поменять ширину, высоту, цвет и прочую билибирдистику, а вот как задать формат ячеек в Excele текстовым не нашла ...думаю, что выглядеть это далжно практически анЭлогично как и цвет менять, но подобрать пока что не смогла ничего Вот кусок кода, который задает жирность и цвет: Colum:=XLApp.Workbooks[1].WorkSheets['Отчет'].Rows; Colum.Rows[2].Font.Bold:=true; Colum.Rows[1].Font.Bold:=true; Colum.Rows[1].Font.Color:=clBlue; Colum.Rows[2].Font.Size:=14; Я думаю это должно выглядеть примерно так: Colum.Rows[n].<...>:=true; НО КАК ТОЧНО??? через 2 недели защита очень жду каких-нибудь предложений. Спасибо!!! |
#2
|
|||
|
|||
Вопрос еще один возник :(
Связанные таблицы....БД берется из аксеса
Есть две связанных таблицы: одна содержит данные о людях, а другая содержит их движения по счетам. Я выбираю одного человека и во второй таблице отражаются именно ЕГО движения по счету. Все это в принципе получается, но во вторую таблицу движения по счетам заносятся почему-то не по-порядку, а это важно, т.е. человек снимал деньги например в январе, феврале и марте....В таблицу вывдится снятие за февраль, потом за март, потом за январь....полнейший беспорядок. Что делать-то? |
#3
|
||||
|
||||
Вопрос в том каким образом ты передаешь данные из программы в Excel
Если по твоему примеру то: Код:
Colum.Rows[2].NumberFormat:= '@'; Colum.Rows[2].Value:=14 |
#4
|
|||
|
|||
УРА!
Супер! Работает
Спасибо, Спасибро, Спасибо ( с меня пиво ) Тока я не поняла зачем вторая строка нужна? Ну да это и не важно Вот кто бы еще со вторым вопросиком помог бы |
#5
|
||||
|
||||
если я правильно тебя понял то в конце запроса добавь
Order By Дата Asc |
#6
|
|||
|
|||
уСЕ РАВНО НЕ ПАШЕТ ....ПЕРВЫЕ НЕСКОЛЬКО СТРОК СТАВИТ ПОСЛЕДНИМИ....
|
#7
|
||||
|
||||
Цитата:
Цитата:
|
#8
|
|||
|
|||
.
Есть две таблицы (аксес) через АДО:
В одной хранятся данные о клиентах (ФИО, номер счета, и пр.,) есть ключевое поле-счетчик Key1 Во второй таблице хранятся даты (текстовый), основания (текстовый) и суммы снятий и зачислений со счетов (числовой), есть ключевое поле Key1 и поле числовое LinkKey. Делаю вторую таблицу через АДО тоже и когда делаю в св-ве MasterSource указываю связь с первой таблицей, а в св-ве MasterFields связываю поля Key1 из первой таблицы и LinkKey из второй. Действует по принципу: Таблица1 Key1 Фамилия Имя Отчество 1 Иванов Иван Иванович 2 Петров Петр Петрович Таблица2 Key1 LinkKey Дата Основание ДС 1 1 ... ... 5000 2 1 ... ... -2000 3 1 ... ... 1000 4 2 ... ... 2000 4 2 ... ... 4000 Действует по принципу Таблица 1 Иванов Key1=1 Таблица 2 Выбираются только те строки (автоматически потому что поля связаны, так что не ни строчки кода), где LinkKey=Key1 И выдается Движение ДС только этого человека. Вот такие пироги. Причем он все путает ни когда я выводу в Эксель, а на стадии заполнения таблицы . Заметила закономерность, что он первые 8 строк делает последними, но это при условии, что туда не будут дополняться еще данные. |
#9
|
||||
|
||||
Могу предложить 2 решения проблемы
1. (Не изменяя мотодов доступа к таблице используемых тобой) Создай иднекс для второй таблице по двум полям LinkKey и Дата 2. Доступ к базе осуществлять посредством sql-запросов, запрос на выборку из второй таблицы будет примерно таким: Код:
SELECT * FROM [Таблица2] WHERE LinkKey = id ORDER BY [Дата] ЗЫЖ Хранить дату в текстовом поле ИМХО неправильно |
#10
|
|||
|
|||
все гораздо прще оказалось :)
Все просто. Я сама сдурила.
Сделала я все правильно, тока вот аксесовскую таблицу заполнять не стала, забила пару параметров для проверки работы остальные думала потом забью....остальные строки остались пустыми...так вот если их заполнить - все работает отлично Не быть мне великим прграммистом |