Office中国论坛/Access中国论坛
标题:
请教高手一个问题
[打印本页]
作者:
wushenren7
时间:
2012-5-7 12:30
标题:
请教高手一个问题
表一:
张三 100
李四 300
王二 500
表二:
员工 工资
怎么样在ACCESS里将标题加进去,变成表三这样:
员工 工资
张三 100
李四 300
王二 500
因为实际数据很大,只能导入ACCESS中处理,而无法在EXCEL里直接做。请教高手![attach]49137[/attach]
作者:
Henry D. Sy
时间:
2012-5-7 14:16
1. 请注意使用简单明了的标题提问
2.假设结果表名为a
SELECT 表.字段1 AS 员工, 表.字段2 AS 工资 INTO a
FROM 表
复制代码
作者:
wushenren7
时间:
2012-5-7 14:32
Henry D. Sy 发表于 2012-5-7 14:16
1. 请注意使用简单明了的标题提问
2.假设结果表名为a
谢谢,下次注意!
其实我的实际表中有几十个字段,我更想能自动添加标题,而不是一个个手动输进去,有什么办法吗?
作者:
Henry D. Sy
时间:
2012-5-7 16:52
能告诉我如何知道字段1......n所对应的关系吗
作者:
Henry D. Sy
时间:
2012-5-7 17:14
Private Sub Command0_Click()
Dim rs As New ADODB.Recordset
Dim cnn As New ADODB.Connection
Dim strFld() As String
Dim strSQL As String
Dim i As Integer
Set cnn = CurrentProject.Connection
rs.Open "标题", cnn, adOpenKeyset, adLockReadOnly
ReDim strFld(1 To rs.Fields.Count)
For i = 1 To rs.Fields.Count
strFld(i) = rs.Fields(i - 1)
Next
rs.Close
rs.Open "表", cnn, adOpenKeyset, adLockReadOnly
For i = 1 To rs.Fields.Count
strSQL = strSQL & "字段" & i & " as " & strFld(i) & ","
Next
If Len(strSQL) <> 0 Then
strSQL = Left(strSQL, Len(strSQL) - 1)
End If
strSQL = "select " & strSQL & " into A from 表"
CurrentDb.Execute strSQL
DoCmd.OpenTable "A"
Set rs = Nothing
Set cnn = Nothing
End Sub
复制代码
再次运行代码时,还需判断A是否存在,如有则先删除它
作者:
Henry D. Sy
时间:
2012-5-7 17:35
Public Function tblExist(tblName As String) As Boolean
Dim tbl As TableDef
tblExist = False
For Each tbl In CurrentDb.TableDefs
If tbl.Name = tblName Then
tblExist = True
Exit For
End If
Next
End Function
复制代码
Private Sub Command0_Click()
Dim rs As New ADODB.Recordset
Dim cnn As New ADODB.Connection
Dim strFld() As String
Dim strSQL As String
Dim i As Integer
Set cnn = CurrentProject.Connection
If tblExist("A") Then
DoCmd.DeleteObject acTable, "A"
End If
rs.Open "标题", cnn, adOpenKeyset, adLockReadOnly
ReDim strFld(1 To rs.Fields.Count)
For i = 1 To rs.Fields.Count
strFld(i) = rs.Fields(i - 1)
Next
rs.Close
rs.Open "表", cnn, adOpenKeyset, adLockReadOnly
For i = 1 To rs.Fields.Count
strSQL = strSQL & "字段" & i & " as " & strFld(i) & ","
Next
If Len(strSQL) <> 0 Then
strSQL = Left(strSQL, Len(strSQL) - 1)
End If
strSQL = "select " & strSQL & " into A from 表"
CurrentDb.Execute strSQL
DoCmd.OpenTable "A"
Set rs = Nothing
Set cnn = Nothing
End Sub
复制代码
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3