Topic: SQL запрос

Кто может подсказать!
Добавляю в базу значения не через стандартную кнопку сохранить «СОХРАНИТЬ»,  а через кнопку «SQL запрос» INSERT INTO baza (aaa, bbb) VALUES (‘{EDIT1}’, ‘{EDIT2}’)данные добавляются и форма не закрывается. Делаю так, потому что при добавлении через  «СОХРАНИТЬ» форма закрывается, а мне нужно вносить данные практически одинаковые (меняется пару значений) и каждый раз открывать форму и вносить одни и те же данные неудобно.
Вопрос в следующем, можно ли в SQL запросе добавить какую либо функцию, чтоб при нажатии на кнопку выскакивало сообщение о добавлении данных в базу.

Re: SQL запрос

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


Я добавил возможность настроить кнопку Сохранить без закрытия формы.
Скачайте эту версию программы
https://www.dropbox.com/s/93ncm9mx9lhvb … p1.391.rar


В диалоге настройки кнопки Сохранить, вы найдете опцию "Закрыть текущую форму после сохранения", просто снимите галочку с этой опции.

Dmitry.

Re: SQL запрос

Огромное спасибо за данную опцию. Хотелось бы уточнит, а возможно ли добавить возможность чтоб при нажатии на кнопку СОХРАНИТЬ в режиме (не закрывать форму) появлялось сообщение о добавлении записи к примеру как при нажатии на кнопку УДАЛИТЬ.
При занесении большого массива данных, пользователь может отвлечься и в результате чего не помнить нажал он СОХРАНИТЬ или нет. Вывод сообщения о добавлении записи, даст пользователю возможность, зафиксировать свои действия на каком либо этапе ввода (не закроет сообщении).

Re: SQL запрос

shapovalovln
в текущей версии это не возможно сделать, скоро я доделаю скрипты, и тогда можно будет сделать все что угодно )

Dmitry.

Re: SQL запрос

Спасибо! будем ждать

Re: SQL запрос

А какого вида должен быть sql запрос для того чтобы в отчёт вывелись те записи которые в данный момент находятся в tablegrid. А то разобрался как осуществить вывод одной либо вообще всех записей. А как вывести те которые явл. Результатом поиска никак не пойму. (Извин. За стилистику - пишу с телефона)

Re: SQL запрос

wertyby
Непосредственно вывести данные из грида в отчет пока нельзя.


В вашем случае, в SQL запросе, который формирует отчет, необходимо использовать данные с компонентов, для фильтрации результатов SQL запроса, например WHERE lastname = {Edit1}


где {Edit1} это название компонента, таким образом в SQL запрос вставится текст с компонента Edit1, таким же образом, в SQL запрос можно вставить данные с любых компонентов на текущей форме.

Dmitry.

Re: SQL запрос

Добрый день. Спасибо за новую версию!

Необходима консультация, каким образом во вкладка Events объекта Form1 (Button1) [СОХРАНИТЬ ЗАПИСЬ] при нажатии осуществить переход на Form2 ?

Re: SQL запрос

shapovalovln

Приветствую,

у кнопки есть событие OnClick, можете им воспользоваться чтобы вызвать форму: Form2.Show; или Form2.ShowModal;
во втором случае, форма будет модальной, т.е. к предыдущей форме можно вернуться только закрыв Form2

Dmitry.

10 (edited by Владислав Косяков 2014-06-02 15:22:01)

Re: SQL запрос

SELECT

Oborud.record_count,
TypOS.Typ,
ModelOS.model,
StatusObS.statusob,
MestoSotrS.mestosot,
SotrS.fam || ' ' || SotrS.nam || ' ' || SotrS.otch,
SotrS.dolzh,
Oborud.sn,
Oborud.invn,
strftime('%d.%m.%Y', Oborud.datep) AS datep,
strftime('%d.%m.%Y', Oborud.datev) AS datev,
Oborud.cena,
Oborud.prim,
Oborud.id

FROM Oborud

LEFT OUTER JOIN StatusObS ON StatusObS.id = Oborud.id_StatusObS
LEFT OUTER JOIN ModelOS ON Oborud.id_ModelOS = ModelOS.id
LEFT OUTER JOIN TypOS ON ModelOS.id_TypOS = TypOS.id
LEFT OUTER JOIN SotrS ON Oborud.id_SotrS = SotrS.id
LEFT OUTER JOIN MestoSotrS ON SotrS.id_MestoSotrS = MestoSotrS.id

