Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

addnew的问题

huashanshihu  发表于:2015-11-19 16:02:44  
复制

请老师们看看这段代码中,我想把ADO操作中的表中需要更改的字段用变量代替,可以吗?

Private Sub Text术后诊断_NotInList(NewData As String, Response As Integer)
Dim ctl As Control
Dim b科别 As Byte, s科别 As String
b科别 = Me!Text科别
s科别 = DLookup("科室名称", "科室分类", "id=" & b科别)
Set ctl = Me.Text术后诊断
If MsgBox("您所输入的诊断名称并不在数据库中,确认添加 " & NewData & " 术后诊断名称吗?", vbQuestion + vbOKCancel + vbDefaultButton2, "提示") = vbOK Then
 Response = acDataErrAdded
 Dim rs As New ADODB.Recordset
 rs.Open "术后诊断名称表", CurrentProject.Connection, adOpenDynamic, adLockOptimistic
 rs.AddNew
 rs!术后诊断名称 = NewData
 rs!门诊 = False
 rs!s科别 = True‘  就是这里,因为表中有几个不同科室的名称命名的字段,字段类型是逻辑类型我想在这里把科别用变量来代替,但是总是提示找不到S科别这个字段,好像是在这个语句中变量不是优先识别的。

                                                我尝试着把这段代码写成rs! & S科别 &=true,也不行,是不是这里只能填写表中的实际存在的字段名称啊?
 rs!操作人员 = b登录名
 
 rs.Update
 rs.Close
 Set rs = Nothing
 Else
 Me.Text术后诊断.Undo
 End If
End Sub

 

 

Top
huashanshihu 发表于:2015-11-19 16:16:41

或者是不是可以用别的方法,runsql方法,运行SQL语句,SQL语句中可以用变量好像可以。请教具体方法。



huashanshihu 发表于:2015-11-19 16:44:14

哈哈,我找到一种方法了。

可以用docmd.runsql

sql= "insert into 术后诊断名称表(术后诊断名称,门诊," & s科别 & ") select " & newdate & "," & " yes,yes"

docmd.runsql sql

就可以了。

我还想问的就是,在ADO里面是不是可以用变量呢?



煮江品茶 发表于:2015-11-19 17:33:05

d="五官科"

rs.fields(d).value=true



huashanshihu 发表于:2015-11-22 23:18:12

谢谢煮江品茶老师,这个更简单明了一些。茅塞顿开,醍醐灌顶啊。按照这个思路,应该是我在RS!s科别处少了一个定义字段的属性,如果写成RS!field(s科别)=true,就可以了,我去试试看。



huashanshihu 发表于:2015-11-23 00:24:16

我刚才去又实验了一下,开始的时候还是报错,提示“对应的所需的名称或序数的集合中未找到项目”,百思不得其解。仔细的再看看,发现煮江品茶老师告诉我的代码是

rs.fields(d).value=ture,而我写成了rs!field(s科室)=true了,我想应该d和s科室都是一样类型的变量,应该可以替换的,没有注意到感叹号和句号的问题,还有后面value属性的问题,最后把感叹号改成了.句号后过程才能完成。

 

感叹号和句号这里为什麽会出现如此大的差别的?前面的代码用的是感叹号啊?rs! 后面直接引用了表中字段的名称,而老师讲的是引用RS的字段集属性,不知道这样理解对不对,

那么感叹号和句号的用法的却别是什么呢?老师能不能具体讲讲。谢谢啊。



总记录:5篇  页次:1/1 9 1 :