1

(8 replies, posted in Russian)

sparrow wrote:

Ваш запрос выглядит мягко говоря - никак


Найдите сначала подзапросом запись которая относится к МАХ(Дата)
А уже к ней присоединяйте что хотите.


И читайте, читайте, читайте.


MAX(Дата) прекрасно находится, при отсутствии WHERE выводит именно все приборы с максимальной датой. Но если прописать условия на дату меньше сегодняшней запрос выводит даты до максимальной. По логике правильно, но не то что мне нужно.

2

(8 replies, posted in Russian)

Приветствую всех! Есть еще такой вопрос: есть таблица с датами привязанная к другой. Как прописать условие что бы условие срабатывало по максимальной дате? Необходимо при наличии даты больше не делать выборку. Коряво написал, но надеюсь что понятно

SELECT DISTINCT 

(SELECT model.model FROM model LEFT OUTER JOIN si ON si.id=pov.id_si WHERE model.id = si.id_model) AS `Модель`,
(SELECT si.nomer FROM si WHERE si.id=pov.id_si)  AS `зав.№`,
(SELECT factory.abrv FROM factory
LEFT OUTER JOIN apparat ON apparat.id_factory=factory.id
LEFT OUTER JOIN si ON apparat.id=si.id_apparat
WHERE si.id=pov.id_si) AS `Месторождение`,
MAX(pov.last)  AS `Текущая`,
MAX(pov.next)  AS `Следующая`,
(SELECT si.id FROM si WHERE si.id=pov.id_si) AS `ID`
FROM pov
LEFT OUTER JOIN si ON si.id=pov.id_si
WHERE DATE (pov.next) BETWEEN NOW() AND DATE_ADD(NOW(), INTERVAL {Edit7} MONTH) OR DATE (pov.next)< NOW() GROUP BY  si.nomer

Пример базы:


si -> data1
        data2
        data3 <-выбирает эту дату
        data4 (максимальная дата, больше условия)

3

(8 replies, posted in Russian)

