下午好,
我想取消透視訪問表。我在 Access 中有近一百個列和一個帶有 ID 的列,我想取消透視,將除 de ID 之外的所有列考慮到一個稱為“型別”的列中(例如)。

我如何從 Access 中獲取它?不管是通過 SQL 查詢還是 VBA。
提前謝謝你。
uj5u.com熱心網友回復:
似乎那些SELECT ...對 OP 不起作用的方法可以嘗試用“愚蠢”的代碼來做。假設你有表格tblSource,tblTargetwheretblTarget有 fields ID,typeand是 tblSource 中的第一個欄位val。ID然后以下代碼將“取消透視”資料
Option Compare Database
Option Explicit
Sub stupidUnpivot()
Dim db As Database
Set db = CurrentDb
Dim rsSrc As Recordset
Set rsSrc = db.OpenRecordset("SELECT * FROM tblSource")
Dim rsTrg As Recordset
Set rsTrg = db.OpenRecordset("SELECT * FROM tblTarget")
Dim i As Long
rsSrc.MoveFirst
Do
With rsTrg
' every row in tblSoruce regardless of the number of colummns
' will be written to tblTarget in the fields ID, type and val
For i = 1 To rsSrc.Fields.Count - 1
.AddNew
.Fields("ID").Value = rsSrc.Fields(0).Value
.Fields("type").Value = rsSrc.Fields(i).Name
.Fields("val").Value = rsSrc.Fields(i).Value
.Update
Next i
End With
rsSrc.MoveNext
Loop Until rsSrc.EOF
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/468355.html
