Skip to forum content
My Visual Database
A Simple Solution for Creating Databases
You are not logged in. Please login or register.
Active topics Unanswered topics
Search options (Page 44 of 68)
(
SELECT julianday(date2) - julianday(date1) FROM a
)
Разница в часах
Select Cast ((
JulianDay(ToDate) - JulianDay(FromDate)
) * 24 As Integer)
Разница в минутах
Select Cast ((
JulianDay(ToDate) - JulianDay(FromDate)
) * 24 * 60 As Integer)
Разница в секундах
Select Cast ((
JulianDay(ToDate) - JulianDay(FromDate)
) * 24 * 60 * 60 As Integer)
как-то криво у меня получается
Не получается в вычесляемом поле объдинить строки
CONCAT
CONCAT_WS
GROUP_CONCAT
на все получаю no such function
you need to create a calculated field in the table
Вроди так
if (not isAdmin) then FrmSch.TableGrid1.dbFilter:='(id_rab= "1") AND (id_departament= "'+IntToStr(idDepartament)+'")';
если фильтр указываете скриптом , то фильтр указанный в настройках грида не работает (его перекрывает скрипт)
AD1408 wrote:Hi sibprogsistem,
Thanks for the script... However, it doesn't do anything different other than moving child nodes, unless I'm doing something wrong.
Да, к сожалению я не могу понять как узлы связаны с записями..
создайте вычисляемое поле в самой БД а через SQL запрос просто выведите это поле в результат
procedure Form1_Button6_OnClick (Sender: string; var Cancel: boolean);
var
id1, id2, row: integer;
record_count1, record_count2, parent, parent2: string;
begin
if (Form1.TreeView1.SelectedRow > 0) then
begin
id1 := Form1.TreeView1.dbItemID;
id2 := Form1.TreeView1.dbIndexToID(Form1.TreeView1.SelectedRow-1);
parent:=SQLExecute('SELECT IFNULL (ParentID,0) FROM OrgStructure WHERE id='+IntToStr(Form1.TreeView1.dbItemID));
parent2:=SQLExecute('SELECT IFNULL (ParentID,0) FROM OrgStructure WHERE id='+IntToStr(id2));
if parent2>parent then begin
row:=Form1.TreeView1.SelectedRow-1;
while parent2>parent do
begin
row:= row-1;
id2 := Form1.TreeView1.dbIndexToID(row);
parent2:=SQLExecute('SELECT IFNULL (ParentID,0) FROM OrgStructure WHERE id='+IntToStr(id2));
end;
end;
record_count1 := SQLExecute('SELECT id FROM OrgStructure WHERE id='+IntToStr(id1)+' AND ParentID='+parent);
record_count2 := SQLExecute('SELECT id FROM OrgStructure WHERE id='+IntToStr(id2)+' AND ParentID='+parent);
if (record_count1<>'') and (record_count2<>'') then
begin
SQLExecute('UPDATE OrgStructure SET id="0" WHERE id='+IntToStr(Form1.TreeView1.dbItemID));
SQLExecute('UPDATE OrgStructure SET id='+record_count1+' WHERE id='+IntToStr(id2));
SQLExecute('UPDATE OrgStructure SET id='+record_count2+' WHERE id="0"' );
Form1.TreeView1.dbUpdate;
Form1.TreeView1.dbItemID := id1;
end;
end;
end;
как скриптом подключить к ( TableName, FieldName)
AD1408 wrote:Hi BR,
Thanks for the reply...
However, I still have no idea of how to do it.
Could somebody apply it to sample project (post #1) and post it here please?
только это
procedure Form1_Button6_OnClick (Sender: string; var Cancel: boolean);
var
id1, id2: integer;
record_count1, record_count2, parent, parent2: string;
begin
if (Form1.TreeView1.SelectedRow > 0) then
begin
id1 := Form1.TreeView1.dbItemID;
id2 := Form1.TreeView1.dbIndexToID(Form1.TreeView1.SelectedRow-1);
parent:=SQLExecute('SELECT IFNULL (ParentID,0) FROM OrgStructure WHERE id='+IntToStr(Form1.TreeView1.dbItemID));
record_count1 := SQLExecute('SELECT id FROM OrgStructure WHERE id='+IntToStr(id1)+' AND ParentID='+parent);
record_count2 := SQLExecute('SELECT id FROM OrgStructure WHERE id='+IntToStr(id2)+' AND ParentID='+parent);
showmessage(record_count1);
showmessage(record_count2);
if (record_count1<>'') and (record_count2<>'') then
begin
SQLExecute('UPDATE OrgStructure SET id="0" WHERE id='+IntToStr(Form1.TreeView1.dbItemID));
SQLExecute('UPDATE OrgStructure SET id='+record_count1+' WHERE id='+IntToStr(id2));
SQLExecute('UPDATE OrgStructure SET id='+record_count2+' WHERE id="0"' );
Form1.TreeView1.dbUpdate;
Form1.TreeView1.dbItemID := id1;
end;
end;
end;
procedure Form1_Button5_OnClick (Sender: string; var Cancel: boolean);
var
sSQL: string;
sFileName: string;
sFieldName: string;
Params: TParams;
MemoryStream: TMemoryStream;
Param: TParam;
begin
sFileName := 'd:\db 1.jpg';
sFieldName := 'somefile';
sSQL := 'UPDATE test SET ' +sFieldName+'= :'+sFieldName+', '+sFieldName+'_filename="'+ExtractFileName(sFileName)+'" WHERE id=1';
Params := TParams.Create(nil);
// BLOB
MemoryStream := TMemoryStream.Create;
MemoryStream.LoadFromFile(sFileName); // load file to memory
MemoryStream.Position := 0;
Params.CreateParam(ftBlob, sFieldName, ptInput).LoadFromStream(MemoryStream, 15); // 15 ftBlob (TBlobType)
Form1.SQLConnection.Execute(sSQL, Params);
MemoryStream.Free;
Params.Free;
Form1.TableGrid1.dbUpdate;
end;
Andrei wrote:Проще говоря моя задумка ошибочна и неисполнима.
Я хотел наложить фильтр на ComboBox, что если id_print <> 1 то не отображать модель принтера. Но принтеров одной модели много и у кого-то может быть id_print = 1...
тогда попробуйте дополнить коким-либо полем которое будет делить эти принтеры
типа.. офис № или испольуйте инвентаризационные номера
у Вас ошибка в Формировании БД
имя принтера всегда должно быть одно, и наче говоря у Вас в записях таблицы mod_print есть много id c одним и тем же именем принтера ..
frmAddSch.ComboBox2.dbSQLExecute('SELECT name FROM mod_print LEFT OUTER JOIN print ON mod_print.id=print.id_mod_print WHERE print.id_rab=1');
var
ini:TIniFile;
procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
var
a1,b1:integer ;
begin
ini:=TIniFile.Create(ExtractFilePath (ParamStr (0))+'setReport.ini');
Form1.frxReport.Variables.Clear;
Form1.frxReport.Variables[' ' + 'Seller'] := Null;
Form1.frxReport.Variables['edit11'] :=ini.ReadInteger('company','edit1',a1);
Form1.frxReport.Variables['edit22'] :=ini.ReadInteger('company','edit2',b1);
end;
var
ini:TIniFile;
procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
begin
ini:=TIniFile.Create(ExtractFilePath (ParamStr (0))+'setReport.ini');
Form1.frxReport.Variables.Clear;
Form1.frxReport.Variables[' ' + 'Seller'] := Null;
Form1.frxReport.Variables['edit11'] := ini.ReadString('company','edit1','');
Form1.frxReport.Variables['edit22'] := ini.ReadString('company','edit2','');
end;
попробуйте, это
SQLExecute('SELECT name FROM mod_print LEFT OUTER JOIN print ON mod_print.id=print.id_mod_print WHERE print.id_rab=1');
в данном случае
SELECT id_mod_print FROM print WHERE id_rab =1
будет не верно, это скрипт запроса в одну таблицу
дайте хотябы скрин этих баз, а то так сложно все понять
id_mod_print
это ссылка на другую таблицу?
Posts found: 1,076 to 1,100 of 1,694