我正在忙于开发一个MS Access 2007应用程序,该应用程序需要使用具有相当复杂的用户界面的子表单.我知道如何创建父表单并链接到子表单,以便它显示与父表单记录相关的数据,但我的问题是:
如果我有多个嵌套子表单(比如3或4级),我可以以某种方式将位于第4级的子表单与第1级的父表单的记录链接起来吗?嵌套子表单的意思是将表单粘贴到表单中,粘贴到另一个表单中等.
我希望与父窗体链接的子窗体当前使用查询作为其源对象,使用嵌套子窗体的原因纯粹是为了用户界面的美观.
有一个简单的方法可以解决这个问题吗?或者也许使用VBA?
这是我的代码:
OleDbConnection connection = new OleDbConnection(
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\\Offline.accdb;Persist Security Info=False");
connection.Open();
OleDbCommand command = connection.CreateCommand();
command.CommandText = "SELECT DISTINCT B.* FROM BlankFormSubmissions B, Actions A WHERE A.FormName = 'FindingNemo' AND B.ProcessName = A.ProcessName AND B.ActionName = A.ActionName AND B.ID = 12 OR B.ID = 13 OR B.ID = 14 ORDER BY B.ID";
OleDbDataReader reader = command.ExecuteReader();
while (reader.Read())
{
string xml = (string)reader["XML"];
// ... do something with xml
}
Run Code Online (Sandbox Code Playgroud)
列"XML"是一个类型为memo的Access Database表列.
xml的值始终只包含XML的第一个字符.我猜它是前256个字符.显然,我需要字符串中的所有字符.
有人知道怎么修这个东西吗?
谢谢 :)
如何使用Delphi 2009/2010和adoconnection(设计时)连接到accdb?
我在Ms Access中创建了一个函数,并将其调用到表单中的子过程,但它返回0.这是函数中的代码:
Public Function Sum(a, b) As Double
Dim total
total = a + b
End Function
Run Code Online (Sandbox Code Playgroud)
表单中子过程中的代码是:
Private Sub cmdDisplay_Click()
Dim a As Double
Dim b As Double
a = Val(Text0)
b = Val(Text2)
MsgBox (Sum(a, b))
End Sub
Run Code Online (Sandbox Code Playgroud)
每次我测试按钮时它都会显示0,它应该一起添加a和b.请帮忙
我的表格形式如下:
Id, Date, Open,High,Low,Close,VOlume,OI
Run Code Online (Sandbox Code Playgroud)
我正在使用MS Access,我需要像这样查询:
Select those dates(D), where Close on D-2> D-3 and D-1>D-2
Run Code Online (Sandbox Code Playgroud)
那么,我如何形成一个查询呢?通常,您可以将其视为在先前记录中具有其参数的查询.
Soham
当我在Access 2003中编写VBA时,我保持立即窗口可见,我使用Debug.Print和Stop来解决我的挑战.但我从来不知道如何从"当地人"窗口获得帮助.我理解大部分内容都在那里.但通常看起来我不得不四处寻找我想要的物品,并且在所有折叠结构中找到它可能需要一段时间.
(并且"Locals"不会从内置的VBA帮助文件中提取任何内容.也许我错过了一个文件...)
我打赌我可以开始使用当地人,如果我知道什么是实用的方式.你有解释或轶事可以让我知道吗?
我有一个看起来像这样的字符串
"患者姓名,医生姓名,患者ID,其他内容"
我想提取其中的每一个并将其放在一个变量中.这样var1将等于"患者姓名"var2将等于"Doc name"等...使用instr和mid.最好的方法是什么?
我正在尝试运行这段代码:
strSQL = "SELECT * FROM ORDER_DATA WHERE ORDER=" & curOrder
Set rst_orderData = db.OpenRecordset(strSQL)
Run Code Online (Sandbox Code Playgroud)
ORDER_DATA中的ORDER列是双数字类型,curOrder也是double类型.
我得到的错误指向第二行并说"WHERE子句上的语法错误".
你为什么认为这是?这可能是类型冲突吗?
任何帮助表示赞赏!谢谢!
我在一个表单中有一个"查看报告"按钮,当单击该按钮时,我想将另一个表单的记录源更改为其他表单并刷新它?
我试图将此代码放在按钮的单击功能中,但它无法正常工作
access.forms("Form1").RecordSource = {bla bla}
Run Code Online (Sandbox Code Playgroud)
但它不起作用.错误说它可以找到Form1 ..
任何帮助表示赞赏!
谢谢!