Dim RstMt As ADODB.Recordset Dim rstDt As ADODB.Recordset Dim i As Integer, j As Integer Dim blnSame As Boolean '打开第一个表rstMT '打开第二个表rstDt For i = 0 To RstMt.Fields.Count - 1 For j = 0 To rstDt.Fields.Count - 1 If RstMt.Fields(i).Name = rstDt.Fields(j).Name Then '字段名字相同 If RstMt.Fields(i).DefinedSize = rstDt.Fields(j).DefinedSize Then '长度相同 If RstMt.Fields(i).Type = rstDt.Fields(j).Type Then '类型相同 blnSame = True exit for End If End If End If Next j If blnSame Then MsgBox "Same field's name is " & RstMt.Fields(i).Name blnSame = False Next i
如果用Sql语句,那请问你的数据库是Sql Server或Acess或是什么?
你可以采用显示所有的字段,然后再提取'引用微软 ADO Ext.2.7 for dll and Security Dim cat As ADOX.Catalog Dim cnn As ADODB.Connection Dim tbl As ADOX.TablePrivate Sub Command1_Click() On Error Resume Next For Each tbl In cat.Tables If Left(tbl.Name, 4) <> "MSys" Then List1.AddItem tbl.Name End If Next End SubPrivate Sub Form_Load() Set cnn = New ADODB.Connection Set cat = New ADOX.Catalog cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\csdn_vb\database\treeview的节点添加\article.mdb" Set cat.ActiveConnection = cnn End SubPrivate Sub Form_Unload(Cancel As Integer) Set cat = Nothing Set con = Nothing End Sub 这里显示字段名 Private Sub List1_Click() Dim fld Dim intfield As Integer List2.Clear intfield = cat.Tables(List1.List(List1.ListIndex)).Columns.Count For i = 0 To intfield - 1 Set fld = cat.Tables(List1.List(List1.ListIndex)).Columns(i) List2.AddItem fld.Name & " " & fld.Type & " " & fld.DefinedSize Next End Sub
Dim rstDt As ADODB.Recordset
Dim i As Integer, j As Integer
Dim blnSame As Boolean
'打开第一个表rstMT
'打开第二个表rstDt
For i = 0 To RstMt.Fields.Count - 1
For j = 0 To rstDt.Fields.Count - 1
If RstMt.Fields(i).Name = rstDt.Fields(j).Name Then '字段名字相同
If RstMt.Fields(i).DefinedSize = rstDt.Fields(j).DefinedSize Then '长度相同
If RstMt.Fields(i).Type = rstDt.Fields(j).Type Then '类型相同
blnSame = True
exit for
End If
End If
End If
Next j
If blnSame Then MsgBox "Same field's name is " & RstMt.Fields(i).Name
blnSame = False
Next i
Dim cat As ADOX.Catalog
Dim cnn As ADODB.Connection
Dim tbl As ADOX.TablePrivate Sub Command1_Click()
On Error Resume Next
For Each tbl In cat.Tables
If Left(tbl.Name, 4) <> "MSys" Then
List1.AddItem tbl.Name
End If
Next
End SubPrivate Sub Form_Load()
Set cnn = New ADODB.Connection
Set cat = New ADOX.Catalog
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\csdn_vb\database\treeview的节点添加\article.mdb"
Set cat.ActiveConnection = cnn
End SubPrivate Sub Form_Unload(Cancel As Integer)
Set cat = Nothing
Set con = Nothing
End Sub
这里显示字段名
Private Sub List1_Click()
Dim fld
Dim intfield As Integer
List2.Clear
intfield = cat.Tables(List1.List(List1.ListIndex)).Columns.Count
For i = 0 To intfield - 1
Set fld = cat.Tables(List1.List(List1.ListIndex)).Columns(i)
List2.AddItem fld.Name & " " & fld.Type & " " & fld.DefinedSize
Next
End Sub
http://community.csdn.net/Expert/topic/3341/3341527.xml?temp=.2331201
马上结帐,非常感谢。我现在非常着急,拜托各位了。