你需要在数据库中新建一个表名叫temp的表,它的结构与你要选择的表的结构相同
建相同结构用select * into 建表名 from 相同结构表名 where 1=2
dim existtable as boolean
existable=false
dim rstemp as new adodb.recordset
set rstemp=cn.openschema(adschematable)
do until rstemp.eof
if rstemp!table_name ="temp" then
existtable=true
exit do
endif
rstemp.movenext
loop
if existtable=false then
sql="select * into temp from " & List1.List(List2.ListIndex) & "where 1=2"
cnn1.execut sql
endif
Set cnn1 = New ADODB.Connection
cnn1.Open "Provider=Microsoft.Jet.OLEDB.3.51;Data Source=" & App.Path & "\gsm2.mdb;"
Set rscourse = New ADODB.Recordset
If rscourse.State = adStateOpen Then rs.Close
If List1.List(List2.ListIndex) <> "" Then
Dim sql As String
sql = "insert into temp select * from " & List1.List(List2.ListIndex)
cnn1.Execute sql
rscourse.Open "temp", cnn1, adOpenDynamic, adLockPessimistic, adCmdTable
Set DataGrid1.DataSource = rs
DataGrid1.Refresh
End If
出错:找不到输出表 'temp'
请帮忙看看
可用union all
只要你的所有表名的域名相同
union all 是连接所有的表
用第一种同样能实现
Private Sub List1_DblClick()
If rs.State = adStateOpen Then rs.Close
If List1.List(List1.ListIndex) <> "" Then
Dim sql As String
sql = "insert into temp select * from " & List1.List(List1.ListIndex)
cn.Execute sql
rs.Open "temp", cn, adOpenDynamic, adLockPessimistic, adCmdTable
Set DataGrid1.DataSource = rs
DataGrid1.Refresh
以下是我出现问题的代码!
Private Sub Form_Load()
Dim con As ADODB.Connection
Dim rs As ADODB.Recordset
Set con = New ADODB.Connection
con.Provider = "Microsoft.Jet.OLEDB.3.51"
con.Open App.Path & "\gsm2.mdb"
Set rs = New ADODB.Recordset
rs.Open "SELECT mobile FROM user", con, adOpenKeyset, adLockPessimistic
Do While rs.EOF = False
If rs.Fields("mobile") Like "###########" <> True Then
rs.MoveNext
Else
List1.AddItem rs.Fields("mobile")
rs.MoveNext
End If
Loop
End Sub
Private Sub List1_DblClick()
Set cnn1 = New ADODB.Connection
cnn1.Open "Provider=Microsoft.Jet.OLEDB.3.51;Data Source=" & App.Path & "\gsm2.mdb;"
Set rscourse = New ADODB.Recordset
If List1.List(List1.ListIndex) <> "" Then
SQL = "SELECT * FROM " & List1.List(List1.ListIndex)
End If
rscourse.Open SQL, cnn1, adOpenStatic, adLockOptimistic
Set DataGrid1.DataSource = rscourse
End Sub
我已经用代码连接数据库了,问题还是没解决,不知道问题出在哪里?
我是个初学者,请大家不要见笑!谢谢各位帮忙!