Office中国论坛/Access中国论坛
标题: ACCESS窗体数据表视图中如何进行模糊查询? [打印本页]
作者: 一叶知秋 时间: 2004-11-10 02:14
标题: ACCESS窗体数据表视图中如何进行模糊查询?
[求助] 十万火急:为了方便计件工资的录入,我用ACCESS数据库编写了一个小程序:但在记录录入时的查询不能执行。 我COPY部分原代码请大师替我修正一下
原程序中创建了一个工序基础表,一个记录表,一个工序查询窗体,一个记录录入窗体
其中记录录入窗体的部分原代码如下:
Private Sub 工序编号_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Then
?????在此处有问题:“窗体中输入的查询条件在按回车键后如何更新当前文本框中的值”?????
'在工序编号输入查询值后,如果键入ENTER,将"输入值"作条件进入工序表查询,如果窗体中输入的工序编号=工序表中工序编号且记录数为1
'则直接反回查询值,否则调用一个"SQL查询"
If DCount("[工序编号]", "工序表", "[工序编号]=FORMS!记录录入1!工序记录录入1!工序编号") = 1 Then '本句查询工序表中工序编号=窗体中查询值的记录数是否=1
Dim AAA As Variant
Dim BBB As Variant
'查询的记录数=1时反回查询值
AAA = DLookup("[工序名称]", "工序表", "工序编号=FORMS!记录录入1!工序记录录入1!工序编号")
BBB = DLookup("[工序单价]", "工序表", "工序编号=FORMS!记录录入1!工序记录录入1!工序编号")
Me!工序名称 = AAA
Me!单价 = BBB
Me!数量.SetFocus
Else
'反回值不等于1时调用SQL查询
DoCmd.RunMacro "打开工序查询窗体"
end if
end if
end sub
作者: swo 时间: 2004-11-10 07:06
?????在此处有问题:“窗体中输入的查询条件在按回车键后如何更新当前文本框中的值”?????
me.Recalc
作者: 一叶知秋 时间: 2004-11-10 16:55
仁兄的方法,我试验之后,还是不能解决问题:
作者: Benjamin_luk 时间: 2004-11-10 17:01
你的代码如果是引用子窗体的话, 上面的引用是不正确的.Forms!MainFormName!SubformName.Form!FieldName[em01][em05]
作者: Benjamin_luk 时间: 2004-11-10 17:08
另外你所用的通配符也可能不正确:如果是数字: "& myValue &" 或 "+ myValue +" 如果是文本:'"& myValue &"', '"+ myText +"'如果是日期:#"& myValue &"#, #"+ myDate +"#[em05]
[此贴子已经被作者于2004-11-10 9:13:50编辑过]
作者: 一叶知秋 时间: 2004-11-10 17:17
谢谢蜘蛛大侠,引用窗体控件的地方在程序中可以执行,关键在于If KeyCode = 13 Then之后应当怎样加一段代码,使表格中当前单元格在按回车键后,当前单元格输入的键盘输入能生效
作者: 一叶知秋 时间: 2004-11-10 17:25
各位大侠,小弟曾在 If KeyCode = 13 Then之后加了如下代码:SENDKEYS" {tab}" 借用此句使当前单元格的键盘输入得到确认程序可以执行,查询结果也正确,但是执行中先跳动单元格才执行查询,窗体晃眼,有没有更好的方法
作者: Benjamin_luk 时间: 2004-11-10 17:28
你是说在文本框中输入什么东西呀? 我还是不太明白.[em05]
作者: 一叶知秋 时间: 2004-11-10 17:41
例如 在 工序编号 文本框中 输入"安装汽油机"之后 按 ENTER 键, 怎样能把当前工序编号文本框中输入的 "安装汽油机" 在按下ENTER 键后即可作为查询的条件进行下面的查询
[此贴子已经被作者于2004-11-10 9:46:09编辑过]
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) |
Powered by Discuz! X3.3 |