设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1266|回复: 5
打印 上一主题 下一主题

[帮助] 请教高手一个问题

[复制链接]
跳转到指定楼层
1#
发表于 2012-5-7 12:30:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
表一:
张三        100
李四        300
王二        500

表二:
员工        工资

怎么样在ACCESS里将标题加进去,变成表三这样:
员工        工资
张三        100
李四        300
王二        500

因为实际数据很大,只能导入ACCESS中处理,而无法在EXCEL里直接做。请教高手!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2012-5-7 14:16:05 | 只看该作者
1. 请注意使用简单明了的标题提问
2.假设结果表名为a
  1. SELECT 表.字段1 AS 员工, 表.字段2 AS 工资 INTO a
  2. FROM 表
复制代码
3#
 楼主| 发表于 2012-5-7 14:32:03 | 只看该作者
Henry D. Sy 发表于 2012-5-7 14:16
1. 请注意使用简单明了的标题提问
2.假设结果表名为a

谢谢,下次注意!
其实我的实际表中有几十个字段,我更想能自动添加标题,而不是一个个手动输进去,有什么办法吗?
4#
发表于 2012-5-7 16:52:55 | 只看该作者
能告诉我如何知道字段1......n所对应的关系吗
5#
发表于 2012-5-7 17:14:07 | 只看该作者
  1. Private Sub Command0_Click()

  2.     Dim rs As New ADODB.Recordset
  3.     Dim cnn As New ADODB.Connection
  4.     Dim strFld() As String
  5.     Dim strSQL As String
  6.     Dim i As Integer
  7.    
  8.     Set cnn = CurrentProject.Connection
  9.    
  10.     rs.Open "标题", cnn, adOpenKeyset, adLockReadOnly
  11.    
  12.     ReDim strFld(1 To rs.Fields.Count)
  13.    
  14.     For i = 1 To rs.Fields.Count
  15.         strFld(i) = rs.Fields(i - 1)
  16.     Next
  17.    
  18.     rs.Close
  19.    
  20.     rs.Open "表", cnn, adOpenKeyset, adLockReadOnly
  21.    
  22.     For i = 1 To rs.Fields.Count
  23.         strSQL = strSQL & "字段" & i & " as " & strFld(i) & ","
  24.     Next
  25.    
  26.     If Len(strSQL) <> 0 Then
  27.         strSQL = Left(strSQL, Len(strSQL) - 1)
  28.     End If
  29.    
  30.     strSQL = "select " & strSQL & " into A from 表"
  31.    
  32.     CurrentDb.Execute strSQL
  33.    
  34.     DoCmd.OpenTable "A"
  35.    
  36.     Set rs = Nothing
  37.     Set cnn = Nothing
  38.    
  39. End Sub
复制代码
再次运行代码时,还需判断A是否存在,如有则先删除它
6#
发表于 2012-5-7 17:35:54 | 只看该作者
  1. Public Function tblExist(tblName As String) As Boolean
  2.     Dim tbl As TableDef
  3.     tblExist = False
  4.     For Each tbl In CurrentDb.TableDefs
  5.         If tbl.Name = tblName Then
  6.             tblExist = True
  7.             Exit For
  8.         End If
  9.     Next
  10. End Function
复制代码
  1. Private Sub Command0_Click()
  2.     Dim rs As New ADODB.Recordset
  3.     Dim cnn As New ADODB.Connection
  4.     Dim strFld() As String
  5.     Dim strSQL As String
  6.     Dim i As Integer
  7.     Set cnn = CurrentProject.Connection
  8.     If tblExist("A") Then
  9.         DoCmd.DeleteObject acTable, "A"
  10.     End If
  11.     rs.Open "标题", cnn, adOpenKeyset, adLockReadOnly
  12.     ReDim strFld(1 To rs.Fields.Count)
  13.     For i = 1 To rs.Fields.Count
  14.         strFld(i) = rs.Fields(i - 1)
  15.     Next
  16.     rs.Close
  17.     rs.Open "表", cnn, adOpenKeyset, adLockReadOnly
  18.     For i = 1 To rs.Fields.Count
  19.         strSQL = strSQL & "字段" & i & " as " & strFld(i) & ","
  20.     Next
  21.     If Len(strSQL) <> 0 Then
  22.         strSQL = Left(strSQL, Len(strSQL) - 1)
  23.     End If
  24.     strSQL = "select " & strSQL & " into A from 表"
  25.     CurrentDb.Execute strSQL
  26.     DoCmd.OpenTable "A"
  27.     Set rs = Nothing
  28.     Set cnn = Nothing
  29. End Sub
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-9 06:32 , Processed in 0.087880 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表