web-dev-qa-db-ja.com

選択クエリで新しい列を作成する方法

MS Accessでは、選択クエリの返された結果に新しい列を挿入します。新しい列は、すべての行で同じ値を持ちます。たとえば、私の選択は列A、Bを返し、選択クエリによって作成された新しい列をCにしたいです。

A   B   C
----------
a1  b1  c
a2  b2  c
a3  b3  c
22
Martin08
select A, B, 'c' as C
from MyTable
45
RedFilter

SELECT field1、field2、 'example' AS newfield FROM TABLE1これにより、「newfield」という列が出力に追加され、その値は常に「example」になります。

5
Chenthil

それは、その列で何をしたいかによって異なります。クライアント側で更新できる新しい列をレコードセットに追加する例を次に示します。

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
1
onedaywhen