it-swarm.com.de

So erstellen Sie eine neue Spalte in einer ausgewählten Abfrage

In MS Access möchte ich eine neue Spalte in das zurückgegebene Ergebnis einer Auswahlabfrage einfügen. Die neue Spalte hat für jede Zeile den gleichen Wert. Beispielsweise gibt meine Auswahl die Spalten A, B zurück und ich möchte, dass C die neue Spalte ist, die durch die Auswahlabfrage erstellt wurde:

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 Dies fügt der Ausgabe eine Spalte mit dem Namen "newfield" hinzu und ihr Wert ist immer "example".

5
Chenthil

Es hängt davon ab, was Sie mit dieser Spalte machen wollten, z. Hier ist ein Beispiel für das Anhängen einer neuen Spalte an ein Recordset, das clientseitig aktualisiert werden kann:

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