![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Привет Всем!
Оч нужна помощь! Возможно вопрос глуповат, но обшарила всю литературу и ответ на него не нашла, хотя уверена на 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
|
|||
|
|||
|
Все просто. Я сама сдурила.
Сделала я все правильно, тока вот аксесовскую таблицу заполнять не стала, забила пару параметров для проверки работы остальные думала потом забью....остальные строки остались пустыми...так вот если их заполнить - все работает отлично Не быть мне великим прграммистом ![]() |