| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1857 人关注过本帖
标题:access 添加记录后保留当前页面部分数据
只看楼主 加入收藏
pldqu_2019
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2019-1-6
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:7 
access 添加记录后保留当前页面部分数据
我在新增产品信息的时候,一般只改变产品编号,其它的信息都不改变,但是点击保存后,所有内容都没有啦,每台都要输一遍,怎样设置才能保存后,保留我需要的信息,如示例图所示,除了产品编号以外,其它都保留,
图片附件: 游客没有浏览图片的权限,请 登录注册
求大师们指点
搜索更多相关主题的帖子: access 保留 页面 产品 信息 
2019-05-25 22:54
pldqu_2019
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2019-1-6
收藏
得分:0 
自己先定一个
2019-05-26 10:27
wufuzhang
Rank: 9Rank: 9Rank: 9
来 自:广州
等 级:贵宾
威 望:21
帖 子:206
专家分:1346
注 册:2017-8-9
收藏
得分:20 
回复 2楼 pldqu_2019
程序代码:
      Set cn = New ADODB.Connection
      Set rs = New ADODB.Recordset
      cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\产品.mdb"
      cn.Open
      rs.Open "信息", cn, adOpenKeyset, adLockOptimistic
      
      Set MSHFlexGrid1(0).DataSource = rs
      rs.Fields(1) = Text1(0).Text
      rs.Update
      MSHFlexGrid1(0).ColWidth(-1) = 800
      cn.Close
      Set cn = Nothing
      Set rs = Nothing

这一句rs.Fields(1) = Text1(0).Text就可以修改指定字段的内容啊!
其他字段没有修改,内容就不会改变呀。

不经历千百遍的调试,怎能体会成功时那一刹那的喜悦。
2019-05-26 12:36
pldqu_2019
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2019-1-6
收藏
得分:0 
回复 3楼 wufuzhang
高手啊,但是还不是很懂,我具体该怎么修改代码才能达到我想要的效果啊,求指点
2019-06-02 13:51
wufuzhang
Rank: 9Rank: 9Rank: 9
来 自:广州
等 级:贵宾
威 望:21
帖 子:206
专家分:1346
注 册:2017-8-9
收藏
得分:0 
回复 4楼 pldqu_2019
你可以把你的代码发出来吗?不然我都不知道你问题出在哪里。

不经历千百遍的调试,怎能体会成功时那一刹那的喜悦。
2019-06-03 09:12
pldqu_2019
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2019-1-6
收藏
得分:0 
回复 5楼 wufuzhang
Option Compare Database
Option Explicit
Private Sub Form_Load()
    On Error GoTo ErrorHandler
    Dim strSQL        As String
    Dim cnn           As Object 'ADODB.Connection
    Dim rst           As Object 'ADODB.Recordset

    ApplyTheme Me
    LoadLocalLanguage Me

    If IsNull(Me.OpenArgs) Then
        Me.DataEntry = True
    End If
    If Me.DataEntry Then
        GoTo ExitHere
    End If
    Me.btnSave.Enabled = Me.AllowEdits

    Set cnn = CurrentProject.Connection



    strSQL = "SELECT * FROM [tbl5001调试号码录制] WHERE [产品编号]=" & SQLText(Me.OpenArgs)
    Set rst = OpenADORecordset(strSQL, , cnn)
    Me![产品编号] = rst![产品编号]
    Me![产品名称] = rst![产品名称]
    Me![产品状态] = rst![产品状态]
    Me![判定] = rst![判定]
    Me![调试人员] = rst![调试人员]
    Me![存号时间] = rst![存号时间]
    Me![备注] = rst![备注]
    rst.Close

ExitHere:
    Set rst = Nothing
    Set cnn = Nothing
    Exit Sub

ErrorHandler:
    RDPErrorHandler Me.Name & ": Sub Form_Load()"
    Resume ExitHere
End Sub

Private Sub btnSave_Click()
    On Error GoTo ErrorHandler
    Dim strWhere      As String
    Dim strSQL        As String
    Dim cnn           As Object 'ADODB.Connection
    Dim rst           As Object 'ADODB.Recordset

    Dim strSQL2        As String
    Dim rst2           As Object 'ADODB.Recordset
    Dim productName, productType As String


    If Not CheckRequired(Me) Then Exit Sub
    If Not CheckTextLength(Me) Then Exit Sub

    Set cnn = CurrentProject.Connection

    '读取[tbl4003产品名称信息]记录
    strSQL2 = "SELECT * FROM [tbl4003产品名称信息]"
    Set rst2 = OpenADORecordset(strSQL2, , cnn)
   
    Do Until rst2.EOF
        
        productName = rst2![产品名称]
        productType = rst2![产品型号]
        
        '
        If Me![产品名称] = productName Then
        
            If Len(Left(Me![产品编号], Len(productType))) = Len(productType) Then
            
              If Left(Me![产品编号], Len(productType)) = productType Then
               
                MsgBox "len and content is ok."
                Exit Do
               
              Else
              
                  MsgBox "content is error."
                  GoTo ExitHere:
              End If
              
            Else
            
                MsgBox "len is error."
                GoTo ExitHere:
            End If
        
        End If
        
        rst2.MoveNext
        
    Loop
   

    strSQL = "SELECT * FROM [tbl5001调试号码录制] WHERE [产品编号]=" & SQLText(Me![产品编号])
    Set rst = OpenADORecordset(strSQL, adLockOptimistic, cnn)
    If rst.EOF Then
        rst.AddNew
    End If
    rst![产品编号] = Me![产品编号]
    rst![产品名称] = Me![产品名称]
    rst![产品状态] = Me![产品状态]
    rst![判定] = Me![判定]
    rst![调试人员] = Me![调试人员]
    rst![存号时间] = Me![存号时间]
    rst![备注] = Me![备注]
    rst.Update
    rst.Close

    Form_frm5001调试号码录制.RefreshDataList
    MsgBoxEx LoadString("Saved Successfully."), vbInformation

    If Me.DataEntry Then
        ClearControlValues Me
    Else
        DoCmd.Close acForm, Me.Name, acSaveNo
    End If

ExitHere:
    Set rst = Nothing
    Set cnn = Nothing
    Exit Sub

ErrorHandler:
    RDPErrorHandler Me.Name & ": Sub btnSave_Click()"
    Resume ExitHere
End Sub

Private Sub btnCancel_Click()
    On Error Resume Next
    DoCmd.Close acForm, Me.Name, acSaveNo
   
   
End Sub



代码就是这个,麻烦帮我看看,要怎么修改,谢谢
2019-06-07 18:03
pldqu_2019
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2019-1-6
收藏
得分:0 
回复 3楼 wufuzhang
我试了你的代码,提示缺少变量,是不是你的代码不全啊,麻烦指导一下,谢谢
2019-06-14 22:56
wufuzhang
Rank: 9Rank: 9Rank: 9
来 自:广州
等 级:贵宾
威 望:21
帖 子:206
专家分:1346
注 册:2017-8-9
收藏
得分:0 
回复 7楼 pldqu_2019
窗体声明部分加上下面两句:
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset

再试试

不经历千百遍的调试,怎能体会成功时那一刹那的喜悦。
2019-06-15 11:30
快速回复:access 添加记录后保留当前页面部分数据
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.057134 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved