我有2個表格:1. 項目,2. Article_Weights。 表項目連接到第一個DBLookUpCombobox DBLkpCbo_Projects。 它有一列項目它包含四位數字。 (1001,1004,1008,...)如何連接兩個DBLookUpComboboxes,可用作Lazarus中的篩選器
表Article_Weights含有列項目,Article_Number,Article_Weights等,這表與DBLookUpCombobox DBLkpCbo_Articles連接。
我想要實現的是當我從第一個組合框選擇某個項目時,第二個組合框將只顯示屬於該項目的文章編號。之後,當我從第二個組合框中選擇一些文章編號時,關於這篇文章的信息將顯示在DBGrid中。
過濾正在工作。我被困在最後一點。當我選擇了一些文章編號,我得到錯誤
「數據類型不表達式條件匹配」這是我的代碼:
procedure TMainForm.DBLkpCbo_ProjectSelect(Sender: TObject);
begin
if DBLkpCbo_Project.ItemIndex <> -1 then begin
SQLQuery2.Active:=true;
//SQLQuery1.ApplyUpdates();
SQLTransaction1.Commit();
SQLQuery2.Close;
SQLQuery2.SQL.Text:='SELECT Article_Number FROM Article_Weights WHERE Project = '+DBLkpCbo_Project.Text+'';
SQLQuery2.Open;
end;
end;
procedure TMainForm.DBLkpCbo_ArticleChange(Sender: TObject);
begin
if DBLkpCbo_Article.ItemIndex <> -1 then begin
//DBGrid1.Enabled:=true;
SQLQuery3.Active:=true;
//SQLQuery1.ApplyUpdates();
SQLTransaction1.Commit();
SQLQuery3.Close;
SQLQuery3.SQL.Text:='SELECT Article_Number FROM Article_Weights WHERE Article_Number='+DBLkpCbo_Article.Text+'';
SQLQuery3.Open;
end;
end;
謝謝你的任何答覆
Article_Number是在MS Access設置爲短文本和示例如下:1004.001.0020。我嘗試了你的建議,但彈出錯誤消息:「確保不包含無效字符或標點符號」。當我嘗試將其重命名爲「10040010020」時,出現「參數太少」錯誤。 – Revan31
對不起 - 我使用雙引號代替單引號 - 因爲我使用了SQL,所以一段時間。現在更正。 – Dsm
它真的工作! :)我花了很多時間試圖解決這個問題。非常感謝你。 – Revan31