【发布时间】:2015-05-22 20:00:43
【问题描述】:
我正在尝试使用 ms sql server 2014 中的 存储过程 中的数据在 access 2013 中填写 连续表单 。数据库连接正常,我可以使用其他访问形式将数据添加到 ms sql server 数据库。所以这不是问题。 这是我的存储过程:
CREATE PROCEDURE spArtikelen AS
BEGIN
SELECT a.artikelnr, omschrijving, v.voorraad, p.prijs, a.leverancier
FROM artikel AS a, artikelprijs AS p, artikelvoorraad AS v
WHERE a.artikelnr = p.artikelnr
AND a.artikelnr = v.artikelnr
AND CAST(GETDATE() AS DATE) BETWEEN p.begindatum AND p.einddatum
END
这是我的 vba 代码(我将 vba 代码放在表单的 LOAD 事件上):
Private Sub Form_Load()
Dim rs As ADODB.Recordset
Set rs = DbConn.Execute("EXEC spArtikelen")
Do Until rs.EOF
Me.txtArtikelnr.Value = rs!artikelnr
Me.txtOmschrijving.Value = rs!omschrijving
Me.txtVoorraad.Value = rs!voorraad
Me.txtPrijs.Value = rs!prijs
Me.txtLeverancier.Value = rs!leverancier
Debug.Print rs!artikelnr, rs!omschrijving, rs!voorraad, rs!prijs, rs!leverancier
rs.MoveNext
Loop
End Sub!
我该如何解决这个问题?我一直试图让它工作一整天..没有成功.. 每次运行表单,只能得到一条记录,而且无法点击记录!
Here's the data from the stored procedure I'm trying to put into the form. Possible solution?
【问题讨论】:
-
另一种选择可能是在 Access 中创建传递查询以运行存储过程,然后将表单绑定到传递查询。 (但是,记录集仍然是只读的。)
-
@GordThompson 我认为您的建议应该更加突出,因此将其添加到我的答案中。如果您希望将其作为单独的答案提交,我很乐意将其删除。问候。
-
@HansUp 不用担心,您的回答对我来说很好。
标签: sql-server ms-access stored-procedures vba continuous-forms