MS Access在查询中使用文本框值

时间:2018-01-05 14:51:57

标签: sql sql-server ms-access

我有一个包含1个文本框和1个按钮的简单表单。

现在我想使用这个功能:

    CREATE FUNCTION fnFietsAantDagenPerJaar
        (
            @Jaar AS int

        )
    RETURNS TABLE
    AS
    RETURN

    SELECT f.Fiets_id, f.Fiets_Type, SUM(DATEDIFF(DAY, h.Huurovereenkomst_Begin_datum, h.Huurovereenkomst_Eind_datum)) AantalDagen
    FROM Fiets f
        INNER JOIN HuurovereenkomstFiets hf
        ON hf.HuurovereenkomstFiets_Fiets_id = f.Fiets_id
        INNER JOIN Huurovereenkomst h
        ON h.Huurovereenkomst_id = hf.HuurovereenkomstFiets_Huurovereenkomst_id
    WHERE YEAR(h.Huurovereenkomst_Begin_datum) = @Jaar AND YEAR(h.Huurovereenkomst_Eind_datum) = @Jaar
    GROUP BY f.Fiets_id, f.Fiets_Type

    GO

使用该函数作为传递,并将文本框中的值作为变量。 或者这个查询:

    SELECT f.Fiets_id, f.Fiets_Type, SUM(DATEDIFF(DAY, h.Huurovereenkomst_Begin_datum, h.Huurovereenkomst_Eind_datum)) AantalDagen
    FROM Fiets f
        INNER JOIN HuurovereenkomstFiets hf
        ON hf.HuurovereenkomstFiets_Fiets_id = f.Fiets_id
        INNER JOIN Huurovereenkomst h
        ON h.Huurovereenkomst_id = hf.HuurovereenkomstFiets_Huurovereenkomst_id
    GROUP BY f.Fiets_id, f.Fiets_Type

并使其具有此WHERE语句;

WHERE YEAR(h.Huurovereenkomst_Begin_datum) = Textbox1 AND 
YEAR(h.Huurovereenkomst_Eind_datum) = Textbox1

我无法找到如何使用这两个解决方案,有没有人知道如何在我的查询中使用文本框值来获得结果?

1 个答案:

答案 0 :(得分:0)

那可能是:

WHERE YEAR(h.Huurovereenkomst_Begin_datum) = [Forms]![YourForm]![Textbox1] AND 
YEAR(h.Huurovereenkomst_Eind_datum) = [Forms]![YourForm]![Textbox1]