vovka3003 wrote:
...'SELECT id FROM si WHERE si.grsi='''+Form.Edit.Text+'''...

Благодарю, работает

4

(8 replies, posted in Russian)

Значение берется из поля Edit по этому оно уже идет с '
добавляя дополнительные кавычки получаем ошибку запроса. И к тому же, по части до дефиса находит строки а по полному значению нет. Может дефис в неявном виде пишется в базу?

5

(8 replies, posted in Russian)

Имеем простейший запрос SELECT id FROM si WHERE si.grsi=
Значение текстовое имеет вид ХХХХХХ-НН. При поиске результатов нет, при поиске значения ХХХХХХ находит результат. В чем причина

6

(2 replies, posted in Russian)

В общем вопрос снят. Решил проблему через DATEDIFF.

7

(2 replies, posted in Russian)

Ещё скрин

Простенький запрос с вычислением, но не могу понять - как оно это посчитала. Это бред какой-то.
Запрос и результат во вложении.

9

(1 replies, posted in Russian)

Вношу данные в базу запросом INSET. Если на форме присутствует таблица (любая, даже не связанная с базой) выскакивает ошибка, но данные вносятся в базу. Если таблицы нет то всё проходит штатно. В чем может быть проблема?

10

(1 replies, posted in Russian)

Создам ещё тему. В предыдущих версиях программы при заполнении грида запросом если есть idто можно было показать запись кнопкой, теперь это не работает. Мой запрос

SELECT DISTINCT                 
dogovor.nomer AS `nom dog`,
dogovor.data AS `dat dog`,
dogovor.finish AS `срок действия`,
(SELECT kontr.name FROM kontr WHERE kontr.id=dogovor.id_kontr) AS 'контр',
dogovor.predmet AS `predmet`,
dogovor.summ AS `summ dog`,
dogovor.id
                                                                                                                   
FROM dogovor
LEFT OUTER JOIN kontr ON kontr.id=dogovor.id_kontr
LEFT OUTER JOIN buh_doc ON buh_doc.id_dogovor=dogovor.id
LEFT OUTER JOIN status ON status.id=dogovor.id_status
LEFT OUTER JOIN user ON  user.id=dogovor.id_user
LEFT OUTER JOIN rashod ON dogovor.id_rashod=rashod.id
LEFT OUTER JOIN tips ON dogovor.id_tips=tips.id
LEFT OUTER JOIN finans ON dogovor.id_finans=finans.id

Спасибо, работает

Ошибка. У меня база на MySQL

Есть три таблицы данных вида:

dogovor     |     finans    |       buh_doc
------------   |     ---------    |      -------------
id_finans   |     статья    |      id_dogovor
                                       |     сумма
                                       |     дата

т.е. есть договор, у него есть статья расходов и несколько сумм с разными датами.
Может быть несколько разных договоров с одной статьёй и разными суммами

Необходимо свести в оду таблицу запросом что бы получить сумму по каждой статье без разбивки по договорам

14

(7 replies, posted in Russian)

С диска он открывает, а вот с базы

15

(7 replies, posted in Russian)

Файл у меня открывается сразу двойным кликом, хотелось бы предпросмотр перед открытием. А возможно файл передать напрямую в TWebBrowser? по крайней мере pdf будет отображаться.

16

(7 replies, posted in Russian)

Возможно ли реализовать предпросмотр файлов типа Word, Excel, pdf сохраненных в базе?

17

(2 replies, posted in Russian)

И ещё вопрос - с какими ключами можно запускать скомпилированный экзешник?

18

(2 replies, posted in Russian)

Сделал инсталятор программы. По умолчанию ставит в Program Files при этом после закрытия выскакивает ошибка. На сколько я понял, необходимы права Администратора для изменения файла (при запуске с правами Админа все работает нормально). Подскажите способ выдавать права при установке программы автоматически т.к. необходимо установить программу на несколько машин и не вариант ходить и всем ручками выставлять права.

19

(2 replies, posted in Russian)

Спасибо, все работает

20

(2 replies, posted in Russian)

Есть большая база(на MySQL), прикрепленные файлы хранятся прямо в базе. Необходимо выгрузить все файлы на диск.

Подскажите как сделать. Необходимо в TableGrid вывести данные из Excel не внося в базу данных.
По замыслу есть два TableGrid в одной данные из базы в другой из Excel. Скриптом сравниваем строки и из временной вносим недостающие данные в базу.

22

(3 replies, posted in Russian)

Проект очень большой и на MySQL

таблица имеет вид:

id | Текстовое поле|Текстовое поле|
|Значение1       |Значение2       |
|Значение2       |Значение3       |

23

(3 replies, posted in Russian)

Есть форма, на форме ComboBox с MultiSelect и таблица. Необходимо чтобы при открытии в  ComboBox были выбраны значения из таблицы. Пробовал такой скрипт:

procedure edit_OnShow (Sender: string; Action: string);
  var
  i,r,c : integer;

begin
     c := edit.TableGrid6.RowCount - 1;
          for r := 0 to c do
              begin
                  i := StrToInt(edit.TableGrid6.Cells[0,r]);
                 edit.ComboBox8.ItemsChecked[i] := True ;
             end;
 end;

Работает только если в таблице одно значение, если больше уже не срабатывает.
Подскажите как сделать.

И ещё вопрос - какое значение edit.ComboBox8.ItemsChecked[?] := True ; должно быть чтобы не было выделено не одной записи? При 0 - выделено всё, при -1 - ошибка.

24

(3 replies, posted in Russian)

Form1.TableGrid1.HeaderSize:=28;

событие - OnChenge,
размер под две строки

в свойствах кнопки "Сохранить" убираешь галку закрывать после сохранения и прописываешь AfterClic -

Button1.dbGeneralTableId

ну и или в переменную или ещё куда

сумбурно но как-то так