设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1322|回复: 4
打印 上一主题 下一主题

[窗体] [问题解除,封贴]调用SQL语句 update出错

[复制链接]
跳转到指定楼层
1#
发表于 2008-8-14 15:31:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
共有两个表:车辆基本信息表(车牌号为主键,且值唯一)、里程调查表,一对多关系。采用主从窗体格式录入,各控件绑定表字段。当在主窗体中录入的车牌号以前曾经录入过(即:车辆基本信息表中已经包含该车牌号的信息)时,此时修改所在地市信息后(在Form_BeforeUpdate事件中更新车辆基本信息表内容),切换到下调记录时,会出现 update调用错误提示,可车辆基本信息表中数据已经修改过来了。而且,有时候会出现主窗体数据已经修改,但是无法用滚轮快速切换记录的问题。请行家指点迷津。谢谢



[ 本帖最后由 tomuch 于 2008-8-15 11:40 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2008-8-14 23:27:20 | 只看该作者
Private Sub Form_BeforeUpdate(Cancel As Integer)
    Dim cmdStr As String


'    On Error GoTo DealError
    '使用输入的名称执行查询
    Dim objCn As New ADODB.Connection
    Dim objRs As New ADODB.Recordset
   
    Set objCn = CurrentProject.Connection
    If objCn.State = adStateOpen Then
            'MsgBox "mdb已经打开"
    ElseIf objCn.State = adStateClosed Then
        objCn.Open
    End If
   
    Dim Com As New ADODB.Command
   
    cmdStr = "select * from 车辆基本信息表 where 牌照号='" & Me.牌照号 & "'"
    Dim c1 As String
   
    objRs.CursorType = adOpenStatic
    If objCn.State = adStateOpen Then
        objRs.ActiveConnection = objCn
        objRs.Open cmdStr
    End If
    If objRs.RecordCount >= 1 Then
        '更新数据库
        
       Com.ActiveConnection = objCn  'CurrentProject.AccessConnection
       c1 = "set " & " 所在地市 ='" & Me.所在地市 & "'"
        
        
       cmdStr = "update 车辆基本信息表 " & c1 & " where 牌照号='" & Me.牌照号 & "'"
      
       Com.CommandText = cmdStr
       Com.Execute
      
      
       Cancel = True
'       Me.Refresh
      
       Me.里程调查表_子窗体.Requery
      

        
    End If
     Exit Sub    '跳过下面的语句
'DealError:
'    MsgBox "程序运行错误:" & Err.Description

End Sub
3#
 楼主| 发表于 2008-8-15 08:57:07 | 只看该作者
谢谢Grant版!经过上面的修改,又出现新问题:修改地市名称后,无法切换到别的记录条(用滚轮或上下条记录按钮均失效)。我试着不执行  cancel=true  语句,但是会弹出下面的提示框,还请能帮助找到合适解决方案,谢谢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
4#
发表于 2008-9-6 06:33:51 | 只看该作者
关注中
5#
发表于 2008-9-6 09:05:48 | 只看该作者
窗体和docmd两个都改那当然就....
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2025-2-22 18:59 , Processed in 0.102727 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表