WHERE MestoSotrS.id = {OborMestoTab}

Я хочу, чтобы выводился результат при нажатии на запись в таблице, а выводит пустую таблицу. Исправьте, пожалуйста.

Re: SQL запрос

Владислав Косяков

Думаю с данным запросом все в порядке, проблема в том, что грид OborMestoTab не имеет идентификаторов записи, когда заполняется SQL запросом, поправьте SQL запрос у кнопки StatMesto

SELECT

MestoSotrS.mestosot,
Count(Oborud.id),
MestoSotrS.id          

FROM Oborud

LEFT OUTER JOIN SotrS ON Oborud.id_SotrS = SotrS.id
LEFT OUTER JOIN MestoSotrS ON SotrS.id_MestoSotrS = MestoSotrS.id

GROUP BY MestoSotrS.mestosot

тут я просто добавил поле MestoSotrS.id, чтобы грид знал у какой записи, какой идентификатор, чтобы когда вы на нем нажимаете, срабатывало условие в вашем запросе WHERE MestoSotrS.id = {OborMestoTab}

Dmitry.

Re: SQL запрос

Спасибо, заработало

13 (edited by Владислав Косяков 2014-06-03 19:44:05)

Re: SQL запрос

Вопрос на засыпку: Как сделать, чтобы строчка "Оборудование, всего" была всегда первой в таблице

SELECT

"Оборудование, всего",
Count(Oborud.id),
-1 as "id"

FROM Oborud


UNION


SELECT

StatusObS.statusob,
Count(Oborud.id),
StatusObS.id

FROM Oborud

LEFT OUTER JOIN StatusObS ON Oborud.id_StatusObS = StatusObS.id

GROUP BY StatusObS.statusob

Кстати, обязательно вставлять пустые строки в запрос?

Re: SQL запрос

Владислав Косяков
Строка Оборудование, всего всегда будет первой если конечно не пользоваться сортировкой )


пустые строки необязательны.

Dmitry.

Re: SQL запрос

Она у меня последняя

Re: SQL запрос

Владислав Косяков wrote:

Она у меня последняя

Строка в таблице "Оборудование, всего" получается последней. Может со скриптом что не так:

SELECT
"Оборудование, всего",
Count(Oborud.id),
-1 as "id"
FROM Oborud
UNION

SELECT
StatusObS.statusob,
Count(Oborud.id),
StatusObS.id
FROM Oborud
LEFT OUTER JOIN StatusObS ON Oborud.id_StatusObS = StatusObS.id
GROUP BY StatusObS.statusob

Re: SQL запрос

Может быть сортировку добавить по id?

Re: SQL запрос

Да..  в данном случае сортировка поможет

SELECT
"Оборудование, всего",
Count(Oborud.id),
-1 as "id"
FROM Oborud
UNION

SELECT
StatusObS.statusob,
Count(Oborud.id),
StatusObS.id
FROM Oborud
LEFT OUTER JOIN StatusObS ON Oborud.id_StatusObS = StatusObS.id
GROUP BY StatusObS.statusob ORDER BY id;
Dmitry.

Re: SQL запрос

Класс!!!

Re: SQL запрос

день добрый!
я создал базу данных с адресами и контактными данными. она будет постоянно пополнятся. и не хотелось бы случайно потерять все данные.
где и в каком файле сохраняется вся введенная мной информация???? дабы периодически делать копию.

Re: SQL запрос

В папке с Вашей программой в файле sqlite.db.

Re: SQL запрос

а можно ли его редактировать в ручную без самой проги? к примеру каким нибудь текстовым редактором?

Re: SQL запрос

Не знаю в нужную ли тему пишу, но помогите, пожалуйста.
Проблема такая. Надо построить диаграмму с выборкой из TableGrid полей:  date_begin (т.е. начало некоего процесаа) и date_end (т.е. окончание процесса).  По оси X - годы (с 2010 по 2020), по оси Y - месяцы (январь-декабрь). Кто-нибудь, подскажите где можно про подобное почитать, если это вообще можно реализовать.
Спасибо.

Re: SQL запрос

Aleksandr.Nikolaev wrote:

а можно ли его редактировать в ручную без самой проги? к примеру каким нибудь текстовым редактором?

Конечно, вот этой программой.
http://www.fayloobmennik.net/3974144

25 (edited by Hram 2014-07-24 13:29:13)

Re: SQL запрос

2 Niema.
В данной версии программы такое невозможно.
Update.
Хотя можно попробовать через FastReport, но не уверен.