sparrow wrote:
Patriot10200 wrote:

Банальный отсев по номеру авто, спасибо, раньше с SQL вообще не пытался связываться, но буду стараться потихоньку изучать, Спасибо еще раз, но все таки мне не дает покоя прикол с обычным поиском, почему после поиска в расходе получается 0 вместо суммы?


Здесь дело в другом.
Нельзя оставлять записи в статье расходов(поле деньги) или дохода(поле деньги) NULL.
Вам же известна особенность SQLite c хранением и преобразованием типов, если нет - читайте, учитесь.
Как только попадается запись NULL далее колонка становится текстовой и получить сумму уже нельзя.
Вот первая запись в расходе это NULL и вы бы еще больше удивились если бы у вас была третья строка.
После втрой строки в доходе где NULL в третьей вы тоже не увидите результат.
Определите значение по умолчанию для колонок 0 и соответственно в форме где сохраняете доход/расход.

Очень Благодарен за развернутый ответ, буду изучать

k245 wrote:

Запрос должен выглядеть так:

SELECT                       
AC.Category,  
AP.Podcategory,   
Arenda_Autos_Money.Data_Operacii, 
Arenda_Autos_Money.Dohod, 
Arenda_Autos_Money.Rashod
FROM 
Arenda_Autos_Money
LEFT JOIN Arenda_Category AC ON AC.ID = Arenda_Autos_Money.id_Arenda_Category                  
LEFT JOIN Arenda_Podcategory AP ON AP.ID = Arenda_Autos_Money.id_Arenda_Podcategory    

WHERE        
Arenda_Autos_Money.Auto_Number_Money LIKE "%{Edit9}%"   

ORDER BY Arenda_Autos_Money.Data_Operacii;

Но все равно не ясно, что вы им ищете:

https://myvisualdatabase.com/forum/misc.php?action=pun_attachment&item=10339&download=0

Банальный отсев по номеру авто, спасибо, раньше с SQL вообще не пытался связываться, но буду стараться потихоньку изучать, Спасибо еще раз, но все таки мне не дает покоя прикол с обычным поиском, почему после поиска в расходе получается 0 вместо суммы?

pavlenko.vladimir.v wrote:
Patriot10200 wrote:

И снова здравствуйте, может кто сталкивался, и расскажет как поправить, после поиска поле расход в таблице успешно превращается в нули.
С верху до поиска,
С низу после

НУЖЕН ВАШ ПРОЕКТ

