MS Accessでは、選択クエリの返された結果に新しい列を挿入します。新しい列は、すべての行で同じ値を持ちます。たとえば、私の選択は列A、Bを返し、選択クエリによって作成された新しい列をCにしたいです。
A B C
----------
a1 b1 c
a2 b2 c
a3 b3 c
select A, B, 'c' as C
from MyTable
SELECT field1、field2、 'example' AS newfield FROM TABLE1これにより、「newfield」という列が出力に追加され、その値は常に「example」になります。
それは、その列で何をしたいかによって異なります。クライアント側で更新できる新しい列をレコードセットに追加する例を次に示します。
Sub MSDataShape_AddNewCol()
Dim rs As ADODB.Recordset
Set rs = CreateObject("ADODB.Recordset")
With rs
.ActiveConnection = _
"Provider=MSDataShape;" & _
"Data Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\Tempo\New_Jet_DB.mdb"
.Source = _
"SHAPE {" & _
" SELECT ExistingField" & _
" FROM ExistingTable" & _
" ORDER BY ExistingField" & _
"} APPEND NEW adNumeric(5, 4) AS NewField"
.LockType = adLockBatchOptimistic
.Open
Dim i As Long
For i = 0 To .RecordCount - 1
.Fields("NewField").Value = Round(.Fields("ExistingField").Value, 4)
.MoveNext
Next
rs.Save "C:\rs.xml", adPersistXML
End With
End Sub