Re: Нужна помощь...
RZ-007
Увы я могу помочь только с конкретным вопросом, чтобы разобраться с данным вопросом и понять его, уйдет как минимум час времени, к сожалению не могу себе этого позволить.
My Visual Database → Russian → Нужна помощь...
RZ-007
Увы я могу помочь только с конкретным вопросом, чтобы разобраться с данным вопросом и понять его, уйдет как минимум час времени, к сожалению не могу себе этого позволить.
ПОСТ №25
Увы я могу помочь только с конкретным вопросом, чтобы разобраться с данным вопросом и понять его, уйдет как минимум час времени, к сожалению не могу себе этого позволить.
Дмитрий..."методом научного тыка" добился нужного результата.....
Вот результат моих бесонных ночей...
procedure Form3_Button1_OnClick (Sender: string; var Cancel: boolean);
var
sid: string;
begin
if (Form3.ComboBox2.dbItemID = -1) and (Form3.ComboBox2.Text <> '') then
begin
// проверить, если оценка уже существует
sid := SQLExecute('SELECT IFNULL(id_AAA, -1)FROM BBB WHERE id = ' +
IntToStr(Form3.ComboBox2.dbItemID)+' LIKE "'+Form3.ComboBox1.Text+'"');
if ValidInt(sid) then
Form3.ComboBox2.dbItemID:= StrToInt(sid)
//============== всё что ниже работает ОК!!!==================================================================
// если оценка не существует, предложить добавления
else begin
if 6 = MessageDlg('Добавить запись' + Form3.ComboBox2.Text, mtConfirmation, mbYes + mbNo, 0) then
begin
SQLExecute('INSERT INTO BBB (id_AAA,bbb) VALUES ('+Form3.ComboBox1.sqlValue+',"'+Form3.ComboBox2.Text+'")');
Form3.Combobox2.DoOnChange; //дал понять, что у него значение обновилось...
UpdateDatabase('BBB');
Form3.ComboBox2.dbItemID := Last_Insert_id('bbb');
end else
begin // если Нет...делаем:
Cancel := True;
Form3.ComboBox2.dbItemID:= -1;
Form3.ComboBox2.Text := '';
end;
end;
end;
end;
Вроде как работает, НО.....в верхней части есть где-то ошибка.....
Если в этой строчке:
IntToStr(Form3.ComboBox2.dbItemID)+' LIKE "'+Form3.ComboBox1.Text+'"');
перед LIKE стереть два пробела выдаёт ошибку.....
добавляю + '(пробел+пробел с клавиатуры)LIKE работает....
НЕ сочтите за трудность взгляните на скриптик.....
перед LIKE стереть два пробела выдаёт ошибку.....
добавляю + '(пробел+пробел с клавиатуры)LIKE работает....
НЕ сочтите за трудность взгляните на скриптик.....
между командой LIKE и параметрами поиска должен быть пробел, правда достаточно одного.
Доброго времени суток!!!
есть таблица "ААА" в ней такие записи....
товар дата цена
________|___________|_____
хлеб 20.05.2016 1
хлеб 20.05.2016 3
хлеб 20.05.2016 5
------------------------------------------
молоко 20.05.2016 7
молоко 20.05.2016 3
=======================
хлеб 21.05.2016 3
хлеб 21.05.2016 2
хлеб 21.05.2016 3
----------------------------------------
молоко 21.05.2016 5
молоко 21.05.2016 6
подскажите как грамотно заполнить таблицу "ВВВ",
чтобы получить такие записи в таблице ???
товар дата цена
________|___________|_____
хлеб 20.05.2016 9
молоко 20.05.2016 10
----------------------------------------
хлеб 21.05.2016 8
молоко 21.05.2016 11
т.е...............
1.) отобразить дату которая присутствовала на тот период в таблице "ААА" один раз!
2.) отобразить товар один раз, который присутствовал в этот день!
3.) отобразить общую сумму товара за этот день!
RZ-007
Пожалуйста приложите тестовый проект с данными таблицами и данными, постараюсь что нибудь придумать.
DriveSoft
Пожалуйста приложите тестовый проект с данными таблицами и данными, постараюсь что нибудь придумать...
и
ДРУЗЬЯ !!!
ПОСТ №29 или №31 безнадёжен или есть у кого мысль с чего начать....
К сожалению не могу вам помочь, т.к. вы используете нелицензионную версию программы.
Друзья!!!
Подскажите скрипт для проверки дубликата в таблице,
где есть поля связь (id) и дата ???
Пост № 34...
использую вот этот скрипт:
procedure Form3_Button1_OnClick (Sender: string; var Cancel: boolean);
var
s: string;
begin
// SQL-запрос для проверки имени пользователя и пароля
s := SQLExecute('SELECT count(id) FROM AAA WHERE (id_BBB = ''' + IntToStr(Form3.ComboBox1.dbItemID) + ''') AND (data = ''' + Form3.DateTimePicker1.sqlDate + ''');');
// если находка SQL запросов Логин и пароль
if (s <> '0') and (s<>'') then
begin
Form4.Show;
end else Form5.Show;
end;
К моему сожалению, не хочет работать с датой...подскажите в чём ошибка???
Здравствуйте!!!
Дмитрий Вас не было чуток дней....для нас как вечность...
Взгляните ПОСТ №35 ПОЖАЛУЙСТА???
Здравствуйте!!!
Дмитрий Вас не было чуток дней....для нас как вечность...
Взгляните ПОСТ №35 ПОЖАЛУЙСТА???
попробуйте такой запрос
s := SQLExecute('SELECT count(id) FROM AAA WHERE (id_BBB = ' + Form3.ComboBox1.sqlValue + ') AND (date(data) =date( ' + Form3.DateTimePicker1.sqlDate + '));');
ЭТО работает!!! УРА!!!
БЛАГОДАРЮ ВАС!!!
Здравсствуйте Дмитрий!!!
Использую такой скрипт:
procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
var
i: integer;
S : String;
begin
i := Form1.TableGrid1.RowCount - 1;
//считаем количество записей в Б/Д...
S := VarToStr ( SQLExecute('SELECT count(id) FROM GIS ;') );
if S <>'' then
begin
if MessageDlg(' ВЫВЕСТИ ВСЕ << ' + S + ' >> ЗАПИСЕЙ ? ? ? ' , mtInformation, mbYes+mbNo, 0) = mrYes
then
begin // (1-условие) если Да...делаем:
Form2.Show;
end else
begin // (2-условие) если Нет...делаем:
Form3.Show;
end;
end else
begin // (3-условие) если....нажимаем на крестик в верхнем правом углу у <<MessageDlg>> ...,то
// фома <<MessageDlg>> просто закрылась не выполняя ни каких условий!!!
Cancel := True;
end;
end;
Поскажите пожайлуста как поправить скрипт..., что бы выполнялось (3-условие) ???
А то на данный момент нажимая на крестик в верхнем правом углу у <<MessageDlg>>
выполняется (2-условие)...!!!
RZ-007
Попробуйте так
procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
var
i: integer;
S : String;
buttonSelected : Integer;
begin
i := Form1.TableGrid1.RowCount - 1;
//считаем количество записей в Б/Д...
S := VarToStr ( SQLExecute('SELECT count(id) FROM GIS ;') );
if S <>'' then
begin
buttonSelected := MessageDlg(' ВЫВЕСТИ ВСЕ << ' + S + ' >> ЗАПИСЕЙ ? ? ? ' , mtInformation, mbYes+mbNo, 0);
if buttonSelected = mrYes then
begin
Form2.Show;
end;
if buttonSelected = mrNo then
begin
Form3.Show;
end;
if buttonSelected = mrCancel then
begin
Cancel := True;
end;
end else
begin
ShowMessage('Записей нет');
Cancel := True;
end;
end;
Вау...даже лучше, чем я ожидал!!!
СПАСИБО...!!!...СПАСИБО...!!!...СПАСИБО...!!!
Здравсствуйте Дмитрий!!!
Подскажите пожайлуста, если это возможно...
как по клику на битон имея в txt-Блкноте№1 данные перенести в txt-Блкноте№2
только нужные числа с право на лево
более точнее вопрос выложил в рисунке...
Задачка решается при помощи SplitString и массива строк из первого файла плюс массив строк для второго файла...
Здравсствуйте Дмитрий!!!
Подскажите пожайлуста, если это возможно...
как по клику на битон имея в txt-Блкноте№1 данные перенести в txt-Блкноте№2
только нужные числа с право на лево
более точнее вопрос выложил в рисунке...
Приветствую.
Пожалуйста приложите текстовый файл с данными как слева. Сделаю для вас проект с примером.
Здравсствуйте Дмитрий!!!
прилагаю фаил...пост №42
Всем приветики!!!
Кое что получилось...
Друзья!!! Помогите в мемо перевернуть текст:
На данный момент имею в мемо1..., такие дпнные:
1 25 31 13 21
12 29 35 0
13 15 35
А мне надо так:
21 13 31 25 1
0 35 29 12
35 15 13
Это возможно...??? пост №42
procedure Form1_Button8_OnClick (Sender: TObject; var Cancel: boolean);
var
sl: TStringList;
i, c: integer;
ai, ac: integer;
arras: array of string;
s: string;
begin
sl:= TStringList.Create;
sl.LoadFromFileAnsi('d:\3-Black.txt'); // открываем файл
// удаляем лишние строки
c := sl.Count-1;
for i := c downto 0 do
begin
if Pos('Раунды', sl[i])=1 then sl.Delete(i)
else if Pos(' ', sl[i])=0 then sl.Delete(i);
end;
// переворачиваем номера и формируем из них строки
c := sl.Count-1;
for i := c downto 0 do
begin
arras := SplitString(sl[i], ' ');
ac := Length(arras)-1;
s:= '';
for ai := ac downto 0 do s := s + arras[ai]+#13#10;
if s <> '' then SetLength(s, Length(s)-2);
sl.Delete(i);
sl.Insert(i, s);
end;
sl.SaveToFileAnsi('d:\2.txt'); // сохраняем в другой файл
sl.Free;
end;
УРА!!! РАБОТАЕТ!!!
СПАСИБО!!!
микро вопросики???
1)из программы я открыл tht фаил
procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
var TFOut : TFileStream;
begin
TFOut := TFileStream.Create('3-Black.txt', fmCreate);
TFOut.Free;
OpenFile('3-Black.txt');
end ;
.внёс коректировку в нём...возможно ли после его сохранения (в последствие закрытия)сделать клик по Button2 для дальнейших действий???
2) я уже скопировал текст... он находится в буфере обмена...
подскажите скрипт для Button1 для вставки текста из буфера обмена в memo1...???
1. Возможно не совсем понимаю вопроса, но вы можете скриптом нажать на кнопку Form1.Button2.Click;
2.
procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
begin
Form1.Memo1.PasteFromClipboard;
end;
Вау... вопрос 2 закрыт...СПАСИБО!!!
вопрос №1
из программы я открыл tht фаил
procedure Form1_Button2_OnClick (Sender: TObject; var Cancel: boolean);
var TFOut : TFileStream;
begin
TFOut := TFileStream.Create('3-Black.txt', fmCreate);
TFOut.Free;
OpenFile('3-Black.txt');
end ;
внёс коректировку в нём...(всем привет!!!) возможно ли после его сохранения (в последствие закрытия)сделать клик по Button3 для дальнейших действий???
My Visual Database → Russian → Нужна помощь...
Powered by PunBB, supported by Informer Technologies, Inc.
Theme Hydrogen by Kushi