我有一个MS Access数据库(.mdb),其上构建了报告的前端,生成报告以计算保险代理人的工资/盈利能力。报告中有一列(TASC奖金)不是表格中的一列。它显然是通过存储过程计算的(这是我被告知的)。有没有办法查看Access数据库中的存储过程来确定如何计算此列?遗憾的是,由于安全/隐私问题,我无法发布数据库。我相信Access数据库中的数据(可能还有存储过程)是从SQL数据库中提取的,然后“按摩”来生成报告。
我认为必须有某种数据库查看器可以让你看到所有的表格和程序,但是我的谷歌搜索没有任何结果(通常我很擅长找到任何东西)。我总是在这里作为最后的手段发帖,当我真的难倒!
非常感谢任何和所有帮助。提前谢谢!
答案 0 :(得分:1)
您可以在数据库中查询对象(存储过程)定义。所需查询的细节取决于您要连接的数据库。
对于MS SQL:从(sys.procedures)中选择object_definition(object_id),其中name ='“& sProcName&”'“
对于Oracle:从user_source中选择文本,其中name = upper('“& sProcName&”')按类型排序,行
希望有助于你到达那里。
答案 1 :(得分:0)
数据是存储在Jet / ACE MDB / ACCDB还是SQL Server或其他数据库服务器中? “存储过程”不是Access本机的术语,虽然某些存储的Access查询与服务器数据库中的“存储过程”之间存在某些共同点,但并不是很多。
那就是说,您应该查看报告的Recordsource并将其作为您的答案的编辑发布。这可能表明数据的来源。我认为,报告从服务器端存储过程中获取数据的可能性极小,但SQL应该提供有关它来自何处的线索。