А так же, сделал SQL запрос поиска но тот тоже после поиска шлак выводит, т.е. лишние строки, SQL запрос  вообще первый раз  делаю, не судите строго. (ссылка на проект https://disk.yandex.ru/d/VN1sFJQbqtIUQA ) на форум не влазит, все происходит на форме ( frm_Card_Auto )

И снова здравствуйте, может кто сталкивался, и расскажет как поправить, после поиска поле расход в таблице успешно превращается в нули.
С верху до поиска,
С низу после

k245 wrote:
procedure frm_Arenda_Dohod_Rashod_ComboBox1_OnChange (Sender: TObject);
begin
  if frm_Arenda_Dohod_Rashod.ComboBox1.ItemIndex = 1 then
    frm_Arenda_Dohod_Rashod.ed_Dohod_Rashod.dbField := 'Dohod'
  else
  if frm_Arenda_Dohod_Rashod.ComboBox1.ItemIndex = 2 then
    frm_Arenda_Dohod_Rashod.ed_Dohod_Rashod.dbField := 'Rashod'
  else ;
end;

Благодарю, а то всю голову сломал.

Доброго времени друзья. возможно ли сделать чоб в зависимости от выбора категории в комбобоксе сохраняло именно в ту таблицу. в которую выбрал в комбобоксе, например
выбор = Категория - доход = Сохранение в таблицу доход
Расход = категория - расход = Сохранение в таблицу расход

помогите если сможете, а то чушь какая то получается , пример прикрепляю

7

(1 replies, posted in Russian)

Совсем не понятно, что вам нужно!

8

(12 replies, posted in Russian)

Уважаемые, чтоб я делал без вас, низкий вам поклон, то что доктор прописал! Спасибо

9

(12 replies, posted in Russian)

Скрин

Доброго дня народ, возможно ли сохранение текста из ComboBox?
Например: при вводе в ComboBox текста он фильтрует имеющиеся записи, и если такой записи нет для выбора, то после ввода при нажатии на кнопку добавить, этот текст сохранялся в таблицу и оставался в ComboBox

Это не верный алгоритм
Last_Insert_id - содержит id последней созданной записи
у Вас же получается, что Вы пытаетесь создать несколько записей, а id Вы берете из той же таблице куда и записываете его, а Вам нужен идентификатор записи из другой таблицы.
Так же я вижу, что Вы пытаетесь создать начальную запись в таблице, модели Вам нужно привязать к марке. Тут все просто, так как запись марки будет в данном случае первой то  все  первичные записи нужно привязать просто к первому id

SQLExecute('INSERT INTO Auto_model(Model,id_Auto_marka)VALUES(" Ipsum ","1")');
    SQLExecute('INSERT INTO Auto_model(Model,id_Auto_marka)VALUES(" Camry ", "1")');

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

Благодарю, очень помогли,

pavlenko.vladimir.v wrote:
Patriot10200 wrote:

выдает ошибку

забыл, число нужно перевести в строку
IntToStr(Last_Insert_id)

Друг извини за назойливость, вот в ручную записываешь все привязывает гуд, а при авто создании создается но не привязывается, а так же выдает ошибку нет такой таблицы, закрываешь перезапускаешь и все гуд, создается


 if (SQLExecute('SELECT COUNT(id) FROM Auto_marka')='0') then
  begin
    SQLExecute('INSERT INTO Auto_marka(Marka)VALUES(" Toyota ")');

    SQLExecute('INSERT INTO Auto_model(Model)VALUES(" Ipsum ")');
    SQLExecute('INSERT INTO Auto_model(Model)VALUES(" Camry ")');
    SQLExecute('INSERT INTO Auto_model(id_Auto_marka)VALUES("'+ IntToStr(Last_Insert_id) +'")');
  end;
pavlenko.vladimir.v wrote:
Patriot10200 wrote:

т.е. в одной таблице создается автоматически запись, во второй таблице запись привязывается к значению первой таблици.

  if (SQLExecute('SELECT COUNT(id) FROM Имя_БазыДынных')='0') then
  begin
    SQLExecute('INSERT INTO Имя_БазыДынных(Имя_Поля)VALUES(" Значение ")');
    SQLExecute('INSERT INTO Имя_БазыДынных(id_Имя_Поля)VALUES("'+ Last_Insert_id +'")');    
  end;


выдает ошибку на (VALUES(    "'+ Last_Insert_id +'")');    ), мой код ниже, что я делаю не так?


begin
if (SQLExecute('SELECT COUNT(id) FROM Auto_marka')='0') then
    SQLExecute('INSERT INTO Auto_marka(Marka)VALUES(" Toyota ")');
end;
 if (SQLExecute('SELECT COUNT(id) FROM Auto_model')='0') then
  begin
    SQLExecute('INSERT INTO Auto_model(Model)VALUES(" Ipsum ")');
    SQLExecute('INSERT INTO Auto_model(id_Auto_marka)VALUES("'+ Last_Insert_id +'")');
  end;

Доброго дня ребят, появилась необходимость создания записей в бд с привязкой, наример: как вопрос выше, но с некоторыми исправлениями,

т.е. в одной таблице создается автоматически запись, во второй таблице запись привязывается к значению первой таблици.



табл1       табл2

Nissan <- Sunny
            <- Teana
            <- Cefiro

Toyota <- Camry
            <- Nadia
            <- Fielder

если для записи в табл 1 мы используем этот код

if (SQLExecute('SELECT COUNT(id) FROM Имя_БазыДынных')='0') then
         SQLExecute('INSERT INTO Имя_БазыДынных(Имя_Поля)VALUES(" Значение ")');

как привязать к (Nissan) следующие записи (Sunny, Teana, Cefiro)

15

(2 replies, posted in Russian)

Добрый день как вариант, во вложении

lgg6 wrote:

Доброе утро.
не могу закончить программу.
Надо, чтобы при выбранном месяце, после того, как я добавил запись с вкладки plans, в таблице грид1 вкладки main отображались только записи выбранного месяца, к примеру января (этот месяц выбираю на самой первой форме, при запуске проги).
Чтобы я не делал - все равно отображаются все записи, введенные мной, независимо от месяца.
Подскажите, что я не так делаю
спасибо

16

(5 replies, posted in Russian)

sparrow wrote:
new_putevoy.ComboBox1.dbFilter := 'SOTRUDNIKI.sotr_data_uvolneniya > Date(''now'')';
new_putevoy.ComboBox1.dbUpdate;



P.S. Перепроверил и UpdateDatabase и dbUpdate. Все варианты работают. Ищите у себя.
Возможно не совпадают форматы Дата - ДатаВремя или другое...


Да оно работает но если галочка на дате стоит , а так двойной фильтр на ВУ и дату увольнения не работает пока не поставишь дату увольнения, , ладно спасибо на этом, буду разбираться.

17

(5 replies, posted in Russian)

Доброго времени друзья, вопрос почти тот же,  не получается установить фильтр на дату увольнения, т.е.  или из combo исчезают все водителя или не работает код, что я не так делаю? отдельно на замену ВУ фильтр работает, 

new_putevoy.ComboBox1.dbFilter := 'SOTRUDNIKI.sotr_vu_data_zameni > Date(''now'')';
new_putevoy.ComboBox1.dbFilter := 'SOTRUDNIKI.sotr_data_uvolneniya > Date(''now'')';
updateDatabase('SOTRUDNIKI');

при этом на (sotr_data_uvolneniya) может стоять как зачение NULL так и отмечена дата

sibprogsistem wrote:
Patriot10200 wrote:

Всем драсте,
Ребят подскажите как сделать чтоб при первом запуске в БД

if (SQLExecute('SELECT COUNT(id) FROM Имя_БазыДынных')='0') then
         SQLExecute('INSERT INTO Имя_БазыДынных(Имя_Поля)VALUES(" Значение ")');


Спасибо

Всем драсте,
Ребят подскажите как сделать чтоб при первом запуске в БД автоматически добавлялись значение, например запускаеш первый раз программку,
и в таблицу  AUTO_marka
поле Marka
Автоматически добавлялись записи
ГАЗ
ВАЗ
Toyota
Nissan
и т.д
Чтоб при новом создании БД не добавлять мари и модели автомобилей

20

(6 replies, posted in Russian)

Спасибо огромное.

sparrow wrote:

Вот здесь :
http://myvisualdatabase.com/forum/viewt … 222#p19222


(поиск по форуму "удалить файл") Ok ?

21

(6 replies, posted in Russian)

Друг, у меня не было цели хранить документы в БД, но спасибо за ссылки у меня получилось сделать так как я хотел, информация помогла.
Еще остался вопрос, как сделать чтоб при нажатии кнопки удалить, удалялся и сам файл из того места куда он копируется.

sparrow wrote:

Добрый,
Если хотите выводить имя файла в таблицу посмотрите пример.
Добавлено вычисляемое поле 'url' для имени файла и добавлено вычисляемое поле 'url' в таблицу.
Обработка нажатия и открытие документа как в ссылке, что давал ранее. Файлы открываются
согласно установленным типам в системе.
pdf - > acrobat, picture -> image viewer  и т.д.
Хранить документы в базе данных не рекомендуется. С ростом количества документов и размера
возникнут проблемы со скоростью работы программы. Лучше использовать для этого отдельную
папку на диске.


Если вы все же хотите работать с файлом из базы данных то посмотрите здесь:
http://myvisualdatabase.com/forum/viewt … 9230#p9230

22

(6 replies, posted in Russian)

Не совсе мто что я хотел, но спасибо, если не получится сделать так как хочу, приму данный момент во внимание.

sparrow wrote:

Добрый,
Посмотрите здесь
http://myvisualdatabase.com/forum/viewtopic.php?id=3682

23

(6 replies, posted in Russian)

Доброго дня Народ, такой вопрос, как сделать чтобы в таблице писалось название документа а именно имя самого файла, и при клике на него открывался сам документ программой по умолчанию, например: Скан в формате .pdf открывался установленным на компе Адобе Акробатом

проект прилагаю

24

(5 replies, posted in Russian)

Спасибо.

sparrow wrote:

Добрый,

Если у вас в таблице базы данных присутствует поле Дата то для combobox, через скрипт, устанавливаем фильтр:

Form1.ComboBox1.dbFilter := 'Таблица.Дата >= Date(''now'')';
UpdateDatabase('Таблица');

где 'Таблица.Дата >= Date(''now'')' - дата из таблицы больше либо равна текущей дате.

25

(5 replies, posted in Russian)

Доброго дня ребят, как сделать чтобы combobox исключал (т.е. убирал и чтоб нельзя было выбрать) из выпадающего списка (например людей) от слова совсем при условии если у этого человека например просрочена дата замены ВУ. (т.е. допустим у человека стоит дата замены ВУ 25.12.2021 а сегодня 26.12.2021 и при этой просрочке даты, персонаж фактически исчезал из списка ComboBox) а после правки даты снова появлялся.

Заранее спасибо