我希望用下列程序实现以下功能:通过statis2遍历boxid表,当发现该表中有keyid属性重复的记录时,记下该记录,还有就是用statis1比较boxid的keyid值和pbox表的“字段1”的值,如果pbox表中含有boxid没有的记录,记下该记录。
Private Sub statis2()
Dim conn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim conn1 As New ADODB.Connection
Dim rst1 As New ADODB.Recordset
Dim conn2 As New ADODB.Connection
Dim rst2 As New ADODB.Recordset
Dim connp As New ADODB.Connection
Dim rstp As New ADODB.Recordset
Dim i, j As Integer
Dim m, n As Integer
i = 0
'Adodc1.ConnectionString = "dsn=boxnum"
'Adodc1.CommandType = adCmdText
'Adodc1.RecordSource = "select keyid from boxid group by keyid having count(keyid)>1"
'
'Set DataGrid1.DataSource = Adodc1
conn.Open "boxnum"
rst.CursorType = adOpenKeyset
rst.LockType = adLockOptimistic
rst.Open "select keyid from boxid group by keyid having count(keyid)>1", conn, , , adCmdText
MsgBox rst.RecordCount
conn2.Open "boxnum"
rst2.CursorType = adOpenKeyset
rst2.LockType = adLockOptimistic
rst2.Open "boxo", conn2, , , adCmdTable
rst.MoveFirst
For i = 0 To rst.RecordCount
rst2.AddNew
rst2!boxcode = rst!调压箱编号
rst2.Update
rst.MoveNext
Next iEnd Sub
Private Sub statis1()
Dim conn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim conn1 As New ADODB.Connection
Dim rst1 As New ADODB.Recordset
Dim connp As New ADODB.Connection
Dim rstp As New ADODB.Recordset
Dim j As Integer
conn.Open "boxnum"
rst.CursorType = adOpenKeyset
rst.LockType = adLockOptimistic
rst.Open "boxid", conn, , , adCmdTable connp.Open "boxnum"
rstp.CursorType = adOpenKeyset
rstp.LockType = adLockOptimistic
rstp.Open "select * from P_box where 字段1 not in (select keyid from boxid)", connp, , , adCmdText
MsgBox rstp.RecordCount
conn1.Open "boxnum"
rst1.CursorType = adOpenKeyset
rst1.LockType = adLockOptimistic
rst1.Open "boxo", conn1, , , adCmdTable问题是,在运行过程中,查boxid中的重复记录时,我并不只想查出一列keyid的值,还想所查出重复记录其他列的值,该怎么办?
而运行statis1时,boxo中显示的是80条完全相同的记录。怎么回事呢?我的P_box是一个导入表,和这有关系吗?
Private Sub statis2()
Dim conn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim conn1 As New ADODB.Connection
Dim rst1 As New ADODB.Recordset
Dim conn2 As New ADODB.Connection
Dim rst2 As New ADODB.Recordset
Dim connp As New ADODB.Connection
Dim rstp As New ADODB.Recordset
Dim i, j As Integer
Dim m, n As Integer
i = 0
'Adodc1.ConnectionString = "dsn=boxnum"
'Adodc1.CommandType = adCmdText
'Adodc1.RecordSource = "select keyid from boxid group by keyid having count(keyid)>1"
'
'Set DataGrid1.DataSource = Adodc1
conn.Open "boxnum"
rst.CursorType = adOpenKeyset
rst.LockType = adLockOptimistic
rst.Open "select keyid from boxid group by keyid having count(keyid)>1", conn, , , adCmdText
MsgBox rst.RecordCount
conn2.Open "boxnum"
rst2.CursorType = adOpenKeyset
rst2.LockType = adLockOptimistic
rst2.Open "boxo", conn2, , , adCmdTable
rst.MoveFirst
For i = 0 To rst.RecordCount
rst2.AddNew
rst2!boxcode = rst!调压箱编号
rst2.Update
rst.MoveNext
Next iEnd Sub
Private Sub statis1()
Dim conn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim conn1 As New ADODB.Connection
Dim rst1 As New ADODB.Recordset
Dim connp As New ADODB.Connection
Dim rstp As New ADODB.Recordset
Dim j As Integer
conn.Open "boxnum"
rst.CursorType = adOpenKeyset
rst.LockType = adLockOptimistic
rst.Open "boxid", conn, , , adCmdTable connp.Open "boxnum"
rstp.CursorType = adOpenKeyset
rstp.LockType = adLockOptimistic
rstp.Open "select * from P_box where 字段1 not in (select keyid from boxid)", connp, , , adCmdText
MsgBox rstp.RecordCount
conn1.Open "boxnum"
rst1.CursorType = adOpenKeyset
rst1.LockType = adLockOptimistic
rst1.Open "boxo", conn1, , , adCmdTable问题是,在运行过程中,查boxid中的重复记录时,我并不只想查出一列keyid的值,还想所查出重复记录其他列的值,该怎么办?
而运行statis1时,boxo中显示的是80条完全相同的记录。怎么回事呢?我的P_box是一个导入表,和这有关系吗?
insert into table2
select * from talbe1 where keyid in (
select keyid from boxid group by keyid having count(keyid)>1)表结构不同时则将字段对应好仍然是一句就可以列出
select * from table1 inner join table2 on table1.keyid=table2.字段1字段按要求选择