Office中国论坛/Access中国论坛

标题: 子窗体数据源的问题? [打印本页]

作者: yanlj518    时间: 2008-5-18 15:17
标题: 子窗体数据源的问题?
目的:将表2的记录导入至表1,学号重复的记录不导入。导完后,在导入子窗体中立即显示出没有导入的记录(就是重复的记录)。
思路:1、能不能做个删除查询,将表2和表1中不同的记录删除,余下的就是重复未导入的记录。
           2、作一个b1和b2的内部联接的查询语句(就是两个表都有的记录,自然就是重复记录),然后作为子窗体的数据源。
我只知道思路,代码要请高手指教!
作者: kangking    时间: 2008-5-18 16:31
先做一个不匹配查询(查询1),再做一个追加查询(查询2)。
作者: yanlj518    时间: 2008-5-18 19:50
谢谢!可能是我没有说清楚,我的目的是要在导入窗体中的子窗体表现出导入的情况,把重复的记录也就是未导入的记录反映出来,导入的就自动删除不显示了,这样就一目了然,知道哪些记录没有导入。
作者: yanlj518    时间: 2008-5-18 19:58
就是让导入窗体上的子窗体中的记录实时变化,显示不导入的记录(因为重复了)。
作者: yanlj518    时间: 2008-5-18 20:04
思路中的两点其实就是子窗体上的数据源,我不知道怎么在代码中改变子窗体上的数据源?热切等待高手………
作者: yanlj518    时间: 2008-5-18 20:48
Private Sub Command0_Click()
Dim sql, qr
On Error GoTo 1
qr = MsgBox("确定要追加记录吗?", vbOKCancel + vbAbortRetryIgnore + vbDefaultButton1, "追加记录")
sql = "INSERT INTO b1( 学号, 姓名 )  SELECT 学号, 姓名  FROM b2 WHERE b2.学号 not in(select 学号 from b1);"
sql2 = "SELECT b2.学号, b2.姓名 FROM b1 INNER JOIN b2 ON b1.学号 = b2.学号;"
If qr = 6 Then
   DoCmd.RunSQL (sql)
     'Me.zct.Form.RecordSource = sql2
   Forms![导入窗体]![zct].Form.RecordSource = sql2
   Me.zct.Requery
   MsgBox "记录已经成功追加,重复记录不会导入。"
End If
1 If Err.Number = 2501 Then Cancel = True
End Sub
黑体部分作为子窗体上的数据源,不知道子窗体上没有执行,不知道错在哪里?
作者: qaz85790168    时间: 2008-8-26 14:24
学习之中




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3