Access交流中心

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

ADO查询绑定编辑窗体但总是报“窗体是只读的”

李子  发表于:2017-03-29 17:52:01  
复制

笔者尝试在子窗体中选定某记录后,通过“编辑”按钮打开另一个编辑窗体,并尝试用ADO数据集绑定编辑窗体。但无论怎么搞,系统都说“窗体是只读的”。请哪位大侠帮忙指点,多谢!

1、按钮事件(其中Me.Text_id是传递的表主键编码):

Private Sub cmdEdit_ZL_Click()
On Error GoTo Err_cmdEdit_ZL_Click
    If Nz(Me.Text_id, "") = "" Then     '新增记录
       DoCmd.OpenForm Me.frmChild_ZL.Form.Name & "_Edit", acNormal, , , acFormAdd, acDialog
    Else                                '编辑记录
       DoCmd.OpenForm Me.frmChild_ZL.Form.Name & "_Edit", acNormal, , , acFormEdit, acDialog, Nz(Me.Text_id)
   End If
Exit_cmdEdit_ZL_Click:
    Exit Sub
Err_cmdEdit_ZL_Click:
    MsgBox Err.Description
    Resume Exit_cmdEdit_ZL_Click
End Sub

2、编辑窗体加载事件:

Private Sub Form_Load()
 On Error GoTo Err_Form_Load
 Dim strSql As String
 Dim cn As ADODB.Connection
 Dim rs As ADODB.Recordset
 If Nz(Me.OpenArgs, "") = "" Then
    Me.AllowEdits = False
 Else
     Me.RecordsetType = 4       '这三句话都不起作用!!!
     Me.AllowEdits = True
     Me.DataEntry = True
     Set cn = CurrentProject.Connection
     Set rs = New ADODB.Recordset
     With rs
     Set .ActiveConnection = cn
        .Source = " SELECT * FROM tblZL_sjjl WHERE id = '" & Me.OpenArgs & "'"
        .LockType = adLockOptimistic
        .CursorType = adOpenKeyset
        .Open
     End With
    '用ADO给窗体的属性赋值
     Set Me.Recordset = rs
       
     rs.Close
     Set rs = Nothing
     Set cn = Nothing
  End If
Exit_Form_Load:
    Exit Sub
Err_Form_Load:
    MsgBox Err.Description
    Resume Exit_Form_Load
End Sub

感谢您百忙之中给予指点!


 

Top
MDZZ 发表于:2017-03-30 08:25:17
    看下快速开发平台生成主子表是怎么做的

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